🚧 Refactor basic services
This commit is contained in:
111
internal/models/extension.go
Normal file
111
internal/models/extension.go
Normal file
@@ -0,0 +1,111 @@
|
||||
package models
|
||||
|
||||
// ExtensionConfig 扩展配置项
|
||||
type ExtensionConfig map[string]interface{}
|
||||
|
||||
// ExtensionKey 扩展标识符
|
||||
type ExtensionKey string
|
||||
|
||||
// Extension 扩展配置
|
||||
type Extension struct {
|
||||
Key ExtensionKey `json:"key"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Config ExtensionConfig `json:"config"`
|
||||
}
|
||||
|
||||
const (
|
||||
// 编辑增强扩展
|
||||
ExtensionRainbowBrackets ExtensionKey = "rainbowBrackets" // 彩虹括号
|
||||
ExtensionHyperlink ExtensionKey = "hyperlink" // 超链接
|
||||
ExtensionColorSelector ExtensionKey = "colorSelector" // 颜色选择器
|
||||
ExtensionFold ExtensionKey = "fold" // 代码折叠
|
||||
ExtensionTranslator ExtensionKey = "translator" // 划词翻译
|
||||
ExtensionMarkdown ExtensionKey = "markdown" // Markdown渲染
|
||||
ExtensionHighlightWhitespace ExtensionKey = "highlightWhitespace" // 显示空白字符
|
||||
ExtensionHighlightTrailingWhitespace ExtensionKey = "highlightTrailingWhitespace" // 高亮行尾空白
|
||||
ExtensionMinimap ExtensionKey = "minimap" // 小地图
|
||||
ExtensionLineNumbers ExtensionKey = "lineNumbers" // 行号显示
|
||||
ExtensionContextMenu ExtensionKey = "contextMenu" // 上下文菜单
|
||||
ExtensionSearch ExtensionKey = "search" // 搜索功能
|
||||
ExtensionHttpClient ExtensionKey = "httpClient" // HTTP 客户端
|
||||
)
|
||||
|
||||
// NewDefaultExtensions 创建默认扩展配置
|
||||
func NewDefaultExtensions() []Extension {
|
||||
return []Extension{
|
||||
// 编辑增强扩展
|
||||
{
|
||||
Key: ExtensionRainbowBrackets,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionHyperlink,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionColorSelector,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionFold,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionTranslator,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionMarkdown,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionHighlightWhitespace,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionHighlightTrailingWhitespace,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
|
||||
// UI增强扩展
|
||||
{
|
||||
Key: ExtensionMinimap,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{
|
||||
"displayText": "characters",
|
||||
"showOverlay": "always",
|
||||
"autohide": false,
|
||||
},
|
||||
},
|
||||
{
|
||||
Key: ExtensionLineNumbers,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionContextMenu,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
|
||||
// 工具扩展
|
||||
{
|
||||
Key: ExtensionSearch,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
{
|
||||
Key: ExtensionHttpClient,
|
||||
Enabled: true,
|
||||
Config: ExtensionConfig{},
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user