diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..7bc18a4 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,18 @@ +// A launch configuration that launches the extension inside a new window +// Use IntelliSense to learn about possible attributes. +// Hover to view descriptions of existing attributes. +// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Extension", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}" + ] + } + ] +} \ No newline at end of file diff --git a/.vscodeignore b/.vscodeignore new file mode 100644 index 0000000..f369b5e --- /dev/null +++ b/.vscodeignore @@ -0,0 +1,4 @@ +.vscode/** +.vscode-test/** +.gitignore +vsc-extension-quickstart.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ce7678f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,9 @@ +# Change Log + +All notable changes to the "polish-theme" extension will be documented in this file. + +Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. + +## [0.0.1] + +- Initial release diff --git a/README.md b/README.md index d05d36b..611e177 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ -# vscode-polish-theme -A vibrant theme for VSCode. +# # Polish Theme for [Visual Studio Code](http://code.visualstudio.com) + + +> A dark theme for [Visual Studio Code](http://code.visualstudio.com). + +## Install + diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..571e240 Binary files /dev/null and b/icon.png differ diff --git a/package.json b/package.json new file mode 100644 index 0000000..d60c8de --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "polish-theme", + "displayName": "Polish Theme", + "description": "A vibrant theme for VSCode.", + "version": "0.0.1", + "engines": { + "vscode": "^1.40.0" + }, + "maintainers": [ + "ZhiKing " + ], + "publisher": "ZhiKing", + "repository": { + "type": "git", + "url": "https://github.com/zyj1022/vscode-polish-theme.git" + }, + "categories": [ + "Themes" + ], + "keywords": [ + "polish", + "dark", + "theme", + "color-theme" + ], + "icon": "icon.png", + "contributes": { + "themes": [{ + "label": "Polish Theme", + "uiTheme": "vs-dark", + "path": "./themes/polish.dark.json" + }] + } +} diff --git a/themes/polish.dark.json b/themes/polish.dark.json new file mode 100644 index 0000000..7bd3480 --- /dev/null +++ b/themes/polish.dark.json @@ -0,0 +1,1253 @@ +{ + "name": "Polish", + "author": "Zhi King", + "maintainers": [ + "ZhiKing " + ], + "semanticClass": "theme.polish", + "polish": { + "base": [ + "#25273D", + "#F2F2F7", + "#44475A", + "#6272A4", + "#53C0F6", + "#B1E3A7", + "#FFB86C", + "#A585E8", + "#FF83AC", + "#ff8787", + "#FFE07B" + ], + "ansi": [ + "#212134", + "#ff8787", + "#B1E3A7", + "#FFE07B", + "#FF83AC", + "#A585E8", + "#53C0F6", + "#F2F2F7", + "#6272A4", + "#ff8787", + "#12b886", + "#FFFFA5", + "#D6ACFF", + "#FF92DF", + "#A4FFFF", + "#FFFFFF" + ], + "brightOther": [ + "#E9F284", + "#8BE9FE" + ], + "other": [ + "#44475A75", + "#424450", + "#FFFFFF", + "#44475A70", + "#424450", + "#343746", + "#212134", + "#191A21" + ] + }, + "colors": { + "terminal.background": "#25273D", + "terminal.foreground": "#9999B4", + "terminal.ansiBrightBlack": "#6272A4", + "terminal.ansiBrightRed": "#A585E8", + "terminal.ansiBrightGreen": "#12b886", + "terminal.ansiBrightYellow": "#FFFFA5", + "terminal.ansiBrightBlue": "#D6ACFF", + "terminal.ansiBrightMagenta": "#FF92DF", + "terminal.ansiBrightCyan": "#A4FFFF", + "terminal.ansiBrightWhite": "#9999B4", + "terminal.ansiBlack": "#212134", + "terminal.ansiRed": "#ff8787", + "terminal.ansiGreen": "#B1E3A7", + "terminal.ansiYellow": "#FFE07B", + "terminal.ansiBlue": "#FF83AC", + "terminal.ansiMagenta": "#A585E8", + "terminal.ansiCyan": "#53C0F6", + "terminal.ansiWhite": "#9999B4", + "contrastBorder": "#191A21", + "contrastActiveBorder": null, + "focusBorder": "#6272A4", + "foreground": "#9999B4", + "widget.shadow": null, + "selection.background": "#FF83AC", + "errorForeground": "#ff8787", + "button.background": "#44475A", + "button.foreground": "#9999B4", + "button.hoverBackground": null, + "dropdown.background": "#343746", + "dropdown.border": "#191A21", + "dropdown.foreground": "#9999B4", + "input.background": "#25273D", + "input.foreground": "#9999B4", + "input.border": "#191A21", + "input.placeholderForeground": "#6272A4", + "inputOption.activeBorder": "#FF83AC", + "inputValidation.infoForeground": null, + "inputValidation.infoBackground": null, + "inputValidation.infoBorder": "#A585E8", + "inputValidation.warningForeground": null, + "inputValidation.warningBackground": null, + "inputValidation.warningBorder": "#FFB86C", + "inputValidation.errorForeground": null, + "inputValidation.errorBackground": null, + "inputValidation.errorBorder": "#ff8787", + "scrollbar.shadow": null, + "scrollbarSlider.activeBackground": null, + "scrollbarSlider.background": null, + "scrollbarSlider.hoverBackground": null, + "badge.foreground": "#9999B4", + "badge.background": "#44475A", + "progressBar.background": "#A585E8", + "list.activeSelectionBackground": "#44475A", + "list.activeSelectionForeground": "#9999B4", + "list.dropBackground": "#44475A", + "list.focusBackground": "#44475A75", + "list.highlightForeground": "#53C0F6", + "list.hoverBackground": "#44475A75", + "list.inactiveSelectionBackground": "#44475A75", + "list.inactiveSelectionForeground": null, + "list.warningForeground": "#FFB86C", + "list.errorForeground": "#ff8787", + "list.hoverForeground": null, + "list.focusForeground": null, + "activityBar.background": "#212133", + "activityBar.inactiveForeground": "#47496E", + "activityBar.dropBackground": null, + "activityBar.foreground": "#9999B4", + "activityBar.border": null, + "activityBarBadge.background": "#A585E8", + "activityBarBadge.foreground": "#9999B4", + "sideBar.background": "#212134", + "sideBar.foreground": null, + "sideBar.border": null, + "sideBarTitle.foreground": "#9999B4", + "sideBarSectionHeader.background": "#25273D", + "sideBarSectionHeader.foreground": null, + "sideBarSectionHeader.border": "#191A21", + "editorGroup.background": null, + "editorGroup.border": "#A585E8", + "editorGroup.dropBackground": "#44475A70", + "editorGroupHeader.noTabsBackground": null, + "editorGroupHeader.tabsBackground": "#191A21", + "editorGroupHeader.tabsBorder": null, + "tab.activeBackground": "#25273D", + "tab.activeForeground": "#D4D4DF", + "tab.border": "#191A21", + "tab.activeBorder": "#A585E880", + "tab.unfocusedActiveBorder": null, + "tab.inactiveBackground": "#191A21", + "tab.inactiveForeground": "#696980", + "tab.unfocusedActiveForeground": null, + "tab.unfocusedInactiveForeground": null, + "editor.foreground": "#F2F2F7", + "editor.background": "#25273D", + "editorLineNumber.foreground": "#47496E", + "editorCursor.foreground": "#848AF0", + "editor.selectionBackground": "#44475A", + "editor.selectionHighlightBackground": "#424450", + "editor.inactiveSelectionBackground": null, + "editor.wordHighlightBackground": "#53C0F650", + "editor.wordHighlightStrongBackground": "#B1E3A750", + "editor.findMatchBackground": "#FFB86C80", + "editor.findMatchHighlightBackground": "#FFFFFF40", + "editor.findRangeHighlightBackground": "#44475A75", + "editor.hoverHighlightBackground": "#191A21", + "editor.lineHighlightBackground": "#2B2C43", + "editor.lineHighlightBorder": null, + "editorLink.activeForeground": "#53C0F6", + "editor.rangeHighlightBackground": "#FF83AC15", + "editor.snippetTabstopHighlightBackground": "#25273D", + "editor.snippetTabstopHighlightBorder": "#6272A4", + "editor.snippetFinalTabstopHighlightBackground": "#25273D", + "editor.snippetFinalTabstopHighlightBorder": "#B1E3A7", + "editorWhitespace.foreground": "#424450", + "editorIndentGuide.background": "#424450", + "editorIndentGuide.activeBackground": "#FFFFFF45", + "editorRuler.foreground": "#424450", + "editorCodeLens.foreground": "#6272A4", + "editorBracketMatch.background": null, + "editorBracketMatch.border": null, + "editorOverviewRuler.border": "#191A21", + "editorOverviewRuler.findMatchForeground": null, + "editorOverviewRuler.rangeHighlightForeground": null, + "editorOverviewRuler.selectionHighlightForeground": "#FFB86C", + "editorOverviewRuler.wordHighlightForeground": "#53C0F6", + "editorOverviewRuler.wordHighlightStrongForeground": "#B1E3A7", + "editorOverviewRuler.modifiedForeground": "#53C0F680", + "editorOverviewRuler.addedForeground": "#B1E3A780", + "editorOverviewRuler.deletedForeground": "#ff878780", + "editorOverviewRuler.errorForeground": "#ff878780", + "editorOverviewRuler.warningForeground": "#FFB86C80", + "editorOverviewRuler.infoForeground": "#53C0F680", + "editorError.foreground": "#ff8787", + "editorError.border": null, + "editorWarning.foreground": "#53C0F6", + "editorWarning.border": null, + "editorGutter.background": null, + "editorGutter.modifiedBackground": "#53C0F680", + "editorGutter.addedBackground": "#B1E3A780", + "editorGutter.deletedBackground": "#ff878780", + "gitDecoration.modifiedResourceForeground": "#53C0F6", + "gitDecoration.deletedResourceForeground": "#ff8787", + "gitDecoration.untrackedResourceForeground": "#B1E3A7", + "gitDecoration.ignoredResourceForeground": "#6272A4", + "gitDecoration.conflictingResourceForeground": "#FFB86C", + "diffEditor.insertedTextBackground": "#B1E3A720", + "diffEditor.insertedTextBorder": null, + "diffEditor.removedTextBackground": "#ff878750", + "diffEditor.removedTextBorder": null, + "editorWidget.background": "#212134", + "editorWidgetBorder": null, + "editorSuggestWidget.background": "#212134", + "editorSuggestWidget.border": null, + "editorSuggestWidget.foreground": "#F2F2F7", + "editorSuggestWidget.highlightForeground": null, + "editorSuggestWidget.selectedBackground": "#44475A", + "editorHoverWidget.background": "#25273D", + "editorHoverWidget.border": "#6272A4", + "debugExceptionWidget.background": null, + "debugExceptionWidget.border": null, + "editorMarkerNavigation.background": "#212134", + "editorMarkerNavigationError.background": null, + "editorMarkerNavigationWarning.background": null, + "peekView.border": "#44475A", + "peekViewEditor.background": "#25273D", + "peekViewEditorGutter.background": null, + "peekViewEditor.matchHighlightBackground": "#FFE07B80", + "peekViewResult.background": "#212134", + "peekViewResult.fileForeground": "#F2F2F7", + "peekViewResult.lineForeground": "#F2F2F7", + "peekViewResult.matchHighlightBackground": "#FFE07B80", + "peekViewResult.selectionBackground": "#44475A", + "peekViewResult.selectionForeground": "#F2F2F7", + "peekViewTitle.background": "#191A21", + "peekViewTitleDescription.foreground": "#6272A4", + "peekViewTitleLabel.foreground": "#F2F2F7", + "merge.currentHeaderBackground": "#B1E3A790", + "merge.currentContentBackground": null, + "merge.incomingHeaderBackground": "#FF83AC90", + "merge.incomingContentBackground": null, + "merge.border": null, + "editorOverviewRuler.currentContentForeground": "#B1E3A7", + "editorOverviewRuler.incomingContentForeground": "#B1E3A7", + "panel.background": "#25273D", + "panel.border": "#A585E8", + "panelTitle.activeBorder": "#A585E8", + "panelTitle.activeForeground": "#F2F2F7", + "panelTitle.inactiveForeground": "#6272A4", + "statusBar.background": "#212133", + "statusBar.foreground": "#9999B4", + "statusBar.debuggingBackground": "#ff8787", + "statusBar.debuggingForeground": "#191A21", + "statusBar.noFolderBackground": "#191A21", + "statusBar.noFolderForeground": "#9999B4", + "statusBarItem.activeBackground": null, + "statusBarItem.hoverBackground": null, + "statusBarItem.prominentBackground": "#ff8787", + "statusBarItem.prominentHoverBackground": "#FFB86C", + "statusBarItem.remoteForeground": "#9999B4", + "statusBarItem.remoteBackground": "#FF83AC", + "statusBar.border": null, + "titleBar.activeBackground": "#212134", + "titleBar.activeForeground": "#9999B4", + "titleBar.inactiveBackground": "#212133", + "titleBar.inactiveForeground": "#6272A4", + "notification.background": "#25273D", + "notification.foreground": "#9999B4", + "notification.buttonBackground": "#44475A", + "notification.buttonForeground": "#9999B4", + "notification.buttonHoverBackground": "#44475A75", + "notification.errorBackground": "#ff8787", + "notification.errorForeground": "#9999B4", + "notification.infoBackground": "#53C0F6", + "notification.infoForeground": "#25273D", + "notification.warningBackground": "#FFB86C", + "notification.warningForeground": "#25273D", + "extensionButton.prominentForeground": "#9999B4", + "extensionButton.prominentBackground": "#B1E3A790", + "extensionButton.prominentHoverBackground": "#B1E3A760", + "pickerGroup.border": "#A585E8", + "pickerGroup.foreground": "#53C0F6", + "debugToolBar.background": "#212134", + "welcomePage.buttonBackground": null, + "welcomePage.buttonHoverBackground": null, + "walkThrough.embeddedEditorBackground": "#212134", + "settings.headerForeground": "#9999B4", + "settings.modifiedItemForeground": "#FFB86C", + "settings.modifiedItemIndicator": "#FFB86C", + "settings.inactiveSelectedItemBorder": null, + "settings.dropdownBackground": "#212134", + "settings.dropdownForeground": "#9999B4", + "settings.dropdownBorder": "#191A21", + "settings.checkboxBackground": "#212134", + "settings.checkboxForeground": "#9999B4", + "settings.checkboxBorder": "#191A21", + "settings.textInputBackground": "#212134", + "settings.textInputForeground": "#9999B4", + "settings.textInputBorder": "#191A21", + "settings.numberInputBackground": "#212134", + "settings.numberInputForeground": "#9999B4", + "settings.numberInputBorder": "#191A21", + "breadcrumb.foreground": "#6272A4", + "breadcrumb.background": "#212134", + "breadcrumb.focusForeground": "#9999B4", + "breadcrumb.activeSelectionForeground": "#9999B4", + "breadcrumbPicker.background": "#191A21", + "menu.separatorBackground": null, + "listFilterWidget.background": "#343746", + "listFilterWidget.outline": "#424450", + "listFilterWidget.noMatchesOutline": "#ff8787" + }, + "tokenColors": [{ + "scope": [ + "emphasis" + ], + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": [ + "strong" + ], + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": [ + "header" + ], + "settings": { + "foreground": "#FF83AC" + } + }, + { + "scope": [ + "source" + ], + "settings": { + "foreground": "#9999B4" + } + }, + { + "scope": [ + "meta.diff", + "meta.diff.header" + ], + "settings": { + "foreground": "#6272A4" + } + }, + { + "scope": [ + "markup.inserted" + ], + "settings": { + "foreground": "#B1E3A7" + } + }, + { + "scope": [ + "markup.deleted" + ], + "settings": { + "foreground": "#ff8787" + } + }, + { + "scope": [ + "markup.changed" + ], + "settings": { + "foreground": "#FFB86C" + } + }, + { + "scope": [ + "invalid" + ], + "settings": { + "foreground": "#ff8787", + "fontStyle": "underline italic" + } + }, + { + "scope": [ + "invalid.deprecated" + ], + "settings": { + "foreground": "#9999B4", + "fontStyle": "underline italic" + } + }, + { + "scope": [ + "entity.name.filename" + ], + "settings": { + "foreground": "#FFE07B" + } + }, + { + "scope": [ + "markup.error" + ], + "settings": { + "foreground": "#ff8787" + } + }, + { + "name": "Underlined markup", + "scope": [ + "markup.underline" + ], + "settings": { + "fontStyle": "underline" + } + }, + { + "name": "Bold markup", + "scope": [ + "markup.bold" + ], + "settings": { + "fontStyle": "bold", + "foreground": "#FFB86C" + } + }, + { + "name": "Markup headings", + "scope": [ + "markup.heading" + ], + "settings": { + "fontStyle": "bold", + "foreground": "#FF83AC" + } + }, + { + "name": "Markup italic", + "scope": [ + "markup.italic" + ], + "settings": { + "foreground": "#FFE07B", + "fontStyle": "italic" + } + }, + { + "name": "Bullets, lists (prose)", + "scope": [ + "beginning.punctuation.definition.list.markdown", + "beginning.punctuation.definition.quote.markdown", + "punctuation.definition.link.restructuredtext" + ], + "settings": { + "foreground": "#53C0F6" + } + }, + { + "name": "Inline code (prose)", + "scope": [ + "markup.inline.raw", + "markup.raw.restructuredtext" + ], + "settings": { + "foreground": "#ff8787" + } + }, + { + "name": "Links (prose)", + "scope": [ + "markup.underline.link", + "markup.underline.link.image" + ], + "settings": { + "foreground": "#53C0F6" + } + }, + { + "name": "Link text, image alt text (prose)", + "scope": [ + "meta.link.reference.def.restructuredtext", + "punctuation.definition.directive.restructuredtext", + "string.other.link.description", + "string.other.link.title" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "Blockquotes (prose)", + "scope": [ + "entity.name.directive.restructuredtext", + "markup.quote" + ], + "settings": { + "foreground": "#FFE07B", + "fontStyle": "italic" + } + }, + { + "name": "Horizontal rule (prose)", + "scope": [ + "meta.separator.markdown" + ], + "settings": { + "foreground": "#6272A4" + } + }, + { + "name": "Code blocks", + "scope": [ + "fenced_code.block.language", + "markup.raw.inner.restructuredtext", + "markup.fenced_code.block.markdown punctuation.definition.markdown" + ], + "settings": { + "foreground": "#B1E3A7" + } + }, + { + "name": "Prose constants", + "scope": [ + "punctuation.definition.constant.restructuredtext" + ], + "settings": { + "foreground": "#FF83AC" + } + }, + { + "name": "Braces in markdown headings", + "scope": [ + "markup.heading.markdown punctuation.definition.string.begin", + "markup.heading.markdown punctuation.definition.string.end" + ], + "settings": { + "foreground": "#FF83AC" + } + }, + { + "name": "Braces in markdown paragraphs", + "scope": [ + "meta.paragraph.markdown punctuation.definition.string.begin", + "meta.paragraph.markdown punctuation.definition.string.end" + ], + "settings": { + "foreground": "#F2F2F7" + } + }, + { + "name": "Braces in markdown blockquotes", + "scope": [ + "markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.begin", + "markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.end" + ], + "settings": { + "foreground": "#FFE07B" + } + }, + { + "name": "Class", + "scope": [ + "entity.name.type", + "entity.other.inherited-class", + "support.class" + ], + "settings": { + "foreground": "#845ef7" + } + }, + { + "name": "User-defined class names", + "scope": [ + "entity.name.type.class", + "entity.name.class", + "entity.name.struct", + "entity.name.interface", + "entity.name.trait" + ], + "settings": { + "foreground": "#53C0F6", + "fontStyle": "normal" + } + }, + { + "name": "this, super, self, etc.", + "scope": [ + "keyword.expressions-and-types.swift", + "keyword.other.this", + "variable.language", + "variable.language punctuation.definition.variable.php", + "variable.other.readwrite.instance.ruby", + "variable.parameter.function.language.special" + ], + "settings": { + "foreground": "#FF83AC", + "fontStyle": "italic" + } + }, + { + "name": "Inherited classes", + "scope": [ + "entity.other.inherited-class" + ], + "settings": { + "fontStyle": "italic", + "foreground": "#53C0F6" + } + }, + { + "name": "Comments", + "scope": [ + "comment", + "punctuation.definition.comment", + "unused.comment", + "wildcard.comment" + ], + "settings": { + "foreground": "#5C5F90" + } + }, + { + "name": "JSDoc-style keywords", + "scope": [ + "comment keyword.codetag.notation", + "comment.block.documentation keyword", + "comment.block.documentation storage.type.class" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "JSDoc-style types", + "scope": [ + "comment.block.documentation entity.name.type" + ], + "settings": { + "foreground": "#53C0F6", + "fontStyle": "italic" + } + }, + { + "name": "JSDoc-style type brackets", + "scope": [ + "comment.block.documentation entity.name.type punctuation.definition.bracket" + ], + "settings": { + "foreground": "#53C0F6" + } + }, + { + "name": "JSDoc-style comment parameters", + "scope": [ + "comment.block.documentation variable" + ], + "settings": { + "foreground": "#FFB86C", + "fontStyle": "italic" + } + }, + { + "name": "Constants", + "scope": [ + "constant", + "variable.other.constant" + ], + "settings": { + "foreground": "#FF83AC" + } + }, + { + "name": "Constant escape sequences", + "scope": [ + "constant.character.escape", + "constant.character.string.escape", + "constant.regexp" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "HTML tags", + "scope": [ + "entity.name.tag" + ], + "settings": { + "foreground": "#FF83AC" + } + }, + { + "name": "CSS attribute parent selectors ('&')", + "scope": [ + "entity.other.attribute-name.parent-selector" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "HTML/CSS attribute names", + "scope": [ + "entity.other.attribute-name" + ], + "settings": { + "foreground": "#FFB86C", + "fontStyle": "italic" + } + }, + { + "name": "Function names", + "scope": [ + "entity.name.function", + "meta.function-call.generic", + "meta.function-call.object", + "meta.function-call.php", + "meta.function-call.static", + "meta.method-call.java meta.method", + "meta.method.groovy", + "support.function.any-method.lua", + "keyword.operator.function.infix" + ], + "settings": { + "foreground": "#B1E3A7" + } + }, + { + "name": "Function parameters", + "scope": [ + "entity.name.variable.parameter", + "meta.at-rule.function variable", + "meta.at-rule.mixin variable", + "meta.function.arguments variable.other.php", + "meta.selectionset.graphql meta.arguments.graphql variable.arguments.graphql", + "variable.parameter" + ], + "settings": { + "fontStyle": "italic", + "foreground": "#ff8787" + } + }, + { + "name": "Decorators", + "scope": [ + "meta.decorator variable.other.readwrite", + "meta.decorator variable.other.property" + ], + "settings": { + "foreground": "#B1E3A7", + "fontStyle": "italic" + } + }, + { + "name": "Decorator Objects", + "scope": [ + "meta.decorator variable.other.object" + ], + "settings": { + "foreground": "#B1E3A7" + } + }, + { + "name": "Keywords", + "scope": [ + "keyword", + "punctuation.definition.keyword" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "Keyword \"new\"", + "scope": [ + "keyword.control.new", + "keyword.operator.new" + ], + "settings": { + "fontStyle": "bold" + } + }, + { + "name": "Generic selectors (CSS/SCSS/Less/Stylus)", + "scope": [ + "meta.selector" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "Language Built-ins", + "scope": [ + "support" + ], + "settings": { + "fontStyle": "italic", + "foreground": "#53C0F6" + } + }, + { + "name": "Built-in magic functions and constants", + "scope": [ + "support.function.magic", + "support.variable", + "variable.other.predefined" + ], + "settings": { + "fontStyle": "regular", + "foreground": "#FF83AC" + } + }, + { + "name": "Built-in functions / properties", + "scope": [ + "support.function", + "support.type.property-name" + ], + "settings": { + "fontStyle": "regular" + } + }, + { + "name": "Separators (key/value, namespace, inheritance, pointer, hash, slice, etc)", + "scope": [ + "constant.other.symbol.hashkey punctuation.definition.constant.ruby", + "entity.other.attribute-name.placeholder punctuation", + "entity.other.attribute-name.pseudo-class punctuation", + "entity.other.attribute-name.pseudo-element punctuation", + "meta.group.double.toml", + "meta.group.toml", + "meta.object-binding-pattern-variable punctuation.destructuring", + "punctuation.colon.graphql", + "punctuation.definition.block.scalar.folded.yaml", + "punctuation.definition.block.scalar.literal.yaml", + "punctuation.definition.block.sequence.item.yaml", + "punctuation.definition.entity.other.inherited-class", + "punctuation.function.swift", + "punctuation.separator.dictionary.key-value", + "punctuation.separator.hash", + "punctuation.separator.inheritance", + "punctuation.separator.key-value", + "punctuation.separator.key-value.mapping.yaml", + "punctuation.separator.namespace", + "punctuation.separator.pointer-access", + "punctuation.separator.slice", + "string.unquoted.heredoc punctuation.definition.string", + "support.other.chomping-indicator.yaml", + "punctuation.separator.annotation" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "Brackets, braces, parens, etc.", + "scope": [ + "keyword.operator.other.powershell", + "keyword.other.statement-separator.powershell", + "meta.brace.round", + "meta.function-call punctuation", + "punctuation.definition.arguments.begin", + "punctuation.definition.arguments.end", + "punctuation.definition.entity.begin", + "punctuation.definition.entity.end", + "punctuation.definition.tag.cs", + "punctuation.definition.type.begin", + "punctuation.definition.type.end", + "punctuation.section.scope.begin", + "punctuation.section.scope.end", + "storage.type.generic.java", + "string.template meta.brace", + "string.template punctuation.accessor" + ], + "settings": { + "foreground": "#F2F2F7" + } + }, + { + "name": "Variable interpolation operators", + "scope": [ + "meta.string-contents.quoted.double punctuation.definition.variable", + "punctuation.definition.interpolation.begin", + "punctuation.definition.interpolation.end", + "punctuation.definition.template-expression.begin", + "punctuation.definition.template-expression.end", + "punctuation.section.embedded.begin", + "punctuation.section.embedded.coffee", + "punctuation.section.embedded.end", + "punctuation.section.embedded.end source.php", + "punctuation.section.embedded.end source.ruby", + "punctuation.definition.variable.makefile" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "Keys (serializable languages)", + "scope": [ + "entity.name.function.target.makefile", + "entity.name.section.toml", + "entity.name.tag.yaml", + "variable.other.key.toml" + ], + "settings": { + "foreground": "#53C0F6" + } + }, + { + "name": "Dates / timestamps (serializable languages)", + "scope": [ + "constant.other.date", + "constant.other.timestamp" + ], + "settings": { + "foreground": "#FFB86C" + } + }, + { + "name": "YAML aliases", + "scope": [ + "variable.other.alias.yaml" + ], + "settings": { + "fontStyle": "italic underline", + "foreground": "#B1E3A7" + } + }, + { + "name": "Storage", + "scope": [ + "storage", + "meta.implementation storage.type.objc", + "meta.interface-or-protocol storage.type.objc", + "source.groovy storage.type.def" + ], + "settings": { + "fontStyle": "regular", + "foreground": "#A585E8" + } + }, + { + "name": "Types", + "scope": [ + "entity.name.type", + "keyword.primitive-datatypes.swift", + "keyword.type.cs", + "meta.protocol-list.objc", + "meta.return-type.objc", + "source.go storage.type", + "source.groovy storage.type", + "source.java storage.type", + "source.powershell entity.other.attribute-name", + "storage.class.std.rust", + "storage.type.attribute.swift", + "storage.type.c", + "storage.type.core.rust", + "storage.type.cs", + "storage.type.groovy", + "storage.type.objc", + "storage.type.php", + "storage.type.haskell", + "storage.type.ocaml" + ], + "settings": { + "fontStyle": "italic", + "foreground": "#53C0F6" + } + }, + { + "name": "Generics, templates, and mapped type declarations", + "scope": [ + "entity.name.type.type-parameter", + "meta.indexer.mappedtype.declaration entity.name.type", + "meta.type.parameters entity.name.type" + ], + "settings": { + "foreground": "#FFB86C" + } + }, + { + "name": "Modifiers", + "scope": [ + "storage.modifier" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "RegExp string", + "scope": [ + "string.regexp", + "constant.other.character-class.set.regexp", + "constant.character.escape.backslash.regexp" + ], + "settings": { + "foreground": "#FFE07B" + } + }, + { + "name": "Non-capture operators", + "scope": [ + "punctuation.definition.group.capture.regexp" + ], + "settings": { + "foreground": "#A585E8" + } + }, + { + "name": "RegExp start and end characters", + "scope": [ + "string.regexp punctuation.definition.string.begin", + "string.regexp punctuation.definition.string.end" + ], + "settings": { + "foreground": "#ff8787" + } + }, + { + "name": "Character", + "scope": [ + "constant", + "constant.character" + ], + "settings": { + "foreground": "#ffa94d" + } + }, + { + "name": "Character group", + "scope": [ + "punctuation.definition.character-class.regexp" + ], + "settings": { + "foreground": "#53C0F6" + } + }, + { + "name": "Capture groups", + "scope": [ + "punctuation.definition.group.regexp" + ], + "settings": { + "foreground": "#FFB86C" + } + }, + { + "name": "Assertion operators", + "scope": [ + "punctuation.definition.group.assertion.regexp", + "keyword.operator.negation.regexp" + ], + "settings": { + "foreground": "#ff8787" + } + }, + { + "name": "Positive lookaheads", + "scope": [ + "meta.assertion.look-ahead.regexp" + ], + "settings": { + "foreground": "#B1E3A7" + } + }, + { + "name": "Strings", + "scope": [ + "string" + ], + "settings": { + "foreground": "#FFE07B" + } + }, + { + "name": "String quotes (temporary vscode fix)", + "scope": [ + "punctuation.definition.string.begin", + "punctuation.definition.string.end" + ], + "settings": { + "foreground": "#E9F284" + } + }, + { + "name": "Property quotes (temporary vscode fix)", + "scope": [ + "punctuation.support.type.property-name.begin", + "punctuation.support.type.property-name.end" + ], + "settings": { + "foreground": "#8BE9FE" + } + }, + { + "name": "Docstrings", + "scope": [ + "string.quoted.docstring.multi", + "string.quoted.docstring.multi.python punctuation.definition.string.begin", + "string.quoted.docstring.multi.python punctuation.definition.string.end", + "string.quoted.docstring.multi.python constant.character.escape" + ], + "settings": { + "foreground": "#6272A4" + } + }, + { + "name": "Variables and object properties", + "scope": [ + "variable", + "constant.other.key.perl", + "support.variable.property", + "variable.other.constant.js", + "variable.other.constant.ts", + "variable.other.constant.tsx" + ], + "settings": { + "foreground": "#F2F2F7" + } + }, + { + "name": "Destructuring / aliasing reference name (LHS)", + "scope": [ + "meta.import variable.other.readwrite", + "meta.object-binding-pattern-variable variable.object.property", + "meta.variable.assignment.destructured.object.coffee variable" + ], + "settings": { + "fontStyle": "italic", + "foreground": "#FFB86C" + } + }, + { + "name": "Destructuring / aliasing variable name (RHS)", + "scope": [ + "meta.import variable.other.readwrite.alias", + "meta.export variable.other.readwrite.alias", + "meta.variable.assignment.destructured.object.coffee variable variable" + ], + "settings": { + "fontStyle": "normal", + "foreground": "#F2F2F7" + } + }, + { + "name": "GraphQL keys", + "scope": [ + "meta.selectionset.graphql variable" + ], + "settings": { + "foreground": "#FFE07B" + } + }, + { + "name": "GraphQL function arguments", + "scope": [ + "meta.selectionset.graphql meta.arguments variable" + ], + "settings": { + "foreground": "#F2F2F7" + } + }, + { + "name": "GraphQL fragment name (definition)", + "scope": [ + "entity.name.fragment.graphql", + "variable.fragment.graphql" + ], + "settings": { + "foreground": "#53C0F6" + } + }, + { + "name": "Edge cases (foreground color resets)", + "scope": [ + "constant.other.symbol.hashkey.ruby", + "keyword.operator.dereference.java", + "keyword.operator.navigation.groovy", + "meta.scope.for-loop.shell punctuation.definition.string.begin", + "meta.scope.for-loop.shell punctuation.definition.string.end", + "meta.scope.for-loop.shell string", + "storage.modifier.import", + "punctuation.section.embedded.begin.tsx", + "punctuation.section.embedded.end.tsx", + "punctuation.section.embedded.begin.jsx", + "punctuation.section.embedded.end.jsx", + "punctuation.separator.list.comma.css", + "constant.language.empty-list.haskell" + ], + "settings": { + "foreground": "#F2F2F7" + } + }, + { + "name": "Shell variables prefixed with \"$\" (edge case)", + "scope": [ + "source.shell variable.other" + ], + "settings": { + "foreground": "#FF83AC" + } + }, + { + "name": "Powershell constants mistakenly scoped to `support`, rather than `constant` (edge)", + "scope": [ + "support.constant" + ], + "settings": { + "fontStyle": "normal", + "foreground": "#FF83AC" + } + }, + { + "name": "Makefile prerequisite names", + "scope": [ + "meta.scope.prerequisites.makefile" + ], + "settings": { + "foreground": "#FFE07B" + } + }, + { + "name": "SCSS attibute selector strings", + "scope": [ + "meta.attribute-selector.scss" + ], + "settings": { + "foreground": "#FFE07B" + } + }, + { + "name": "SCSS attribute selector brackets", + "scope": [ + "punctuation.definition.attribute-selector.end.bracket.square.scss", + "punctuation.definition.attribute-selector.begin.bracket.square.scss" + ], + "settings": { + "foreground": "#F2F2F7" + } + }, + { + "name": "Haskell Pragmas", + "scope": [ + "meta.preprocessor.haskell" + ], + "settings": { + "foreground": "#6272A4" + } + } + ] +} \ No newline at end of file diff --git a/vsc-extension-quickstart.md b/vsc-extension-quickstart.md new file mode 100644 index 0000000..6e47dba --- /dev/null +++ b/vsc-extension-quickstart.md @@ -0,0 +1,28 @@ +# Welcome to your VS Code Extension + +## What's in the folder + +* This folder contains all of the files necessary for your color theme extension. +* `package.json` - this is the manifest file that defines the location of the theme file and specifies the base theme of the theme. +* `themes/Polish Theme-color-theme.json` - the color theme definition file. + +## Get up and running straight away + +* Press `F5` to open a new window with your extension loaded. +* Open `File > Preferences > Color Themes` and pick your color theme. +* Open a file that has a language associated. The languages' configured grammar will tokenize the text and assign 'scopes' to the tokens. To examine these scopes, invoke the `Inspect TM Scopes` command from the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) . + +## Make changes + +* Changes to the theme file are automatically applied to the Extension Development Host window. + +## Adopt your theme to Visual Studio Code + +* The token colorization is done based on standard TextMate themes. Colors are matched against one or more scopes. + +To learn more about scopes and how they're used, check out the [color theme](https://code.visualstudio.com/api/extension-guides/color-theme) documentation. + +## Install your extension + +* To start using your extension with Visual Studio Code copy it into the `/.vscode/extensions` folder and restart Code. +* To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension.