diff --git a/extensions/theme-colorful-defaults/package.json b/extensions/theme-colorful-defaults/package.json deleted file mode 100644 index 01514030f09..00000000000 --- a/extensions/theme-colorful-defaults/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "theme-colorful-defaults", - "displayName": "Colorful Default Themes - Please provide feedback in issue 1849", - "description": "The default VS Code Light and Dark themes with a touch of color. We are considering adding these to the default themes in the January release. Please provide feedback in issue 1849.", - "categories": [ "Themes" ], - "version": "0.1.10", - "publisher": "vscode", - "engines": { "vscode": "*" }, - "contributes": { - "themes": [ - { - "label": "Dark+ (default dark)", - "uiTheme": "vs-dark", - "path": "./themes/dark_plus.json" - }, - { - "label": "Light+ (default light)", - "uiTheme": "vs", - "path": "./themes/light_plus.json" - } - ] - } -} \ No newline at end of file diff --git a/extensions/theme-defaults/package.json b/extensions/theme-defaults/package.json new file mode 100644 index 00000000000..cd740eca74a --- /dev/null +++ b/extensions/theme-defaults/package.json @@ -0,0 +1,38 @@ +{ + "name": "theme-defaults", + "displayName": "Default Themes", + "description": "The default light and dark themes (Plus and Visual Studio)", + "categories": [ "Themes" ], + "version": "0.1.10", + "publisher": "vscode", + "engines": { "vscode": "*" }, + "contributes": { + "themes": [ + { + "label": "Dark+ (default dark)", + "uiTheme": "vs-dark", + "path": "./themes/dark_plus.json" + }, + { + "label": "Light+ (default light)", + "uiTheme": "vs", + "path": "./themes/light_plus.json" + }, + { + "label": "Dark (Visual Studio)", + "uiTheme": "vs-dark", + "path": "./themes/dark_vs.json" + }, + { + "label": "Light (Visual Studio)", + "uiTheme": "vs", + "path": "./themes/light_vs.json" + }, + { + "label": "High Contrast", + "uiTheme": "hc-black", + "path": "./themes/hc_black.json" + } + ] + } +} \ No newline at end of file diff --git a/extensions/theme-colorful-defaults/themes/dark_plus.json b/extensions/theme-defaults/themes/dark_plus.json similarity index 77% rename from extensions/theme-colorful-defaults/themes/dark_plus.json rename to extensions/theme-defaults/themes/dark_plus.json index e409307ec05..b4ce6f94481 100644 --- a/extensions/theme-colorful-defaults/themes/dark_plus.json +++ b/extensions/theme-defaults/themes/dark_plus.json @@ -24,7 +24,7 @@ "name": "Function declarations", "scope": [ "entity.name.function", - "entity.method.name" + "entity.name.method" ], "settings": { "foreground": "#DCDCAA" @@ -59,26 +59,12 @@ { "name": "CSS property value", "scope": [ - "css.support.property-value", - "css.constant.rgb-value" + "support.property-value.css", + "constant.rgb-value.css" ], "settings": { "foreground": "#CE9178" } - }, - { - "name": "JSON keys", - "scope": "support.type.property-name", - "settings": { - "foreground": "#9CDCFE" - } - }, - { - "name": "LESS workaround", - "scope": "keyword.control.less", - "settings": { - "foreground": "#D7BA7D" - } } ] } \ No newline at end of file diff --git a/extensions/theme-colorful-defaults/themes/dark_vs.json b/extensions/theme-defaults/themes/dark_vs.json similarity index 96% rename from extensions/theme-colorful-defaults/themes/dark_vs.json rename to extensions/theme-defaults/themes/dark_vs.json index 2ebfe58ddd5..32a857c8924 100644 --- a/extensions/theme-colorful-defaults/themes/dark_vs.json +++ b/extensions/theme-defaults/themes/dark_vs.json @@ -1,19 +1,6 @@ { "name": "Dark Visual Studio", "settings": [ - { - "scope": "string", - "settings": { - "foreground": "#ce9178" - } - }, - { - "scope": "string.escape", - "settings": { - "foreground": "#ce9178" - } - }, - { "scope": "emphasis", "settings": { @@ -248,6 +235,12 @@ "settings": { "foreground": "#b5cea8" } + }, + { + "scope": "metatag.php", + "settings": { + "foreground": "#569cd6" + } } ] } \ No newline at end of file diff --git a/extensions/theme-defaults/themes/hc_black.json b/extensions/theme-defaults/themes/hc_black.json new file mode 100644 index 00000000000..80b4f7164af --- /dev/null +++ b/extensions/theme-defaults/themes/hc_black.json @@ -0,0 +1,228 @@ +{ + "name": "Dark Visual Studio", + "settings": [ + { + "scope": "emphasis", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "strong", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "header", + "settings": { + "foreground": "#000080" + } + }, + + { + "scope": "comment", + "settings": { + "foreground": "#7ca668" + } + }, + { + "scope": "constant.language", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "constant.numeric", + "settings": { + "foreground": "#b5cea8" + } + }, + { + "scope": "constant.regexp", + "settings": { + "foreground": "#b46695" + } + }, + { + "scope": "constant.rgb-value", + "settings": { + "foreground": "#d4d4d4" + } + }, + { + "scope": "entity.name.tag", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "entity.name.selector", + "settings": { + "foreground": "#d7ba7d" + } + }, + { + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#9cdcfe" + } + }, + { + "scope": "entity.other.attribute-name.css", + "settings": { + "foreground": "#d7ba7d" + } + }, + { + "scope": "invalid", + "settings": { + "foreground": "#f44747" + } + }, + { + "scope": "markup.underline", + "settings": { + "fontStyle": "underline" + } + }, + { + "scope": "markup.bold", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "markup.heading", + "settings": { + "foreground": "#6796e6" + } + }, + { + "scope": "markup.italic", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "meta.selector", + "settings": { + "foreground": "#d7ba7d" + } + }, + { + "scope": "meta.tag", + "settings": { + "foreground": "#808080" + } + }, + { + "scope": "meta.preprocessor", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "meta.preprocessor.string", + "settings": { + "foreground": "#ce9178" + } + }, + { + "scope": "meta.preprocessor.numeric", + "settings": { + "foreground": "#b5cea8" + } + }, + { + "scope": "meta.structure.dictionary.key.python", + "settings": { + "foreground": "#9cdcfe" + } + }, + { + "scope": "storage", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "storage.type", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "storage.modifier", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "string", + "settings": { + "foreground": "#ce9178" + } + }, + { + "scope": "string.tag", + "settings": { + "foreground": "#ce9178" + } + }, + { + "scope": "string.value", + "settings": { + "foreground": "#ce9178" + } + }, + { + "scope": "string.regexp", + "settings": { + "foreground": "#d16969" + } + }, + { + "scope": "support.type.property-name", + "settings": { + "foreground": "#d4d4d4" + } + }, + { + "scope": "keyword", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "keyword.control", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "keyword.control.less", + "settings": { + "foreground": "#d7ba7d" + } + }, + { + "scope": "keyword.operator", + "settings": { + "foreground": "#d4d4d4" + } + }, + { + "scope": "keyword.operator.new", + "settings": { + "foreground": "#569cd6" + } + }, + { + "scope": "keyword.other.unit", + "settings": { + "foreground": "#b5cea8" + } + } + ] +} \ No newline at end of file diff --git a/extensions/theme-colorful-defaults/themes/light_plus.json b/extensions/theme-defaults/themes/light_plus.json similarity index 68% rename from extensions/theme-colorful-defaults/themes/light_plus.json rename to extensions/theme-defaults/themes/light_plus.json index af00c9aaab1..6f014e548e6 100644 --- a/extensions/theme-colorful-defaults/themes/light_plus.json +++ b/extensions/theme-defaults/themes/light_plus.json @@ -24,7 +24,7 @@ "name": "Function declarations", "scope": [ "entity.name.function", - "entity.method.name" + "entity.name.method" ], "settings": { "foreground": "#795E26" @@ -55,31 +55,6 @@ "settings": { "foreground": "#0000FF" } - }, - { - "name": "CSS keys", - "scope": [ - "support.type.property-name.css", - "support.type.property-name.less", - "support.type.property-name.sass" - ], - "settings": { - "foreground": "#FF0000" - } - }, - { - "name": "JSON keys", - "scope": "support.type.property-name", - "settings": { - "foreground": "#0451A5" - } - }, - { - "name": "LESS workaround", - "scope": "keyword.control.less", - "settings": { - "foreground": "#800000" - } } ] } \ No newline at end of file diff --git a/extensions/theme-colorful-defaults/themes/light_vs.json b/extensions/theme-defaults/themes/light_vs.json similarity index 96% rename from extensions/theme-colorful-defaults/themes/light_vs.json rename to extensions/theme-defaults/themes/light_vs.json index 749b4ba386f..3bc559c7dec 100644 --- a/extensions/theme-colorful-defaults/themes/light_vs.json +++ b/extensions/theme-defaults/themes/light_vs.json @@ -1,20 +1,6 @@ { "name": "Light Visual Studio", "settings": [ - { - "scope": "string", - "settings": { - "foreground": "#a31515" - } - }, - { - "scope": "string.escape", - "settings": { - "foreground": "#a31515" - } - }, - - /* Markdown */ { "scope": "emphasis", "settings": { @@ -65,7 +51,6 @@ "foreground": "#0451a5" } }, - { "name": "css tags in selectors, xml tags", "scope": "entity.name.tag", @@ -73,6 +58,12 @@ "foreground": "#800000" } }, + { + "scope": "entity.name.selector", + "settings": { + "foreground": "#800000" + } + }, { "scope": "entity.other.attribute-name", "settings": { @@ -246,6 +237,12 @@ "settings": { "foreground": "#800000" } + }, + { + "scope": "metatag.php", + "settings": { + "foreground": "#800000" + } } ] } \ No newline at end of file diff --git a/src/vs/editor/browser/widget/media/tokens.css b/src/vs/editor/browser/widget/media/tokens.css index 3d0edd0d666..8f6b57abe2b 100644 --- a/src/vs/editor/browser/widget/media/tokens.css +++ b/src/vs/editor/browser/widget/media/tokens.css @@ -3,570 +3,11 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -/* -------------------------------- Begin vs tokens -------------------------------- */ - -.monaco-editor.vs .token { color: #000000; } -.monaco-editor.vs .token.whitespace { color: rgba(51, 51, 51, 0.2) !important; } -.monaco-editor.vs .token.terminal { color: #e00000; } -.monaco-editor.vs .token.terminal.code1 { font-weight: bold; } -.monaco-editor.vs .token.string { color: #A31515; } -.monaco-editor.vs .token.string.escape { color: #A31515; } -.monaco-editor.vs .token.literal.string { color: #A31515; } -.monaco-editor.vs .token.literal.hex { color: #e07000; } -.monaco-editor.vs .token.number { color: #09885A; } -.monaco-editor.vs .token.number.hex { color: #3030c0; } -.monaco-editor.vs .token.number.octal { color: #204070; } -.monaco-editor.vs .token.number.binary { color: #e07070; } -.monaco-editor.vs .token.regexp { color: #800000; } -.monaco-editor.vs .token.delimiter { color: #000000; } -.monaco-editor.vs .token.tag { color: #800000; } -.monaco-editor.vs .token.metatag { color: #e00000; } -.monaco-editor.vs .token.attribute.name { color: red; } -.monaco-editor.vs .token.attribute.value { color: #0451A5; } -.monaco-editor.vs .token.info-token { color: #316bcd; } -.monaco-editor.vs .token.warn-token { color: #cd9731; } -.monaco-editor.vs .token.error-token { color: #cd3131; } -.monaco-editor.vs .token.debug-token { color: purple; } -/* Keywords should come at the end in order to match cases like token.keyword.string */ -.monaco-editor.vs .token.keyword { color: #0000FF; } -.monaco-editor.vs .token.keyword.flow { color: #AF00DB; } - -/* PHP */ -.monaco-editor.vs .token.metatag.php { font-weight: bold; } - -/* Ruby */ -.monaco-editor.vs .token.predefined.ruby { color: #0000FF; } - -/* Markdown */ -.monaco-editor.vs .token.emphasis { font-style: italic;} -.monaco-editor.vs .token.strong { font-weight: bold; } -.monaco-editor.vs .token.header { color: navy ;} - -/* YAML */ -.monaco-editor.vs .token.string.yaml { color: #0451A5; } - - -/* HTML */ -.monaco-editor.vs .token.delimiter.html { color: #383838; } -.monaco-editor.vs .token.metatag.content.html { color: red; } -.monaco-editor.vs .token.metatag.html { color: gray; } -.monaco-editor.vs .token.attribute.name.html { color: red; } -.monaco-editor.vs .token.attribute.value.html { color: blue; } - -.monaco-editor.vs .token.string.html { color: blue; } - -/* XML */ -.monaco-editor.vs .token.delimiter.xml { color: blue; } -.monaco-editor.vs .token.metatag.content.xml { color: red; } -.monaco-editor.vs .token.metatag.xml { color: gray; } -.monaco-editor.vs .token.attribute.name.xml { color: red; } -.monaco-editor.vs .token.attribute.value.xml { color: blue; } - -/* TypeScript */ -.monaco-editor.vs .token.entity.ts { color: black; } - - - -/* -------------------------------- End vs tokens -------------------------------- */ - -/* -------------------------------- Begin vs-dark tokens -------------------------------- */ -.monaco-editor.vs-dark .token { color: #D4D4D4; } -.monaco-editor.vs-dark .token.whitespace { color: rgba(227, 228, 226, 0.16) !important; } - -.monaco-editor.vs-dark .token.string { color: #CE9178; } -.monaco-editor.vs-dark .token.string.escape { color: #CE9178; } -.monaco-editor.vs-dark .token.literal.hex { color: #e07000; } -.monaco-editor.vs-dark .token.number { color: #B5CEA8; } -.monaco-editor.vs-dark .token.number.hex { color: #5BB498; } -.monaco-editor.vs-dark .token.number.binary { color: #3030c0; } -.monaco-editor.vs-dark .token.number.octal { color: #204070; } -.monaco-editor.vs-dark .token.regexp { color: #B46695; } -.monaco-editor.vs-dark .token.delimiter { color: #DCDCDC; } -.monaco-editor.vs-dark .token.tag { color: #569CD6; } -.monaco-editor.vs-dark .token.metatag { color: #DD6A6F; } -.monaco-editor.vs-dark .token.attribute.name { color: #9CDCFE; } -.monaco-editor.vs-dark .token.attribute.value { color: #CE9178; } - -.monaco-editor.vs-dark .token.info-token { color: #6796e6; } -.monaco-editor.vs-dark .token.warn-token { color: #cd9731; } -.monaco-editor.vs-dark .token.error-token { color: #f44747; } -.monaco-editor.vs-dark .token.debug-token { color: #b267e6; } -/* Keywords should come at the end in order to match cases like token.keyword.string */ -.monaco-editor.vs-dark .token.keyword { color: #569CD6; } -.monaco-editor.vs-dark .token.keyword.flow { color: #C586C0; } -.monaco-editor.vs-dark .token.keyword.datatype { color: #569CD6; } - -/* PHP */ -.monaco-editor.vs-dark .token.metatag.php { font-weight: bold; } - -/* Ruby */ -.monaco-editor.vs-dark .token.predefined.ruby { color: #4E94CE; } - -/* Markdown */ -.monaco-editor.vs-dark .token.emphasis { font-style: italic;} -.monaco-editor.vs-dark .token.strong { font-weight: bold; } -.monaco-editor.vs-dark .token.header { color: navy ;} - -/* YAML */ -.monaco-editor.vs-dark .token.string.yaml { color: #CE9178; } - - -/* HTML */ -.monaco-editor.vs-dark .token.delimiter.html { color: #808080; } -.monaco-editor.vs-dark .token.metatag.content.html { color: #9CDCFE; } -.monaco-editor.vs-dark .token.metatag.html { color: #569CD6; } - -.monaco-editor.vs-dark .token.string.html { color: #CE9178; } - -/* XML */ -.monaco-editor.vs-dark .token.delimiter.xml { color: #808080; } -.monaco-editor.vs-dark .token.metatag.content.xml { color: #9CDCFE; } -.monaco-editor.vs-dark .token.metatag.xml { color: #569CD6; } - -/* CSS */ -.monaco-editor.vs-dark .token.attribute.name.css { color: #9CDCFE; } -.monaco-editor.vs-dark .token.attribute.value.css { color: #C8C8C8; } -.monaco-editor.vs-dark .token.delimiter.css { color: #DCDCDC; } - -/* VSXML */ -.monaco-editor.vs-dark .token.vs { color: #608B4E; } -.monaco-editor.vs-dark .token.tag.vs { color: #949494; } -.monaco-editor.vs-dark .token.delimiter.vs { color: #585858; } -.monaco-editor.vs-dark .token.attribute.name.vs { color: #949494; } -.monaco-editor.vs-dark .token.attribute.value.vs { color: #C4C4C4; } - -/* Jade */ -.monaco-editor.vs-dark .token.tag.id.jade, -.monaco-editor.vs-dark .token.tag.class.jade { color: #4F76AC; } -.monaco-editor.vs-dark .token.interpolation.jade { color: magenta; } -.monaco-editor.vs-dark .token.interpolation.delimiter.jade { color: magenta; } - - -/* -------------------------------- End vs-dark tokens -------------------------------- */ - -/* -------------------------------- Begin hc-black tokens -------------------------------- */ -.monaco-editor.hc-black .token { color: #FFFFFF; } -.monaco-editor.hc-black .token.whitespace { color: #FFFF00 !important; } -.monaco-editor.hc-black .token.terminal { color: #569CD6; } -.monaco-editor.hc-black .token.terminal.code1 { font-weight: bold; } - -.monaco-editor.hc-black .token.string { color: #CE9178; } -.monaco-editor.hc-black .token.string.escape { color: #CE9178; } - -.monaco-editor.hc-black .token.literal.hex { color: #FFFFFF; } -.monaco-editor.hc-black .token.number { color: #FFFFFF; } -.monaco-editor.hc-black .token.number.hex { color: #FFFFFF; } -.monaco-editor.hc-black .token.number.octal { color: #FFFFFF; } -.monaco-editor.hc-black .token.number.binary { color: #FFFFFF; } -.monaco-editor.hc-black .token.regexp { color: #C0C0C0; } -.monaco-editor.hc-black .token.delimiter { color: #FFFF00; } -.monaco-editor.hc-black .token.tag { color: #569CD6; } -.monaco-editor.hc-black .token.metatag { color: #569CD6; } -.monaco-editor.hc-black .token.attribute.name { color: #569CD6; } -.monaco-editor.hc-black .token.attribute.value { color: #3FF23F; } -.monaco-editor.hc-black .token.info-token { color: #6796e6; } -.monaco-editor.hc-black .token.warn-token { color: #008000; } -.monaco-editor.hc-black .token.error-token { color: #FF0000; } -.monaco-editor.hc-black .token.debug-token { color: #b267e6; } - -/* Keywords should come at the end in order to match cases like token.keyword.string */ -.monaco-editor.hc-black .token.keyword { color: #1AEBFF; } -.monaco-editor.hc-black .token.keyword.flow { color: #C586C0; } -.monaco-editor.hc-black .token.keyword.datatype { color: #569CD6; } - -/* PHP */ -.monaco-editor.hc-black .token.metatag.php { font-weight: bold; } - -/* Ruby */ -.monaco-editor.hc-black .token.predefined.ruby { color: #4E94CE; } - -/* Markdown */ -.monaco-editor.hc-black .token.emphasis { font-style: italic;} -.monaco-editor.hc-black .token.strong { font-weight: bold; } -.monaco-editor.hc-black .token.header { color: navy ;} - -/* YAML */ -.monaco-editor.hc-black .token.string.yaml { color: #CE9178; } - -/* HTML */ -.monaco-editor.hc-black .token.delimiter.html { color: #FFFF00; } -.monaco-editor.hc-black .token.metatag.content.html { color: #1AEBFF; } -.monaco-editor.hc-black .token.metatag.html { color: #569CD6; } - -.monaco-editor.hc-black .token.string.html { color: #CE9178; } - -/* XML */ -.monaco-editor.hc-black .token.delimiter.xml { color: #FFFF00; } -.monaco-editor.hc-black .token.metatag.content.xml { color: #1AEBFF; } -.monaco-editor.hc-black .token.metatag.xml { color: #569CD6; } - -/* CSS */ -.monaco-editor.hc-black .token.attribute.name.css { color: #569CD6; } -.monaco-editor.hc-black .token.attribute.value.css { color: #3FF23F; } -.monaco-editor.hc-black .token.delimiter.css { color: #FFFF00; } - -/* VSXML */ -.monaco-editor.hc-black .token.vs { color: #FFFFFF; } -.monaco-editor.hc-black .token.tag.vs { color: #949494; } -.monaco-editor.hc-black .token.delimiter.vs { color: #585858; } -.monaco-editor.hc-black .token.attribute.name.vs { color: #949494; } -.monaco-editor.hc-black .token.attribute.value.vs { color: #C4C4C4; } - -/* Jade */ -.monaco-editor.hc-black .token.tag.string.jade { color: #CE9178; } -.monaco-editor.hc-black .token.tag.id.jade, -.monaco-editor.hc-black .token.tag.class.jade { color: #4F76AC; } -.monaco-editor.hc-black .token.interpolation.jade { color: magenta; } -.monaco-editor.hc-black .token.interpolation.delimiter.jade { color: magenta; } - -/* -------------------------------- End hc-black tokens -------------------------------- */ - - -/*****************************************************************************************/ -/************************************ TextMate Scopes ************************************/ -/*****************************************************************************************/ - -/* Standard light theme tokens */ - .monaco-editor.vs .token { color: #000000; } .monaco-editor.vs .token.whitespace { color: rgba(51, 51, 51, 0.2) !important; } -.monaco-editor.vs .token.comment { color: #008000; } - -.monaco-editor.vs .token.constant.language { color: #0000FF; } /* null, true, false... */ -.monaco-editor.vs .token.constant.numeric { color: #09885A; } -.monaco-editor.vs .token.constant.regexp { color: #811f3f; } -.monaco-editor.vs .token.constant.rgb-value { color: #0451A5; } - -/* -.monaco-editor.vs .token.constant.numeric.hex { color: #3030c0; } -.monaco-editor.vs .token.constant.numeric.octal { color: #204070; } -.monaco-editor.vs .token.constant.numeric.binary { color: #e07070; } -.monaco-editor.vs .token.constant.entity -*/ - -/*.monaco-editor.vs .token.constant.character -.monaco-editor.vs .token.constant.character.escape -.monaco-editor.vs .token.constant.language.boolean -.monaco-editor.vs .token.constant.language.null -.monaco-editor.vs .token.constant.other*/ - -/*.monaco-editor.vs .token.brace.paren -.monaco-editor.vs .token.brace.round -.monaco-editor.vs .token.brace.square -.monaco-editor.vs .token.brace.curly*/ - -.monaco-editor.vs .token.entity.name.tag { color: #800000; } /* css tags in selectors, xml tags */ -/*.monaco-editor.vs .token.entity.name.selector { color: #800000; } -.monaco-editor.vs .token.entity.other.selector { color: #800000; }*/ -.monaco-editor.vs .token.entity.other.attribute-name { color: red; } /* html, xml */ -.monaco-editor.vs .token.entity.other.attribute-name.css { color: #800000; } - -/*.monaco-editor.vs .token.entity.name.type -.monaco-editor.vs .token.entity.name.tag -.monaco-editor.vs .token.entity.name.section -.monaco-editor.vs .token.entity.other -.monaco-editor.vs .token.entity.other.inherited-class -.monaco-editor.vs .token.entity.other.attribute-name*/ - - -.monaco-editor.vs .token.invalid { color: #cd3131; } -/*.monaco-editor.vs .token.invalid.illegal -.monaco-editor.vs .token.invalid.deprecated*/ - -/*.monaco-editor.vs .token.markup*/ -.monaco-editor.vs .token.markup.underline { text-decoration: underline;} -/*.monaco-editor.vs .token.markup.underline.link*/ -.monaco-editor.vs .token.markup.bold { font-weight: bold; } -.monaco-editor.vs .token.markup.heading { color: navy ;} -.monaco-editor.vs .token.markup.italic { font-style: italic;} -/*.monaco-editor.vs .token.markup.list -.monaco-editor.vs .token.markup.list.numbered -.monaco-editor.vs .token.markup.list.unnumbered -.monaco-editor.vs .token.markup.quote -.monaco-editor.vs .token.markup.raw -.monaco-editor.vs .token.markup.other*/ - -.monaco-editor.vs .token.meta.selector { color: #800000; } /* css, parent rule of selectors */ -.monaco-editor.vs .token.meta.tag { color: #800000; } /* xml/html for tags */ -.monaco-editor.vs .token.meta.preprocessor { color: #0000FF; } -.monaco-editor.vs .token.meta.preprocessor.string { color: #A31515; } -.monaco-editor.vs .token.meta.preprocessor.numeric { color: #09885A; } -.monaco-editor.vs .token.meta.structure.dictionary.key.python { color: #0451A5; } /* python */ - -.monaco-editor.vs .token.storage { color: #0000FF; } -.monaco-editor.vs .token.storage.type { color: #0000FF; } /* repeat to match storage.type.string */ -.monaco-editor.vs .token.storage.modifier { color: #0000FF; } - -.monaco-editor.vs .token.string { color: #A31515; } -.monaco-editor.vs .token.string.tag { color: blue; } -.monaco-editor.vs .token.string.value { color: #A31515; } -/*.monaco-editor.vs .token.string.quoted -.monaco-editor.vs .token.string.quoted.single -.monaco-editor.vs .token.string.quoted.double -.monaco-editor.vs .token.string.quoted.triple -.monaco-editor.vs .token.string.quoted.other -.monaco-editor.vs .token.string.unquoted -.monaco-editor.vs .token.string.interpolated*/ -.monaco-editor.vs .token.string.regexp { color: #811f3f; } -/*.monaco-editor.vs .token.string.other*/ - -/* css, less, sass */ -.monaco-editor.vs .token.support.property-value { color: #0451A5; } /* only colored in light theme */ -.monaco-editor.vs .token.support.type.property-name.css, -.monaco-editor.vs .token.support.type.property-name.less, -.monaco-editor.vs .token.support.type.property-name.sass { color: red; } /* special, only in light theme and css */ - -/* json */ -.monaco-editor.vs .token.support.type.property-name { color: #0451A5; } - -/* -.monaco-editor.vs .token.support { color: #0000FF; } -.monaco-editor.vs .token.support.function { color: #000000; } -.monaco-editor.vs .token.support.method { color: #000000; } -.monaco-editor.vs .token.support.type.property-name { color: #0451A5; } -.monaco-editor.vs .token.support.property-value { color: #0451A5; } -.monaco-editor.vs .token.support.function -.monaco-editor.vs .token.support.class -.monaco-editor.vs .token.support.type -.monaco-editor.vs .token.support.constant -.monaco-editor.vs .token.support.variable -.monaco-editor.vs .token.support.other*/ - -/* Keywords should come at the end in order to match cases like token.keyword.string */ -.monaco-editor.vs .token.keyword { color: #0000FF; } -.monaco-editor.vs .token.keyword.control { color: #0000FF; } -.monaco-editor.vs .token.keyword.operator { color: #000000; } -.monaco-editor.vs .token.keyword.operator.new { color: #0000FF; } -.monaco-editor.vs .token.keyword.other.unit { color: #09885A; } -/*.monaco-editor.vs .token.keyword.operator -.monaco-editor.vs .token.keyword.other*/ - -/* less grammar workaround, using in selectors and values */ -.monaco-editor.vs .token.keyword.control.less { color: #800000; } - -/* -------------------------------- Begin vs-dark tokens -------------------------------- */ - .monaco-editor.vs-dark .token { color: #D4D4D4; } .monaco-editor.vs-dark .token.whitespace { color: rgba(227, 228, 226, 0.16) !important; } -.monaco-editor.vs-dark .token.comment { color: #608B4E; } - -.monaco-editor.vs-dark .token.constant.language { color: #569CD6; } /* null, true, false... */ -.monaco-editor.vs-dark .token.constant.numeric { color: #B5CEA8; } -.monaco-editor.vs-dark .token.constant.regexp { color: #646695; } -.monaco-editor.vs-dark .token.constant.rgb-value { color: #D4D4D4; } - -/* -.monaco-editor.vs-dark .token.constant { color: #569CD6; } -.monaco-editor.vs-dark .token.constant.entity { color: #CE9178; } -.monaco-editor.vs-dark .token.constant.numeric.hex { color: #5BB498; } -.monaco-editor.vs-dark .token.constant.numeric.octal { color: #5BB498; } -.monaco-editor.vs-dark .token.constant.numeric.binary { color: #e07070; } -.monaco-editor.vs-dark .token.constant.character -.monaco-editor.vs-dark .token.constant.character.escape -.monaco-editor.vs-dark .token.constant.language.boolean -.monaco-editor.vs-dark .token.constant.language.null -.monaco-editor.vs-dark .token.constant.other*/ - -/*.monaco-editor.vs-dark .token.brace.paren -.monaco-editor.vs-dark .token.brace.round -.monaco-editor.vs-dark .token.brace.square -.monaco-editor.vs-dark .token.brace.curly*/ - -.monaco-editor.vs-dark .token.entity.name.tag { color: #569CD6; } -.monaco-editor.vs-dark .token.entity.name.function { color: #D4D4D4; } -.monaco-editor.vs-dark .token.entity.name.class { color: #D4D4D4; } -.monaco-editor.vs-dark .token.entity.name.selector { color: #D7BA7D; } - -/*.monaco-editor.vs-dark .token.entity.other.selector { color: #D7BA7D; }*/ -.monaco-editor.vs-dark .token.entity.other.attribute-name { color: #9CDCFE; } -.monaco-editor.vs-dark .token.entity.other.attribute-name.css { color: #D7BA7D; } -/* -.monaco-editor.vs-dark .token.entity.name.type -.monaco-editor.vs-dark .token.entity.name.tag -.monaco-editor.vs-dark .token.entity.name.section -.monaco-editor.vs-dark .token.entity.other -.monaco-editor.vs-dark .token.entity.other.inherited-class -.monaco-editor.vs-dark .token.entity.other.attribute-name*/ - -.monaco-editor.vs-dark .token.invalid { color: #f44747; } -/*.monaco-editor.vs-dark .token.invalid.illegal -.monaco-editor.vs-dark .token.invalid.deprecated*/ - -/*.monaco-editor.vs-dark .token.markup*/ -.monaco-editor.vs-dark .token.markup.underline { text-decoration: underline;} -/*.monaco-editor.vs-dark .token.markup.underline.link*/ -.monaco-editor.vs-dark .token.markup.bold { font-weight: bold; } -.monaco-editor.vs-dark .token.markup.heading { color: #6796e6; } -.monaco-editor.vs-dark .token.markup.italic { font-style: italic;} -/*.monaco-editor.vs-dark .token.markup.list -.monaco-editor.vs-dark .token.markup.list.numbered -.monaco-editor.vs-dark .token.markup.list.unnumbered -.monaco-editor.vs-dark .token.markup.quote -.monaco-editor.vs-dark .token.markup.raw -.monaco-editor.vs-dark .token.markup.other*/ - -.monaco-editor.vs-dark .token.meta.selector { color: #D7BA7D; } -.monaco-editor.vs-dark .token.meta.tag { color: #808080; } /* gray for html/xml-tag brackets */ -.monaco-editor.vs-dark .token.meta.preprocessor { color: #569CD6; } -.monaco-editor.vs-dark .token.meta.preprocessor.string { color: #CE9178; } -.monaco-editor.vs-dark .token.meta.preprocessor.numeric { color: #B5CEA8; } -.monaco-editor.vs-dark .token.meta.structure.dictionary.key.python { color: #9CDCFE; } - -.monaco-editor.vs-dark .token.storage { color: #569CD6; } -.monaco-editor.vs-dark .token.storage.type { color: #569CD6; } /* repeat to match storage.type.string */ -.monaco-editor.vs-dark .token.storage.modifier { color: #569CD6; } - -.monaco-editor.vs-dark .token.string { color: #CE9178; } -.monaco-editor.vs-dark .token.string.tag { color: #CE9178; } -.monaco-editor.vs-dark .token.string.value { color: #CE9178; } -/*.monaco-editor.vs-dark .token.string.quoted -.monaco-editor.vs-dark .token.string.quoted.single -.monaco-editor.vs-dark .token.string.quoted.double -.monaco-editor.vs-dark .token.string.quoted.triple -.monaco-editor.vs-dark .token.string.quoted.other -.monaco-editor.vs-dark .token.string.unquoted -.monaco-editor.vs-dark .token.string.interpolated*/ -.monaco-editor.vs-dark .token.string.regexp { color: #D16969; } -/*.monaco-editor.vs-dark .token.string.other*/ - -/* css, less, sass, json */ -.monaco-editor.vs-dark .token.support.type.property-name { color: #9CDCFE; } - -/* -.monaco-editor.vs-dark .token.support -.monaco-editor.vs-dark .token.support.function -.monaco-editor.vs-dark .token.support.method -.monaco-editor.vs-dark .token.support.property-value -.monaco-editor.vs-dark .token.support.function -.monaco-editor.vs-dark .token.support.class -.monaco-editor.vs-dark .token.support.constant -.monaco-editor.vs-dark .token.support.variable -.monaco-editor.vs-dark .token.support.other*/ - - -/* Keywords should come at the end in order to match cases like token.keyword.string */ -.monaco-editor.vs-dark .token.keyword { color: #569CD6; } -.monaco-editor.vs-dark .token.keyword.control { color: #569CD6; } -.monaco-editor.vs-dark .token.keyword.control.less { color: #D7BA7D; } -.monaco-editor.vs-dark .token.keyword.operator { color: #D4D4D4; } -.monaco-editor.vs-dark .token.keyword.operator.new { color: #569CD6; } -.monaco-editor.vs-dark .token.keyword.other.unit { color: #B5CEA8; } -/*.monaco-editor.vs-dark .token.keyword.operator -.monaco-editor.vs-dark .token.keyword.other*/ - -/* -------------------------------- End vs-dark tokens -------------------------------- */ - - -/* -------------------------------- Begin hc-black tokens ----------------------------- */ - .monaco-editor.hc-black .token { color: #FFFFFF; } -.monaco-editor.hc-black .token.whitespace { color: rgba(227, 228, 226, 0.16) !important; } - -.monaco-editor.hc-black .token.comment { color: #7ca668; } - -.monaco-editor.hc-black .token.constant.language { color: #569CD6; } /* null, true, false... */ -.monaco-editor.hc-black .token.constant.numeric { color: #B5CEA8; } -.monaco-editor.hc-black .token.constant.regexp { color: #B46695; } -.monaco-editor.hc-black .token.constant.rgb-value { color: #D4D4D4; } -/* -.monaco-editor.hc-black .token.constant.language { color: #569CD6; } -.monaco-editor.hc-black .token.constant.entity { color: #CE9178; } -.monaco-editor.hc-black .token.constant.numeric.hex { color: #5BB498; } -.monaco-editor.hc-black .token.constant.numeric.octal { color: #5BB498; } -.monaco-editor.hc-black .token.constant.numeric.binary { color: #e07070; } -.monaco-editor.hc-black .token.constant.character -.monaco-editor.hc-black .token.constant.character.escape -.monaco-editor.hc-black .token.constant.language.boolean -.monaco-editor.hc-black .token.constant.language.null -.monaco-editor.hc-black .token.constant.other*/ - -/*.monaco-editor.hc-black .token.brace.paren -.monaco-editor.hc-black .token.brace.round -.monaco-editor.hc-black .token.brace.square -.monaco-editor.hc-black .token.brace.curly*/ - -.monaco-editor.hc-black .token.entity.name.tag { color: #569CD6; } -.monaco-editor.hc-black .token.entity.name.selector { color: #D7BA7D; } -/*.monaco-editor.hc-black .token.entity.other.selector { color: #D7BA7D; }*/ -.monaco-editor.hc-black .token.entity.other.attribute-name { color: #9CDCFE; } -.monaco-editor.hc-black .token.entity.other.attribute-name.css { color: #D7BA7D; } -/* -.monaco-editor.hc-black .token.entity.name.type -.monaco-editor.hc-black .token.entity.name.tag -.monaco-editor.hc-black .token.entity.name.section -.monaco-editor.hc-black .token.entity.other -.monaco-editor.hc-black .token.entity.other.inherited-class -.monaco-editor.hc-black .token.entity.other.attribute-name*/ - -.monaco-editor.hc-black .token.invalid { color: #f44747; } -/*.monaco-editor.hc-black .token.invalid.illegal -.monaco-editor.hc-black .token.invalid.deprecated*/ - -/*.monaco-editor.hc-black .token.markup*/ -.monaco-editor.hc-black .token.markup.underline { text-decoration: underline;} -/*.monaco-editor.hc-black .token.markup.underline.link*/ -.monaco-editor.hc-black .token.markup.bold { font-weight: bold; } -.monaco-editor.hc-black .token.markup.heading { color: #6796e6; } -.monaco-editor.hc-black .token.markup.italic { font-style: italic; } -/*.monaco-editor.hc-black .token.markup.list -.monaco-editor.hc-black .token.markup.list.numbered -.monaco-editor.hc-black .token.markup.list.unnumbered -.monaco-editor.hc-black .token.markup.quote -.monaco-editor.hc-black .token.markup.raw -.monaco-editor.hc-black .token.markup.other*/ - -.monaco-editor.hc-black .token.meta.selector { color: #D7BA7D; } /* css */ -.monaco-editor.hc-black .token.meta.tag { color: #808080; } /* gray for html/xml-tag brackets */ -.monaco-editor.hc-black .token.meta.preprocessor { color: #569CD6; } -.monaco-editor.hc-black .token.meta.preprocessor.string { color: #CE9178; } -.monaco-editor.hc-black .token.meta.preprocessor.numeric { color: #B5CEA8; } -.monaco-editor.hc-black .token.meta.structure.dictionary.key.python { color: #9CDCFE; } - -.monaco-editor.hc-black .token.storage { color: #569CD6; } -.monaco-editor.hc-black .token.storage.type { color: #569CD6; } /* repeat to match storage.type.string */ -.monaco-editor.hc-black .token.storage.modifier { color: #569CD6; } - - -.monaco-editor.hc-black .token.string { color: #CE9178; } -.monaco-editor.hc-black .token.string.tag { color: #CE9178; } -.monaco-editor.hc-black .token.string.value { color: #CE9178; } -/*.monaco-editor.hc-black .token.string.quoted -.monaco-editor.hc-black .token.string.quoted.single -.monaco-editor.hc-black .token.string.quoted.double -.monaco-editor.hc-black .token.string.quoted.triple -.monaco-editor.hc-black .token.string.quoted.other -.monaco-editor.hc-black .token.string.unquoted -.monaco-editor.hc-black .token.string.interpolated*/ -.monaco-editor.hc-black .token.string.regexp { color: #D16969; } -/*.monaco-editor.hc-black .token.string.other*/ - -/* css, less, sass, json */ -.monaco-editor.hc-black .token.support.type.property-name { color: #D4D4D4; } - - -/* -.monaco-editor.hc-black .token.support -.monaco-editor.hc-black .token.support.function -.monaco-editor.hc-black .token.support.method -.monaco-editor.hc-black .token.support.type -.monaco-editor.hc-black .token.support.property-value -.monaco-editor.hc-black .token.support.function -.monaco-editor.hc-black .token.support.class -.monaco-editor.hc-black .token.support.constant -.monaco-editor.hc-black .token.support.variable -.monaco-editor.hc-black .token.support.other*/ - - -/* Keywords should come at the end in order to match cases like token.keyword.string */ -.monaco-editor.hc-black .token.keyword { color: #569CD6; } -.monaco-editor.hc-black .token.keyword.control { color: #569CD6; } -.monaco-editor.hc-black .token.keyword.control.less { color: #D7BA7D; } -.monaco-editor.hc-black .token.keyword.operator { color: #D4D4D4; } -.monaco-editor.hc-black .token.keyword.operator.new { color: #569CD6; } -.monaco-editor.hc-black .token.keyword.other.unit { color: #B5CEA8; } -/*.monaco-editor.hc-black .token.keyword.operator -.monaco-editor.hc-black .token.keyword.other*/ - -/* -------------------------------- End hc-black tokens ----------------------------- */ \ No newline at end of file +.monaco-editor.hc-black .token.whitespace { color: rgba(227, 228, 226, 0.16) !important; } \ No newline at end of file diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index 032747b00f7..8d1c7078896 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -71,7 +71,6 @@ import {MainThreadConfiguration} from 'vs/workbench/api/node/extHostConfiguratio import {MainThreadLanguageFeatures} from 'vs/workbench/api/node/extHostLanguageFeatures'; import {EventService} from 'vs/platform/event/common/eventService'; import {IOptions} from 'vs/workbench/common/options'; -import themes = require('vs/platform/theme/common/themes'); import {WorkspaceContextService} from 'vs/workbench/services/workspace/common/contextService'; import {IStorageService, StorageScope, StorageEvent, StorageEventType} from 'vs/platform/storage/common/storage'; import {MainThreadStorage} from 'vs/platform/storage/common/remotable.storage'; @@ -389,18 +388,14 @@ export class WorkbenchShell { } }; - if (!themes.getSyntaxThemeId(themeId)) { - applyTheme(); - } else { - this.themeService.loadTheme(themeId).then(theme => { - if (theme) { - this.themeService.applyThemeCSS(themeId); - applyTheme(); - } - }, error => { - errors.onUnexpectedError(error); - }); - } + this.themeService.loadTheme(themeId).then(theme => { + if (theme) { + this.themeService.applyThemeCSS(themeId); + applyTheme(); + } + }, error => { + errors.onUnexpectedError(error); + }); } private registerListeners(): void { diff --git a/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts b/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts index d10773607e6..c7718ab6e7c 100644 --- a/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts +++ b/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts @@ -13,7 +13,6 @@ import {IMessageService, Severity} from 'vs/platform/message/common/message'; import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage'; import platform = require('vs/platform/platform'); import workbenchActionRegistry = require('vs/workbench/common/actionRegistry'); -import Themes = require('vs/platform/theme/common/themes'); import {IQuickOpenService, IPickOpenEntry} from 'vs/workbench/services/quickopen/common/quickOpenService'; import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace'; import {IThemeService, IThemeData, DEFAULT_THEME_ID} from 'vs/workbench/services/themes/common/themeService'; @@ -43,9 +42,6 @@ class SelectThemeAction extends actions.Action { let currentTheme = this.storageService.get(Constants.Preferences.THEME, StorageScope.GLOBAL, DEFAULT_THEME_ID); let picks: IPickOpenEntry[] = []; - Themes.getBaseThemes(true).forEach(baseTheme => { - picks.push({ label: Themes.toLabel(baseTheme), id: Themes.toId(baseTheme) }); - }); let contributedThemesById: { [id: string]: IThemeData } = {}; contributedThemes.forEach(theme => { diff --git a/src/vs/workbench/services/themes/common/themeService.ts b/src/vs/workbench/services/themes/common/themeService.ts index f889a613f98..45469436e1f 100644 --- a/src/vs/workbench/services/themes/common/themeService.ts +++ b/src/vs/workbench/services/themes/common/themeService.ts @@ -9,7 +9,7 @@ import {TPromise} from 'vs/base/common/winjs.base'; export let IThemeService = createDecorator('themeService'); -export const DEFAULT_THEME_ID = 'vs-dark vscode-theme-colorful-defaults-themes-dark_plus-tmTheme'; +export const DEFAULT_THEME_ID = 'vs-dark vscode-theme-defaults-themes-dark_plus-json'; export interface IThemeService { serviceId: ServiceIdentifier; diff --git a/src/vs/workbench/services/themes/node/themeService.ts b/src/vs/workbench/services/themes/node/themeService.ts index 203c3ef7cfc..a813d5fcf63 100644 --- a/src/vs/workbench/services/themes/node/themeService.ts +++ b/src/vs/workbench/services/themes/node/themeService.ts @@ -21,6 +21,21 @@ import pfs = require('vs/base/node/pfs'); let defaultBaseTheme = Themes.getBaseThemeId(DEFAULT_THEME_ID); +const defaultThemeExtensionId = 'vscode-theme-defaults'; +const oldDefaultThemeExtensionId = 'vscode-theme-colorful-defaults'; + +function validateThemeId(theme: string) : string { + // migrations + switch (theme) { + case 'vs': return `vs ${defaultThemeExtensionId}-themes-light_vs-json`; + case 'vs-dark': return `vs-dark ${defaultThemeExtensionId}-themes-dark_vs-json`; + case 'hc-black': return `hc-black ${defaultThemeExtensionId}-themes-hc_black-json`; + case `vs ${oldDefaultThemeExtensionId}-themes-light_plus-tmTheme`: return `vs ${defaultThemeExtensionId}-themes-light_plus-json`; + case `vs-dark ${oldDefaultThemeExtensionId}-themes-dark_plus-tmTheme`: return `vs-dark ${defaultThemeExtensionId}-themes-dark_plus-json`; + } + return theme; +} + let themesExtPoint = ExtensionsRegistry.registerExtensionPoint('themes', { description: nls.localize('vscode.extension.contributes.themes', 'Contributes textmate color themes.'), type: 'array', @@ -35,7 +50,7 @@ let themesExtPoint = ExtensionsRegistry.registerExtensionPoint { + themeId = validateThemeId(themeId); return this.getThemes().then(allThemes => { let themes = allThemes.filter(t => t.id === themeId); if (themes.length > 0) { @@ -164,7 +180,6 @@ function applyTheme(theme: IThemeData): TPromise { function _loadThemeDocument(themePath: string) : TPromise { return pfs.readFile(themePath).then(content => { - let contentValue: any; if (Paths.extname(themePath) === '.json') { let errors: string[] = []; let contentValue = Json.parse(content.toString(), errors);