112 lines
3.1 KiB
Go
112 lines
3.1 KiB
Go
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{},
|
|
},
|
|
}
|
|
}
|