diff --git a/src/TextMateSharp.Grammars/RegistryOptions.cs b/src/TextMateSharp.Grammars/RegistryOptions.cs index abf156b..608ddc5 100644 --- a/src/TextMateSharp.Grammars/RegistryOptions.cs +++ b/src/TextMateSharp.Grammars/RegistryOptions.cs @@ -333,8 +333,14 @@ string GetThemeFile(ThemeName name) return "hc_black.json"; case ThemeName.Dracula: return "dracula-color-theme.json"; + case ThemeName.AtomOneLight: + return "atom-one-light-color-theme.json"; case ThemeName.AtomOneDark: return "atom-one-dark-color-theme.json"; + case ThemeName.VisualStudioLight: + return "visual-studio-light-theme.json"; + case ThemeName.VisualStudioDark: + return "visual-studio-dark-theme.json"; } return null; @@ -351,4 +357,4 @@ static bool HasGrammar(string id, List grammars) return false; } } -} \ No newline at end of file +} diff --git a/src/TextMateSharp.Grammars/Resources/Themes/atom-one-light-color-theme.json b/src/TextMateSharp.Grammars/Resources/Themes/atom-one-light-color-theme.json new file mode 100644 index 0000000..d73fbcc --- /dev/null +++ b/src/TextMateSharp.Grammars/Resources/Themes/atom-one-light-color-theme.json @@ -0,0 +1,204 @@ +{ + "name": "One Light", + "type": "light", + "colors": { + "editor.background": "#fafafa", + "editor.foreground": "#383a42", + "editor.lineHighlightBackground": "#f0f0f0", + "editorCursor.foreground": "#526fff", + "editorWhitespace.foreground": "#d4d4d4", + "editorIndentGuide.background": "#e0e0e0", + "editorIndentGuide.activeBackground": "#c0c0c0", + "editor.selectionBackground": "#d4d4d4", + "editor.selectionHighlightBackground": "#e0e0e0", + "editor.wordHighlightBackground": "#e0e0e0", + "editor.wordHighlightStrongBackground": "#d0d0d0", + "editor.findMatchBackground": "#b4d8fd", + "editor.findMatchHighlightBackground": "#b4d8fd80", + "editor.lineNumber.foreground": "#a0a0a0", + "editor.lineNumber.activeForeground": "#383a42", + "editorBracketMatch.background": "#e0e0e0", + "editorBracketMatch.border": "#a0a0a0", + + "dropdown.background": "#ffffff", + "dropdown.border": "#e0e0e0", + "dropdown.foreground": "#383a42", + + "list.activeSelectionBackground": "#e0e0e0", + "list.activeSelectionForeground": "#383a42", + "list.focusBackground": "#e0e0e0", + "list.hoverBackground": "#f0f0f0", + "list.inactiveSelectionBackground": "#e8e8e8", + "list.highlightForeground": "#4078f2", + + "sideBar.background": "#f5f5f5", + "sideBar.foreground": "#383a42", + "sideBarSectionHeader.background": "#e8e8e8", + "sideBarSectionHeader.foreground": "#383a42", + + "statusBar.background": "#e8e8e8", + "statusBar.foreground": "#383a42", + "statusBar.debuggingBackground": "#e8e8e8", + "statusBar.noFolderBackground": "#e8e8e8", + "statusBarItem.remoteBackground": "#d0d0d0", + + "activityBar.background": "#f5f5f5", + "activityBar.foreground": "#383a42", + "activityBarBadge.background": "#4078f2", + "activityBarBadge.foreground": "#ffffff", + + "titleBar.activeBackground": "#f5f5f5", + "titleBar.activeForeground": "#383a42", + "titleBar.inactiveBackground": "#f5f5f5", + "titleBar.inactiveForeground": "#a0a0a0", + + "tab.activeBackground": "#fafafa", + "tab.activeForeground": "#383a42", + "tab.inactiveBackground": "#f0f0f0", + "tab.inactiveForeground": "#a0a0a0", + "tab.border": "#f0f0f0", + "tab.lastPinnedBorder": "#d0d0d0", + + "peekView.border": "#4078f2", + "peekViewResult.background": "#f5f5f5", + "peekViewEditor.background": "#fafafa", + "peekViewTitle.background": "#f0f0f0", + + "terminal.ansiBlack": "#383a42", + "terminal.ansiRed": "#e45649", + "terminal.ansiGreen": "#50a14f", + "terminal.ansiYellow": "#c18401", + "terminal.ansiBlue": "#4078f2", + "terminal.ansiMagenta": "#a626a4", + "terminal.ansiCyan": "#0184bc", + "terminal.ansiWhite": "#fafafa", + "terminal.ansiBrightBlack": "#a0a0a0", + "terminal.ansiBrightRed": "#e45649", + "terminal.ansiBrightGreen": "#50a14f", + "terminal.ansiBrightYellow": "#c18401", + "terminal.ansiBrightBlue": "#4078f2", + "terminal.ansiBrightMagenta": "#a626a4", + "terminal.ansiBrightCyan": "#0184bc", + "terminal.ansiBrightWhite": "#ffffff" + }, + "tokenColors": [ + { + "scope": ["comment", "punctuation.definition.comment"], + "settings": { + "foreground": "#a0a1a7", + "fontStyle": "italic" + } + }, + { + "scope": ["string", "punctuation.definition.string"], + "settings": { + "foreground": "#50a14f" + } + }, + { + "scope": ["constant.numeric", "constant.language"], + "settings": { + "foreground": "#986801" + } + }, + { + "scope": ["keyword", "storage.type", "storage.modifier"], + "settings": { + "foreground": "#a626a4" + } + }, + { + "scope": ["entity.name.function", "support.function"], + "settings": { + "foreground": "#4078f2" + } + }, + { + "scope": ["entity.name.class", "entity.name.type"], + "settings": { + "foreground": "#c18401" + } + }, + { + "scope": ["variable", "variable.parameter"], + "settings": { + "foreground": "#e45649" + } + }, + { + "scope": ["entity.name.tag", "punctuation.definition.tag"], + "settings": { + "foreground": "#e45649" + } + }, + { + "scope": ["entity.other.attribute-name"], + "settings": { + "foreground": "#986801" + } + }, + { + "scope": ["invalid"], + "settings": { + "foreground": "#ff0000", + "fontStyle": "underline" + } + }, + { + "scope": ["markup.heading"], + "settings": { + "foreground": "#c18401", + "fontStyle": "bold" + } + }, + { + "scope": ["markup.bold"], + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": ["markup.italic"], + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": ["markup.strikethrough"], + "settings": { + "fontStyle": "strikethrough" + } + }, + { + "scope": ["markup.underline.link"], + "settings": { + "foreground": "#4078f2" + } + }, + { + "scope": ["token.info-token"], + "settings": { + "foreground": "#4078f2" + } + }, + { + "scope": ["token.warn-token"], + "settings": { + "foreground": "#c18401" + } + }, + { + "scope": ["token.error-token"], + "settings": { + "foreground": "#e45649" + } + }, + { + "scope": ["token.debug-token"], + "settings": { + "foreground": "#a626a4" + } + } + ], + "semanticHighlighting": true +} \ No newline at end of file diff --git a/src/TextMateSharp.Grammars/Resources/Themes/visual-studio-dark-theme.json b/src/TextMateSharp.Grammars/Resources/Themes/visual-studio-dark-theme.json new file mode 100644 index 0000000..f39d594 --- /dev/null +++ b/src/TextMateSharp.Grammars/Resources/Themes/visual-studio-dark-theme.json @@ -0,0 +1,204 @@ +{ + "name": "Visual Studio Dark", + "type": "dark", + "colors": { + "editor.background": "#1E1E1E", + "editor.foreground": "#D4D4D4", + "editor.lineHighlightBackground": "#2D2D30", + "editorCursor.foreground": "#569CD6", + "editorWhitespace.foreground": "#404040", + "editorIndentGuide.background": "#404040", + "editorIndentGuide.activeBackground": "#707070", + "editor.selectionBackground": "#264F78", + "editor.selectionHighlightBackground": "#ADD6FF26", + "editor.wordHighlightBackground": "#264F78", + "editor.wordHighlightStrongBackground": "#004F78", + "editor.findMatchBackground": "#515C6A", + "editor.findMatchHighlightBackground": "#515C6A80", + "editor.lineNumber.foreground": "#2B91AF", + "editor.lineNumber.activeForeground": "#D4D4D4", + "editorBracketMatch.background": "#515C6A", + "editorBracketMatch.border": "#D4D4D4", + + "dropdown.background": "#252526", + "dropdown.border": "#454545", + "dropdown.foreground": "#D4D4D4", + + "list.activeSelectionBackground": "#3399FF", + "list.activeSelectionForeground": "#FFFFFF", + "list.focusBackground": "#062F4A", + "list.hoverBackground": "#2A2D2E", + "list.inactiveSelectionBackground": "#37373D", + "list.highlightForeground": "#0097FB", + + "sideBar.background": "#252526", + "sideBar.foreground": "#BBBBBB", + "sideBarSectionHeader.background": "#333337", + "sideBarSectionHeader.foreground": "#D4D4D4", + + "statusBar.background": "#007ACC", + "statusBar.foreground": "#FFFFFF", + "statusBar.debuggingBackground": "#007ACC", + "statusBar.noFolderBackground": "#007ACC", + "statusBarItem.remoteBackground": "#005F8C", + + "activityBar.background": "#333337", + "activityBar.foreground": "#D4D4D4", + "activityBarBadge.background": "#007ACC", + "activityBarBadge.foreground": "#FFFFFF", + + "titleBar.activeBackground": "#3C3C40", + "titleBar.activeForeground": "#D4D4D4", + "titleBar.inactiveBackground": "#3C3C40", + "titleBar.inactiveForeground": "#A0A0A0", + + "tab.activeBackground": "#1E1E1E", + "tab.activeForeground": "#D4D4D4", + "tab.inactiveBackground": "#2D2D30", + "tab.inactiveForeground": "#A0A0A0", + "tab.border": "#1E1E1E", + "tab.lastPinnedBorder": "#454545", + + "peekView.border": "#007ACC", + "peekViewResult.background": "#252526", + "peekViewEditor.background": "#1E1E1E", + "peekViewTitle.background": "#1E1E1E", + + "terminal.ansiBlack": "#1E1E1E", + "terminal.ansiRed": "#F44747", + "terminal.ansiGreen": "#608B4E", + "terminal.ansiYellow": "#DCDCAA", + "terminal.ansiBlue": "#569CD6", + "terminal.ansiMagenta": "#C586C0", + "terminal.ansiCyan": "#4EC9B0", + "terminal.ansiWhite": "#D4D4D4", + "terminal.ansiBrightBlack": "#808080", + "terminal.ansiBrightRed": "#F44747", + "terminal.ansiBrightGreen": "#608B4E", + "terminal.ansiBrightYellow": "#DCDCAA", + "terminal.ansiBrightBlue": "#569CD6", + "terminal.ansiBrightMagenta": "#C586C0", + "terminal.ansiBrightCyan": "#4EC9B0", + "terminal.ansiBrightWhite": "#FFFFFF" + }, + "tokenColors": [ + { + "scope": ["comment", "punctuation.definition.comment"], + "settings": { + "foreground": "#6A9955", + "fontStyle": "italic" + } + }, + { + "scope": ["string", "punctuation.definition.string"], + "settings": { + "foreground": "#CE9178" + } + }, + { + "scope": ["constant.numeric", "constant.language"], + "settings": { + "foreground": "#B5CEA8" + } + }, + { + "scope": ["keyword", "storage.type", "storage.modifier"], + "settings": { + "foreground": "#569CD6" + } + }, + { + "scope": ["entity.name.function", "support.function"], + "settings": { + "foreground": "#DCDCAA" + } + }, + { + "scope": ["entity.name.class", "entity.name.type"], + "settings": { + "foreground": "#4EC9B0" + } + }, + { + "scope": ["variable", "variable.parameter"], + "settings": { + "foreground": "#9CDCFE" + } + }, + { + "scope": ["entity.name.tag", "punctuation.definition.tag"], + "settings": { + "foreground": "#569CD6" + } + }, + { + "scope": ["entity.other.attribute-name"], + "settings": { + "foreground": "#9CDCFE" + } + }, + { + "scope": ["invalid"], + "settings": { + "foreground": "#F44747", + "fontStyle": "underline" + } + }, + { + "scope": ["markup.heading"], + "settings": { + "foreground": "#569CD6", + "fontStyle": "bold" + } + }, + { + "scope": ["markup.bold"], + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": ["markup.italic"], + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": ["markup.strikethrough"], + "settings": { + "fontStyle": "strikethrough" + } + }, + { + "scope": ["markup.underline.link"], + "settings": { + "foreground": "#569CD6" + } + }, + { + "scope": ["token.info-token"], + "settings": { + "foreground": "#6796E6" + } + }, + { + "scope": ["token.warn-token"], + "settings": { + "foreground": "#CD9731" + } + }, + { + "scope": ["token.error-token"], + "settings": { + "foreground": "#F44747" + } + }, + { + "scope": ["token.debug-token"], + "settings": { + "foreground": "#B267E6" + } + } + ], + "semanticHighlighting": true +} \ No newline at end of file diff --git a/src/TextMateSharp.Grammars/Resources/Themes/visual-studio-light-theme.json b/src/TextMateSharp.Grammars/Resources/Themes/visual-studio-light-theme.json new file mode 100644 index 0000000..da78c33 --- /dev/null +++ b/src/TextMateSharp.Grammars/Resources/Themes/visual-studio-light-theme.json @@ -0,0 +1,204 @@ +{ + "name": "Visual Studio Light", + "type": "light", + "colors": { + "editor.background": "#FFFFFF", + "editor.foreground": "#000000", + "editor.lineHighlightBackground": "#F5F5F5", + "editorCursor.foreground": "#000000", + "editorWhitespace.foreground": "#C8C8C8", + "editorIndentGuide.background": "#EBEBEB", + "editorIndentGuide.activeBackground": "#D6D6D6", + "editor.selectionBackground": "#ADD6FF", + "editor.selectionHighlightBackground": "#ADD6FF80", + "editor.wordHighlightBackground": "#ADD6FF40", + "editor.wordHighlightStrongBackground": "#ADD6FF60", + "editor.findMatchBackground": "#A9D1FF", + "editor.findMatchHighlightBackground": "#A9D1FF80", + "editor.lineNumber.foreground": "#2B91AF", + "editor.lineNumber.activeForeground": "#000000", + "editorBracketMatch.background": "#D6D6D6", + "editorBracketMatch.border": "#767676", + + "dropdown.background": "#FFFFFF", + "dropdown.border": "#E5E5E5", + "dropdown.foreground": "#000000", + + "list.activeSelectionBackground": "#3399FF", + "list.activeSelectionForeground": "#FFFFFF", + "list.focusBackground": "#D6D6D6", + "list.hoverBackground": "#F0F0F0", + "list.inactiveSelectionBackground": "#E5E5E5", + "list.highlightForeground": "#0066CC", + + "sideBar.background": "#F5F5F5", + "sideBar.foreground": "#000000", + "sideBarSectionHeader.background": "#E5E5E5", + "sideBarSectionHeader.foreground": "#000000", + + "statusBar.background": "#007ACC", + "statusBar.foreground": "#FFFFFF", + "statusBar.debuggingBackground": "#007ACC", + "statusBar.noFolderBackground": "#007ACC", + "statusBarItem.remoteBackground": "#005F8C", + + "activityBar.background": "#F5F5F5", + "activityBar.foreground": "#000000", + "activityBarBadge.background": "#007ACC", + "activityBarBadge.foreground": "#FFFFFF", + + "titleBar.activeBackground": "#F5F5F5", + "titleBar.activeForeground": "#000000", + "titleBar.inactiveBackground": "#F5F5F5", + "titleBar.inactiveForeground": "#767676", + + "tab.activeBackground": "#FFFFFF", + "tab.activeForeground": "#000000", + "tab.inactiveBackground": "#F5F5F5", + "tab.inactiveForeground": "#767676", + "tab.border": "#E5E5E5", + "tab.lastPinnedBorder": "#D6D6D6", + + "peekView.border": "#007ACC", + "peekViewResult.background": "#F5F5F5", + "peekViewEditor.background": "#FFFFFF", + "peekViewTitle.background": "#F5F5F5", + + "terminal.ansiBlack": "#000000", + "terminal.ansiRed": "#A31515", + "terminal.ansiGreen": "#008000", + "terminal.ansiYellow": "#795E26", + "terminal.ansiBlue": "#0451A5", + "terminal.ansiMagenta": "#800080", + "terminal.ansiCyan": "#098658", + "terminal.ansiWhite": "#D4D4D4", + "terminal.ansiBrightBlack": "#666666", + "terminal.ansiBrightRed": "#A31515", + "terminal.ansiBrightGreen": "#008000", + "terminal.ansiBrightYellow": "#795E26", + "terminal.ansiBrightBlue": "#0451A5", + "terminal.ansiBrightMagenta": "#800080", + "terminal.ansiBrightCyan": "#098658", + "terminal.ansiBrightWhite": "#FFFFFF" + }, + "tokenColors": [ + { + "scope": ["comment", "punctuation.definition.comment"], + "settings": { + "foreground": "#008000", + "fontStyle": "italic" + } + }, + { + "scope": ["string", "punctuation.definition.string"], + "settings": { + "foreground": "#A31515" + } + }, + { + "scope": ["constant.numeric", "constant.language"], + "settings": { + "foreground": "#098658" + } + }, + { + "scope": ["keyword", "storage.type", "storage.modifier"], + "settings": { + "foreground": "#0000FF" + } + }, + { + "scope": ["entity.name.function", "support.function"], + "settings": { + "foreground": "#795E26" + } + }, + { + "scope": ["entity.name.class", "entity.name.type"], + "settings": { + "foreground": "#267F99" + } + }, + { + "scope": ["variable", "variable.parameter"], + "settings": { + "foreground": "#001080" + } + }, + { + "scope": ["entity.name.tag", "punctuation.definition.tag"], + "settings": { + "foreground": "#800000" + } + }, + { + "scope": ["entity.other.attribute-name"], + "settings": { + "foreground": "#FF0000" + } + }, + { + "scope": ["invalid"], + "settings": { + "foreground": "#FF0000", + "fontStyle": "underline" + } + }, + { + "scope": ["markup.heading"], + "settings": { + "foreground": "#800000", + "fontStyle": "bold" + } + }, + { + "scope": ["markup.bold"], + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": ["markup.italic"], + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": ["markup.strikethrough"], + "settings": { + "fontStyle": "strikethrough" + } + }, + { + "scope": ["markup.underline.link"], + "settings": { + "foreground": "#0451A5" + } + }, + { + "scope": ["token.info-token"], + "settings": { + "foreground": "#0451A5" + } + }, + { + "scope": ["token.warn-token"], + "settings": { + "foreground": "#795E26" + } + }, + { + "scope": ["token.error-token"], + "settings": { + "foreground": "#A31515" + } + }, + { + "scope": ["token.debug-token"], + "settings": { + "foreground": "#800080" + } + } + ], + "semanticHighlighting": true +} \ No newline at end of file diff --git a/src/TextMateSharp.Grammars/ThemeName.cs b/src/TextMateSharp.Grammars/ThemeName.cs index 77bb5ed..3688b5c 100644 --- a/src/TextMateSharp.Grammars/ThemeName.cs +++ b/src/TextMateSharp.Grammars/ThemeName.cs @@ -19,6 +19,9 @@ public enum ThemeName HighContrastLight, HighContrastDark, Dracula, - AtomOneDark + AtomOneLight, + AtomOneDark, + VisualStudioLight, + VisualStudioDark, } }