├── .editorconfig ├── .eslintrc.js ├── .github └── FUNDING.yml ├── .gitignore ├── .prettierrc ├── .vscode └── launch.json ├── .vscodeignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── images ├── code-ts.png └── code.png ├── logo.png ├── package.json ├── src ├── @types │ ├── ThemeColorsReference.d.ts │ └── ThemeSchema.d.ts ├── config │ ├── index.ts │ └── setting.ts ├── index.ts ├── scripts │ ├── build │ │ └── index.ts │ └── fetch-theme-colors-reference │ │ ├── index.ts │ │ └── scrape.ts ├── utils │ ├── colors.ts │ ├── italic.ts │ └── press-enter-to-exit.ts └── variants │ ├── ThemeFlat.ts │ ├── TokenColors.ts │ ├── theme.ts │ ├── themeDarker.ts │ └── themeMix.ts ├── tsconfig.json ├── vsc-extension-quickstart.md └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = false 12 | insert_final_newline = false -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | es2021: true, 4 | node: true, 5 | }, 6 | extends: [ 7 | "eslint:recommended", 8 | "plugin:@typescript-eslint/eslint-recommended", 9 | "plugin:@typescript-eslint/recommended", 10 | "standard", 11 | "prettier", 12 | ], 13 | parser: "@typescript-eslint/parser", 14 | parserOptions: { 15 | ecmaVersion: "latest", 16 | sourceType: "module", 17 | }, 18 | plugins: ["@typescript-eslint", "prettier"], 19 | rules: { 20 | "prettier/prettier": "error", 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | ko_fi: tal7aouy -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.vsix 3 | themes 4 | theme 5 | package-lock.json 6 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": false, 4 | "semi": false, 5 | "singleQuote": true, 6 | "trailingComma": "all", 7 | "arrowParens": "avoid", 8 | "endOfLine": "lf" 9 | } 10 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "args": [ 13 | "--extensionDevelopmentPath=${workspaceFolder}" 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | .gitignore 4 | vsc-extension-quickstart.md 5 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | # 1.0.2 4 | 5 | update theme's color 6 | 7 | # 1.1.0 8 | 9 | add Js\Ts properties 10 | 11 | # 1.2.0 12 | 13 | - change activityBar color 14 | - add Js[React] Variable Other Object 15 | 16 | # 1.2.1 17 | 18 | - change meta & params color 19 | 20 | # 1.2.2 - 1.2.3 21 | 22 | - update readme 23 | 24 | # 1.2.4 25 | 26 | - update welcomePage background 27 | 28 | # 1.2.5 29 | 30 | - Support for assembly syntax 31 | 32 | # 1.2.6 33 | 34 | - support for java highlight 35 | - improve javascript highlight 36 | 37 | # 1.2.7 38 | 39 | - add Italic Theme 40 | 41 | # 1.2.8 42 | 43 | - change sidebar 44 | - add constant js/ts 45 | - add semanticTokenColors 46 | 47 | # 1.2.9 48 | 49 | - add italic markdown 50 | - update README 51 | 52 | # 2.0.0 (Feb 23 2022) 53 | 54 | - update images 55 | - update README 56 | - add new features and colors 57 | - generate themes using typescript in an easy way 58 | 59 | # 2.1.0 (Mar 22 2022) 60 | 61 | - update border(status, activityBar,panel) 62 | - update README 63 | - add variant folder 64 | 65 | # 2.1.1 (Mar 28 2022) 66 | 67 | - update Readme 68 | 69 | # 2.2.0 (Apr 02 2022) 70 | 71 | - update Readme(fix issue #2) 72 | - clean up theme 73 | - add new features 74 | 75 | # 2.3.0 (Apr 25 2022) 76 | 77 | - add a new flat theme 78 | - change some features 79 | 80 | # 2.4.0 (Jul 24 2022) 81 | 82 | - add some update 83 | 84 | # 2.5.0 (Oct 06 2022) 85 | 86 | - update themeFlat style 87 | 88 | # 2.6.0 (Apr 15 2023) 89 | 90 | - Add Mix theme 91 | 92 | # 2.7.0 (Apr 16 2023) 93 | 94 | - Make it clean and resuable 95 | - remove italic & add it in Mix 96 | 97 | # 2.8.0 (May 14 2023) 98 | 99 | - update theme to be dark 100 | - make colors amazing and nice 101 | 102 | # 2.9.0 (Jul 08 2023) 103 | 104 | - update theme Color refs 105 | 106 | # 3.0.0 (Aug 27 2023) 107 | 108 | - change status border color 109 | - update colors 110 | 111 | # 3.1.0 (Sep 27 2023) 112 | 113 | - Added Theme Darker 114 | - Add new features 115 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2021 Mhammed Talhaouy 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | logo 4 |

5 | Theme 6 |
7 |
8 |

9 | 10 |

Get the Theme into your VS Code.

11 | 12 |

13 | Version  14 | Rating  15 | Installs  16 | Downloads 17 |

18 | 19 | ## Theme Screenshot 20 | 21 | ![Screenshot - Theme](/images/code.png) 22 | 23 | ![Screenshot - Theme](/images/code-ts.png) 24 | 25 | ## Installation 26 | 27 | 1. Open the extensions sidebar on Visual Studio Code 28 | 1. Search for Theme 29 | 1. Click Install 30 | 1. Click Reload to reload your editor 31 | 1. Select the Manage Cog (bottom left) > Color Theme > Theme 32 | 1. 🌟🌟🌟🌟🌟 Rate five-stars 😃 33 | 34 | ## Tweaks & theming 35 | 36 | If you want to play around with new colors, use the setting `workbench.colorCustomizations ` to customize the currently selected theme. For example, you can add this snippet in your "settings.json" file: 37 | 38 | ```json 39 | "workbench.colorCustomizations": { 40 | "tab.activeBackground": "#282c34", 41 | "activityBar.background": "#282c34", 42 | "sideBar.background": "#282c34", 43 | } 44 | ``` 45 | 46 | or use the setting `editor.tokenColorCustomizations` 47 | 48 | ```json 49 | "editor.tokenColorCustomizations": { 50 | "[Theme]": { 51 | "textMateRules": [ 52 | { 53 | "scope": [ 54 | "source.python" 55 | ], 56 | "settings": { 57 | "foreground": "#e06c75" 58 | } 59 | } 60 | ] 61 | } 62 | } 63 | ``` 64 | 65 | ### Italic 66 | 67 | You could set this in your setting.json to make code be italic 68 | 69 | ```json 70 | "editor.tokenColorCustomizations": { 71 | "textMateRules": [ 72 | { 73 | "scope": [ 74 | // the following elements will be in italic 75 | "comment", 76 | "storage.modifier", // static keyword 77 | "storage.type.php", // typehints in methods keyword 78 | "keyword.other.new.php", // new 79 | "entity.other.attribute-name", // html attributes 80 | "fenced_code.block.language.markdown", // markdown language modifier 81 | "keyword", //import, export, return… 82 | "storage.modifier", //static keyword 83 | "storage.type", //class keyword 84 | "keyword.control", 85 | "constant.language", 86 | "entity.other.attribute-name", 87 | "entity.name.method", 88 | "keyword.control.import.ts", 89 | "keyword.control.import.tsx", 90 | "keyword.control.import.js", 91 | "keyword.control.flow.js", 92 | "keyword.control.from.js", 93 | "keyword.control.from.ts", 94 | "keyword.control.from.tsx" 95 | ], 96 | "settings": { 97 | "fontStyle": "italic" 98 | } 99 | }, 100 | { 101 | "scope": [ 102 | // the following elements will be displayed in bold 103 | "entity.name.type.class" // class names 104 | ], 105 | "settings": { 106 | "fontStyle": "" 107 | } 108 | }, 109 | { 110 | "scope": [ 111 | // the following elements will be displayed in bold and italic 112 | "entity.name.section.markdown" // markdown headlines 113 | ], 114 | "settings": { 115 | "fontStyle": "italic" 116 | } 117 | }, 118 | { 119 | "scope": [ 120 | // the following elements will be excluded from italics 121 | // (VSCode has some defaults for italics) 122 | "invalid", 123 | "keyword.operator", 124 | "constant.numeric.css", 125 | "keyword.other.unit.px.css", 126 | "constant.numeric.decimal.js", 127 | "constant.numeric.json", 128 | "comment.block", 129 | "entity.other.attribute-name.class.css" 130 | ], 131 | "settings": { 132 | "fontStyle": "" 133 | } 134 | } 135 | ] 136 | }, 137 | ``` 138 | 139 |
140 | 141 | ### CHANGELOG 142 | 143 | [CHANGELOG](./CHANGELOG.md) 144 | 145 |
146 | 147 | ### Suggest Editor Settings 148 | 149 | ```json 150 | "editor.fontSize": 16, 151 | "editor.lineHeight": 22, 152 | "editor.fontFamily": "Operator Mono Lig", 153 | ``` 154 | 155 | ### Issues & Suggestions 156 | 157 | For any issues or suggestions, please use [GitHub issues](https://github.com/tal7aouy/theme/issues). 158 | -------------------------------------------------------------------------------- /images/code-ts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0x-97/theme/ac85540d6494cf3b7dffd6adc8a06af6c1dd4b0d/images/code-ts.png -------------------------------------------------------------------------------- /images/code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0x-97/theme/ac85540d6494cf3b7dffd6adc8a06af6c1dd4b0d/images/code.png -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0x-97/theme/ac85540d6494cf3b7dffd6adc8a06af6c1dd4b0d/logo.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "theme", 3 | "displayName": "Theme", 4 | "description": "A Visual Studio Code theme for those of us who like to code late into the night", 5 | "version": "3.1.0", 6 | "publisher": "tal7aouy", 7 | "author": { 8 | "name": "MHAMMED TALHAOUY", 9 | "email": "tal7aouy@gmail.com", 10 | "url": "https:/talhaouy.me" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/tal7aouy/theme" 15 | }, 16 | "galleryBanner": { 17 | "color": "#282c34", 18 | "theme": "dark" 19 | }, 20 | "sponsor": { 21 | "url": "https://ko-fi.com/tal7aouy" 22 | }, 23 | "scripts": { 24 | "prepare": "husky install", 25 | "package": "mkdir -p ./theme && vsce package -o ./theme/theme.vsix", 26 | "vscode:prepublish": "npm run build:fetch", 27 | "vsce-publish": "vsce publish", 28 | "postinstall": "npm run fetch:reference", 29 | "dev": "DEBUG_VSCODE=1 ts-node-dev -r tsconfig-paths/register ./src/index.ts", 30 | "exec:file": "ts-node -r tsconfig-paths/register", 31 | "build": "npm run exec:file ./src/index.ts", 32 | "build:fetch": "npm run fetch:reference && npm run build", 33 | "fetch:reference": "npm run exec:file ./src/scripts/fetch-theme-colors-reference", 34 | "prettier:format": "prettier --config .prettierrc 'src/**/*.ts' --write", 35 | "lint": "eslint . --ext .ts" 36 | }, 37 | "nodemonConfig": { 38 | "ext": "ts", 39 | "exec": "ts-node src/index.ts" 40 | }, 41 | "bugs": { 42 | "url": "https://github.com/tal7aouy/theme/issues" 43 | }, 44 | "engines": { 45 | "vscode": "^1.61.0" 46 | }, 47 | "categories": [ 48 | "Themes", 49 | "Other" 50 | ], 51 | "icon": "logo.png", 52 | "keywords": [ 53 | "Theme", 54 | "Dark Theme", 55 | "Customize", 56 | "Professional", 57 | "One Theme", 58 | "One Dark" 59 | ], 60 | "contributes": { 61 | "themes": [ 62 | { 63 | "label": "Theme", 64 | "uiTheme": "vs-dark", 65 | "path": "./themes/Theme.json" 66 | }, 67 | { 68 | "label": "Theme Flat", 69 | "uiTheme": "vs-dark", 70 | "path": "./themes/ThemeFlat.json" 71 | },{ 72 | "label": "Theme Mix", 73 | "uiTheme": "vs-dark", 74 | "path": "./themes/ThemeMix.json" 75 | }, 76 | { 77 | "label": "Theme Darker", 78 | "uiTheme": "vs-dark", 79 | "path": "./themes/ThemeDarker.json" 80 | } 81 | ] 82 | }, 83 | "devDependencies": { 84 | "@types/node": "^17.0.21", 85 | "@types/to-json-schema": "^0.2.1", 86 | "@typescript-eslint/eslint-plugin": "^5.17.0", 87 | "@typescript-eslint/parser": "^5.17.0", 88 | "eslint": "^8.9.0", 89 | "eslint-config-prettier": "^8.4.0", 90 | "eslint-config-standard": "^16.0.3", 91 | "eslint-plugin-import": "^2.25.4", 92 | "eslint-plugin-node": "^11.1.0", 93 | "eslint-plugin-prettier": "^4.0.0", 94 | "eslint-plugin-promise": "^6.0.0", 95 | "husky": "^7.0.4", 96 | "json-schema-to-typescript": "^10.1.5", 97 | "lint-staged": "^12.3.4", 98 | "prettier": "^2.5.1", 99 | "to-json-schema": "^0.2.5", 100 | "ts-node": "^10.5.0", 101 | "ts-node-dev": "^1.1.8", 102 | "tsconfig-paths": "^3.12.0", 103 | "typescript": "^4.5.5", 104 | "vsce": "^2.6.7" 105 | }, 106 | "badges": [ 107 | { 108 | "url": "https://vsmarketplacebadges.dev/version/tal7aouy.theme.png", 109 | "href": "https://marketplace.visualstudio.com/items/tal7aouy.theme", 110 | "description": "Extension version" 111 | }, 112 | { 113 | "url": "https://vsmarketplacebadges.dev/installs/tal7aouy.theme.png", 114 | "href": "https://marketplace.visualstudio.com/items/tal7aouy.theme", 115 | "description": "Extension installs" 116 | }, 117 | { 118 | "url": "https://vsmarketplacebadges.dev/rating/tal7aouy.theme.png", 119 | "href": "https://marketplace.visualstudio.com/items/tal7aouy.theme", 120 | "description": "Extension Rating" 121 | } 122 | ] 123 | } -------------------------------------------------------------------------------- /src/@types/ThemeColorsReference.d.ts: -------------------------------------------------------------------------------- 1 | /* tslint:disable */ 2 | /** 3 | * This file was automatically generated by json-schema-to-typescript. 4 | * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, 5 | * and run json-schema-to-typescript to regenerate this file. 6 | */ 7 | 8 | export interface ThemeColorsReference { 9 | 'activityBar.activeBackground'?: string 10 | 'activityBar.activeBorder'?: string 11 | 'activityBar.activeFocusBorder'?: string 12 | 'activityBar.background'?: string 13 | 'activityBar.border'?: string 14 | 'activityBar.dropBorder'?: string 15 | 'activityBar.foreground'?: string 16 | 'activityBar.inactiveForeground'?: string 17 | 'activityBarBadge.background'?: string 18 | 'activityBarBadge.foreground'?: string 19 | 'badge.background'?: string 20 | 'badge.foreground'?: string 21 | 'banner.background'?: string 22 | 'banner.foreground'?: string 23 | 'banner.iconForeground'?: string 24 | 'breadcrumb.activeSelectionForeground'?: string 25 | 'breadcrumb.background'?: string 26 | 'breadcrumb.focusForeground'?: string 27 | 'breadcrumb.foreground'?: string 28 | 'breadcrumbPicker.background'?: string 29 | 'button.background'?: string 30 | 'button.border'?: string 31 | 'button.foreground'?: string 32 | 'button.hoverBackground'?: string 33 | 'button.secondaryBackground'?: string 34 | 'button.secondaryForeground'?: string 35 | 'button.secondaryHoverBackground'?: string 36 | 'button.separator'?: string 37 | 'charts.blue'?: string 38 | 'charts.foreground'?: string 39 | 'charts.green'?: string 40 | 'charts.lines'?: string 41 | 'charts.orange'?: string 42 | 'charts.purple'?: string 43 | 'charts.red'?: string 44 | 'charts.yellow'?: string 45 | 'chat.requestBackground'?: string 46 | 'chat.requestBorder'?: string 47 | 'checkbox.background'?: string 48 | 'checkbox.border'?: string 49 | 'checkbox.foreground'?: string 50 | 'checkbox.selectBackground'?: string 51 | 'checkbox.selectBorder'?: string 52 | 'commandCenter.activeBackground'?: string 53 | 'commandCenter.activeBorder'?: string 54 | 'commandCenter.activeForeground'?: string 55 | 'commandCenter.background'?: string 56 | 'commandCenter.border'?: string 57 | 'commandCenter.foreground'?: string 58 | 'commandCenter.inactiveBorder'?: string 59 | 'commandCenter.inactiveForeground'?: string 60 | 'commentsView.resolvedIcon'?: string 61 | 'commentsView.unresolvedIcon'?: string 62 | contrastActiveBorder?: string 63 | contrastBorder?: string 64 | 'debugConsole.errorForeground'?: string 65 | 'debugConsole.infoForeground'?: string 66 | 'debugConsole.sourceForeground'?: string 67 | 'debugConsole.warningForeground'?: string 68 | 'debugConsoleInputIcon.foreground'?: string 69 | 'debugExceptionWidget.background'?: string 70 | 'debugExceptionWidget.border'?: string 71 | 'debugIcon.breakpointCurrentStackframeForeground'?: string 72 | 'debugIcon.breakpointDisabledForeground'?: string 73 | 'debugIcon.breakpointForeground'?: string 74 | 'debugIcon.breakpointStackframeForeground'?: string 75 | 'debugIcon.breakpointUnverifiedForeground'?: string 76 | 'debugIcon.continueForeground'?: string 77 | 'debugIcon.disconnectForeground'?: string 78 | 'debugIcon.pauseForeground'?: string 79 | 'debugIcon.restartForeground'?: string 80 | 'debugIcon.startForeground'?: string 81 | 'debugIcon.stepBackForeground'?: string 82 | 'debugIcon.stepIntoForeground'?: string 83 | 'debugIcon.stepOutForeground'?: string 84 | 'debugIcon.stepOverForeground'?: string 85 | 'debugIcon.stopForeground'?: string 86 | 'debugTokenExpression.boolean'?: string 87 | 'debugTokenExpression.error'?: string 88 | 'debugTokenExpression.name'?: string 89 | 'debugTokenExpression.number'?: string 90 | 'debugTokenExpression.string'?: string 91 | 'debugTokenExpression.value'?: string 92 | 'debugToolBar.background'?: string 93 | 'debugToolBar.border'?: string 94 | 'debugView.exceptionLabelBackground'?: string 95 | 'debugView.exceptionLabelForeground'?: string 96 | 'debugView.stateLabelBackground'?: string 97 | 'debugView.stateLabelForeground'?: string 98 | 'debugView.valueChangedHighlight'?: string 99 | descriptionForeground?: string 100 | 'diffEditor.border'?: string 101 | 'diffEditor.diagonalFill'?: string 102 | 'diffEditor.insertedLineBackground'?: string 103 | 'diffEditor.insertedTextBackground'?: string 104 | 'diffEditor.insertedTextBorder'?: string 105 | 'diffEditor.move.border'?: string 106 | 'diffEditor.removedLineBackground'?: string 107 | 'diffEditor.removedTextBackground'?: string 108 | 'diffEditor.removedTextBorder'?: string 109 | 'diffEditor.unchangedCodeBackground'?: string 110 | 'diffEditor.unchangedRegionBackground'?: string 111 | 'diffEditor.unchangedRegionForeground'?: string 112 | 'diffEditorGutter.insertedLineBackground'?: string 113 | 'diffEditorGutter.removedLineBackground'?: string 114 | 'diffEditorOverview.insertedForeground'?: string 115 | 'diffEditorOverview.removedForeground'?: string 116 | disabledForeground?: string 117 | 'dropdown.background'?: string 118 | 'dropdown.border'?: string 119 | 'dropdown.foreground'?: string 120 | 'dropdown.listBackground'?: string 121 | 'editor.background'?: string 122 | 'editor.findMatchBackground'?: string 123 | 'editor.findMatchBorder'?: string 124 | 'editor.findMatchHighlightBackground'?: string 125 | 'editor.findMatchHighlightBorder'?: string 126 | 'editor.findRangeHighlightBackground'?: string 127 | 'editor.findRangeHighlightBorder'?: string 128 | 'editor.focusedStackFrameHighlightBackground'?: string 129 | 'editor.foldBackground'?: string 130 | 'editor.foreground'?: string 131 | 'editor.hoverHighlightBackground'?: string 132 | 'editor.inactiveSelectionBackground'?: string 133 | 'editor.inlineValuesBackground'?: string 134 | 'editor.inlineValuesForeground'?: string 135 | 'editor.lineHighlightBackground'?: string 136 | 'editor.lineHighlightBorder'?: string 137 | 'editor.linkedEditingBackground'?: string 138 | 'editor.rangeHighlightBackground'?: string 139 | 'editor.rangeHighlightBorder'?: string 140 | 'editor.selectionBackground'?: string 141 | 'editor.selectionForeground'?: string 142 | 'editor.selectionHighlightBackground'?: string 143 | 'editor.selectionHighlightBorder'?: string 144 | 'editor.snippetFinalTabstopHighlightBackground'?: string 145 | 'editor.snippetFinalTabstopHighlightBorder'?: string 146 | 'editor.snippetTabstopHighlightBackground'?: string 147 | 'editor.snippetTabstopHighlightBorder'?: string 148 | 'editor.stackFrameHighlightBackground'?: string 149 | 'editor.symbolHighlightBackground'?: string 150 | 'editor.symbolHighlightBorder'?: string 151 | 'editor.wordHighlightBackground'?: string 152 | 'editor.wordHighlightBorder'?: string 153 | 'editor.wordHighlightStrongBackground'?: string 154 | 'editor.wordHighlightStrongBorder'?: string 155 | 'editor.wordHighlightTextBackground'?: string 156 | 'editor.wordHighlightTextBorder'?: string 157 | 'editorBracketHighlight.foreground1'?: string 158 | 'editorBracketHighlight.foreground2'?: string 159 | 'editorBracketHighlight.foreground3'?: string 160 | 'editorBracketHighlight.foreground4'?: string 161 | 'editorBracketHighlight.foreground5'?: string 162 | 'editorBracketHighlight.foreground6'?: string 163 | 'editorBracketHighlight.unexpectedBracket.foreground'?: string 164 | 'editorBracketMatch.background'?: string 165 | 'editorBracketMatch.border'?: string 166 | 'editorBracketPairGuide.activeBackground1'?: string 167 | 'editorBracketPairGuide.activeBackground2'?: string 168 | 'editorBracketPairGuide.activeBackground3'?: string 169 | 'editorBracketPairGuide.activeBackground4'?: string 170 | 'editorBracketPairGuide.activeBackground5'?: string 171 | 'editorBracketPairGuide.activeBackground6'?: string 172 | 'editorBracketPairGuide.background1'?: string 173 | 'editorBracketPairGuide.background2'?: string 174 | 'editorBracketPairGuide.background3'?: string 175 | 'editorBracketPairGuide.background4'?: string 176 | 'editorBracketPairGuide.background5'?: string 177 | 'editorBracketPairGuide.background6'?: string 178 | 'editorCodeLens.foreground'?: string 179 | 'editorCommentsWidget.rangeActiveBackground'?: string 180 | 'editorCommentsWidget.rangeActiveBorder'?: string 181 | 'editorCommentsWidget.rangeBackground'?: string 182 | 'editorCommentsWidget.rangeBorder'?: string 183 | 'editorCommentsWidget.resolvedBorder'?: string 184 | 'editorCommentsWidget.unresolvedBorder'?: string 185 | 'editorCursor.background'?: string 186 | 'editorCursor.foreground'?: string 187 | 'editorError.background'?: string 188 | 'editorError.border'?: string 189 | 'editorError.foreground'?: string 190 | 'editorGhostText.background'?: string 191 | 'editorGhostText.border'?: string 192 | 'editorGhostText.foreground'?: string 193 | 'editorGroup.border'?: string 194 | 'editorGroup.dropBackground'?: string 195 | 'editorGroup.dropIntoPromptBackground'?: string 196 | 'editorGroup.dropIntoPromptBorder'?: string 197 | 'editorGroup.dropIntoPromptForeground'?: string 198 | 'editorGroup.emptyBackground'?: string 199 | 'editorGroup.focusedEmptyBorder'?: string 200 | 'editorGroupHeader.border'?: string 201 | 'editorGroupHeader.noTabsBackground'?: string 202 | 'editorGroupHeader.tabsBackground'?: string 203 | 'editorGroupHeader.tabsBorder'?: string 204 | 'editorGutter.addedBackground'?: string 205 | 'editorGutter.background'?: string 206 | 'editorGutter.commentGlyphForeground'?: string 207 | 'editorGutter.commentRangeForeground'?: string 208 | 'editorGutter.commentUnresolvedGlyphForeground'?: string 209 | 'editorGutter.deletedBackground'?: string 210 | 'editorGutter.foldingControlForeground'?: string 211 | 'editorGutter.modifiedBackground'?: string 212 | 'editorHint.border'?: string 213 | 'editorHint.foreground'?: string 214 | 'editorHoverWidget.background'?: string 215 | 'editorHoverWidget.border'?: string 216 | 'editorHoverWidget.foreground'?: string 217 | 'editorHoverWidget.highlightForeground'?: string 218 | 'editorHoverWidget.statusBarBackground'?: string 219 | 'editorIndentGuide.activeBackground'?: string 220 | 'editorIndentGuide.background'?: string 221 | 'editorInfo.background'?: string 222 | 'editorInfo.border'?: string 223 | 'editorInfo.foreground'?: string 224 | 'editorInlayHint.background'?: string 225 | 'editorInlayHint.foreground'?: string 226 | 'editorInlayHint.parameterBackground'?: string 227 | 'editorInlayHint.parameterForeground'?: string 228 | 'editorInlayHint.typeBackground'?: string 229 | 'editorInlayHint.typeForeground'?: string 230 | 'editorLightBulb.foreground'?: string 231 | 'editorLightBulbAutoFix.foreground'?: string 232 | 'editorLineNumber.activeForeground'?: string 233 | 'editorLineNumber.dimmedForeground'?: string 234 | 'editorLineNumber.foreground'?: string 235 | 'editorLink.activeForeground'?: string 236 | 'editorMarkerNavigation.background'?: string 237 | 'editorMarkerNavigationError.background'?: string 238 | 'editorMarkerNavigationError.headerBackground'?: string 239 | 'editorMarkerNavigationInfo.background'?: string 240 | 'editorMarkerNavigationInfo.headerBackground'?: string 241 | 'editorMarkerNavigationWarning.background'?: string 242 | 'editorMarkerNavigationWarning.headerBackground'?: string 243 | 'editorOverviewRuler.addedForeground'?: string 244 | 'editorOverviewRuler.background'?: string 245 | 'editorOverviewRuler.border'?: string 246 | 'editorOverviewRuler.bracketMatchForeground'?: string 247 | 'editorOverviewRuler.commentForeground'?: string 248 | 'editorOverviewRuler.commentUnresolvedForeground'?: string 249 | 'editorOverviewRuler.commonContentForeground'?: string 250 | 'editorOverviewRuler.currentContentForeground'?: string 251 | 'editorOverviewRuler.deletedForeground'?: string 252 | 'editorOverviewRuler.errorForeground'?: string 253 | 'editorOverviewRuler.findMatchForeground'?: string 254 | 'editorOverviewRuler.incomingContentForeground'?: string 255 | 'editorOverviewRuler.infoForeground'?: string 256 | 'editorOverviewRuler.modifiedForeground'?: string 257 | 'editorOverviewRuler.rangeHighlightForeground'?: string 258 | 'editorOverviewRuler.selectionHighlightForeground'?: string 259 | 'editorOverviewRuler.warningForeground'?: string 260 | 'editorOverviewRuler.wordHighlightForeground'?: string 261 | 'editorOverviewRuler.wordHighlightStrongForeground'?: string 262 | 'editorOverviewRuler.wordHighlightTextForeground'?: string 263 | 'editorPane.background'?: string 264 | 'editorRuler.foreground'?: string 265 | 'editorStickyScroll.background'?: string 266 | 'editorStickyScrollHover.background'?: string 267 | 'editorSuggestWidget.background'?: string 268 | 'editorSuggestWidget.border'?: string 269 | 'editorSuggestWidget.focusHighlightForeground'?: string 270 | 'editorSuggestWidget.foreground'?: string 271 | 'editorSuggestWidget.highlightForeground'?: string 272 | 'editorSuggestWidget.selectedBackground'?: string 273 | 'editorSuggestWidget.selectedForeground'?: string 274 | 'editorSuggestWidget.selectedIconForeground'?: string 275 | 'editorSuggestWidgetStatus.foreground'?: string 276 | 'editorUnicodeHighlight.background'?: string 277 | 'editorUnicodeHighlight.border'?: string 278 | 'editorUnnecessaryCode.border'?: string 279 | 'editorUnnecessaryCode.opacity'?: string 280 | 'editorWarning.background'?: string 281 | 'editorWarning.border'?: string 282 | 'editorWarning.foreground'?: string 283 | 'editorWhitespace.foreground'?: string 284 | 'editorWidget.background'?: string 285 | 'editorWidget.border'?: string 286 | 'editorWidget.foreground'?: string 287 | 'editorWidget.resizeBorder'?: string 288 | errorForeground?: string 289 | 'extensionBadge.remoteBackground'?: string 290 | 'extensionBadge.remoteForeground'?: string 291 | 'extensionButton.background'?: string 292 | 'extensionButton.foreground'?: string 293 | 'extensionButton.hoverBackground'?: string 294 | 'extensionButton.prominentBackground'?: string 295 | 'extensionButton.prominentForeground'?: string 296 | 'extensionButton.prominentHoverBackground'?: string 297 | 'extensionButton.separator'?: string 298 | 'extensionIcon.preReleaseForeground'?: string 299 | 'extensionIcon.sponsorForeground'?: string 300 | 'extensionIcon.starForeground'?: string 301 | 'extensionIcon.verifiedForeground'?: string 302 | focusBorder?: string 303 | foreground?: string 304 | 'gitDecoration.addedResourceForeground'?: string 305 | 'gitDecoration.conflictingResourceForeground'?: string 306 | 'gitDecoration.deletedResourceForeground'?: string 307 | 'gitDecoration.ignoredResourceForeground'?: string 308 | 'gitDecoration.modifiedResourceForeground'?: string 309 | 'gitDecoration.renamedResourceForeground'?: string 310 | 'gitDecoration.stageDeletedResourceForeground'?: string 311 | 'gitDecoration.stageModifiedResourceForeground'?: string 312 | 'gitDecoration.submoduleResourceForeground'?: string 313 | 'gitDecoration.untrackedResourceForeground'?: string 314 | 'icon.foreground'?: string 315 | 'inlineChat.background'?: string 316 | 'inlineChat.border'?: string 317 | 'inlineChat.regionHighlight'?: string 318 | 'inlineChat.shadow'?: string 319 | 'inlineChatDiff.inserted'?: string 320 | 'inlineChatDiff.removed'?: string 321 | 'inlineChatInput.background'?: string 322 | 'inlineChatInput.border'?: string 323 | 'inlineChatInput.focusBorder'?: string 324 | 'inlineChatInput.placeholderForeground'?: string 325 | 'input.background'?: string 326 | 'input.border'?: string 327 | 'input.foreground'?: string 328 | 'input.placeholderForeground'?: string 329 | 'inputOption.activeBackground'?: string 330 | 'inputOption.activeBorder'?: string 331 | 'inputOption.activeForeground'?: string 332 | 'inputOption.hoverBackground'?: string 333 | 'inputValidation.errorBackground'?: string 334 | 'inputValidation.errorBorder'?: string 335 | 'inputValidation.errorForeground'?: string 336 | 'inputValidation.infoBackground'?: string 337 | 'inputValidation.infoBorder'?: string 338 | 'inputValidation.infoForeground'?: string 339 | 'inputValidation.warningBackground'?: string 340 | 'inputValidation.warningBorder'?: string 341 | 'inputValidation.warningForeground'?: string 342 | 'keybindingLabel.background'?: string 343 | 'keybindingLabel.border'?: string 344 | 'keybindingLabel.bottomBorder'?: string 345 | 'keybindingLabel.foreground'?: string 346 | 'keybindingTable.headerBackground'?: string 347 | 'keybindingTable.rowsBackground'?: string 348 | 'list.activeSelectionBackground'?: string 349 | 'list.activeSelectionForeground'?: string 350 | 'list.activeSelectionIconForeground'?: string 351 | 'list.deemphasizedForeground'?: string 352 | 'list.dropBackground'?: string 353 | 'list.errorForeground'?: string 354 | 'list.filterMatchBackground'?: string 355 | 'list.filterMatchBorder'?: string 356 | 'list.focusAndSelectionOutline'?: string 357 | 'list.focusBackground'?: string 358 | 'list.focusForeground'?: string 359 | 'list.focusHighlightForeground'?: string 360 | 'list.focusOutline'?: string 361 | 'list.highlightForeground'?: string 362 | 'list.hoverBackground'?: string 363 | 'list.hoverForeground'?: string 364 | 'list.inactiveFocusBackground'?: string 365 | 'list.inactiveFocusOutline'?: string 366 | 'list.inactiveSelectionBackground'?: string 367 | 'list.inactiveSelectionForeground'?: string 368 | 'list.inactiveSelectionIconForeground'?: string 369 | 'list.invalidItemForeground'?: string 370 | 'list.warningForeground'?: string 371 | 'listFilterWidget.background'?: string 372 | 'listFilterWidget.noMatchesOutline'?: string 373 | 'listFilterWidget.outline'?: string 374 | 'listFilterWidget.shadow'?: string 375 | 'menu.background'?: string 376 | 'menu.border'?: string 377 | 'menu.foreground'?: string 378 | 'menu.selectionBackground'?: string 379 | 'menu.selectionBorder'?: string 380 | 'menu.selectionForeground'?: string 381 | 'menu.separatorBackground'?: string 382 | 'menubar.selectionBackground'?: string 383 | 'menubar.selectionBorder'?: string 384 | 'menubar.selectionForeground'?: string 385 | 'merge.border'?: string 386 | 'merge.commonContentBackground'?: string 387 | 'merge.commonHeaderBackground'?: string 388 | 'merge.currentContentBackground'?: string 389 | 'merge.currentHeaderBackground'?: string 390 | 'merge.incomingContentBackground'?: string 391 | 'merge.incomingHeaderBackground'?: string 392 | 'mergeEditor.change.background'?: string 393 | 'mergeEditor.change.word.background'?: string 394 | 'mergeEditor.changeBase.background'?: string 395 | 'mergeEditor.changeBase.word.background'?: string 396 | 'mergeEditor.conflict.handled.minimapOverViewRuler'?: string 397 | 'mergeEditor.conflict.handledFocused.border'?: string 398 | 'mergeEditor.conflict.handledUnfocused.border'?: string 399 | 'mergeEditor.conflict.input1.background'?: string 400 | 'mergeEditor.conflict.input2.background'?: string 401 | 'mergeEditor.conflict.unhandled.minimapOverViewRuler'?: string 402 | 'mergeEditor.conflict.unhandledFocused.border'?: string 403 | 'mergeEditor.conflict.unhandledUnfocused.border'?: string 404 | 'mergeEditor.conflictingLines.background'?: string 405 | 'minimap.background'?: string 406 | 'minimap.errorHighlight'?: string 407 | 'minimap.findMatchHighlight'?: string 408 | 'minimap.foregroundOpacity'?: string 409 | 'minimap.selectionHighlight'?: string 410 | 'minimap.selectionOccurrenceHighlight'?: string 411 | 'minimap.warningHighlight'?: string 412 | 'minimapGutter.addedBackground'?: string 413 | 'minimapGutter.deletedBackground'?: string 414 | 'minimapGutter.modifiedBackground'?: string 415 | 'minimapSlider.activeBackground'?: string 416 | 'minimapSlider.background'?: string 417 | 'minimapSlider.hoverBackground'?: string 418 | 'notebook.cellBorderColor'?: string 419 | 'notebook.cellEditorBackground'?: string 420 | 'notebook.cellHoverBackground'?: string 421 | 'notebook.cellInsertionIndicator'?: string 422 | 'notebook.cellStatusBarItemHoverBackground'?: string 423 | 'notebook.cellToolbarSeparator'?: string 424 | 'notebook.editorBackground'?: string 425 | 'notebook.focusedCellBackground'?: string 426 | 'notebook.focusedCellBorder'?: string 427 | 'notebook.focusedEditorBorder'?: string 428 | 'notebook.inactiveFocusedCellBorder'?: string 429 | 'notebook.inactiveSelectedCellBorder'?: string 430 | 'notebook.outputContainerBackgroundColor'?: string 431 | 'notebook.outputContainerBorderColor'?: string 432 | 'notebook.selectedCellBackground'?: string 433 | 'notebook.selectedCellBorder'?: string 434 | 'notebook.symbolHighlightBackground'?: string 435 | 'notebookEditorOverviewRuler.runningCellForeground'?: string 436 | 'notebookScrollbarSlider.activeBackground'?: string 437 | 'notebookScrollbarSlider.background'?: string 438 | 'notebookScrollbarSlider.hoverBackground'?: string 439 | 'notebookStatusErrorIcon.foreground'?: string 440 | 'notebookStatusRunningIcon.foreground'?: string 441 | 'notebookStatusSuccessIcon.foreground'?: string 442 | 'notificationCenter.border'?: string 443 | 'notificationCenterHeader.background'?: string 444 | 'notificationCenterHeader.foreground'?: string 445 | 'notificationLink.foreground'?: string 446 | 'notificationToast.border'?: string 447 | 'notifications.background'?: string 448 | 'notifications.border'?: string 449 | 'notifications.foreground'?: string 450 | 'notificationsErrorIcon.foreground'?: string 451 | 'notificationsInfoIcon.foreground'?: string 452 | 'notificationsWarningIcon.foreground'?: string 453 | 'panel.background'?: string 454 | 'panel.border'?: string 455 | 'panel.dropBorder'?: string 456 | 'panelInput.border'?: string 457 | 'panelSection.border'?: string 458 | 'panelSection.dropBackground'?: string 459 | 'panelSectionHeader.background'?: string 460 | 'panelSectionHeader.border'?: string 461 | 'panelSectionHeader.foreground'?: string 462 | 'panelTitle.activeBorder'?: string 463 | 'panelTitle.activeForeground'?: string 464 | 'panelTitle.inactiveForeground'?: string 465 | 'peekView.border'?: string 466 | 'peekViewEditor.background'?: string 467 | 'peekViewEditor.matchHighlightBackground'?: string 468 | 'peekViewEditor.matchHighlightBorder'?: string 469 | 'peekViewEditorGutter.background'?: string 470 | 'peekViewEditorStickyScroll.background'?: string 471 | 'peekViewResult.background'?: string 472 | 'peekViewResult.fileForeground'?: string 473 | 'peekViewResult.lineForeground'?: string 474 | 'peekViewResult.matchHighlightBackground'?: string 475 | 'peekViewResult.selectionBackground'?: string 476 | 'peekViewResult.selectionForeground'?: string 477 | 'peekViewTitle.background'?: string 478 | 'peekViewTitleDescription.foreground'?: string 479 | 'peekViewTitleLabel.foreground'?: string 480 | 'pickerGroup.border'?: string 481 | 'pickerGroup.foreground'?: string 482 | 'ports.iconRunningProcessForeground'?: string 483 | 'problemsErrorIcon.foreground'?: string 484 | 'problemsInfoIcon.foreground'?: string 485 | 'problemsWarningIcon.foreground'?: string 486 | 'profileBadge.background'?: string 487 | 'profileBadge.foreground'?: string 488 | 'progressBar.background'?: string 489 | 'quickInput.background'?: string 490 | 'quickInput.foreground'?: string 491 | 'quickInputList.focusBackground'?: string 492 | 'quickInputList.focusForeground'?: string 493 | 'quickInputList.focusIconForeground'?: string 494 | 'quickInputTitle.background'?: string 495 | 'sash.hoverBorder'?: string 496 | 'scm.providerBorder'?: string 497 | 'scrollbar.shadow'?: string 498 | 'scrollbarSlider.activeBackground'?: string 499 | 'scrollbarSlider.background'?: string 500 | 'scrollbarSlider.hoverBackground'?: string 501 | 'search.resultsInfoForeground'?: string 502 | 'searchEditor.findMatchBackground'?: string 503 | 'searchEditor.findMatchBorder'?: string 504 | 'searchEditor.textInputBorder'?: string 505 | 'selection.background'?: string 506 | 'settings.checkboxBackground'?: string 507 | 'settings.checkboxBorder'?: string 508 | 'settings.checkboxForeground'?: string 509 | 'settings.dropdownBackground'?: string 510 | 'settings.dropdownBorder'?: string 511 | 'settings.dropdownForeground'?: string 512 | 'settings.dropdownListBorder'?: string 513 | 'settings.focusedRowBackground'?: string 514 | 'settings.focusedRowBorder'?: string 515 | 'settings.headerBorder'?: string 516 | 'settings.headerForeground'?: string 517 | 'settings.modifiedItemIndicator'?: string 518 | 'settings.numberInputBackground'?: string 519 | 'settings.numberInputBorder'?: string 520 | 'settings.numberInputForeground'?: string 521 | 'settings.rowHoverBackground'?: string 522 | 'settings.sashBorder'?: string 523 | 'settings.settingsHeaderHoverForeground'?: string 524 | 'settings.textInputBackground'?: string 525 | 'settings.textInputBorder'?: string 526 | 'settings.textInputForeground'?: string 527 | 'sideBar.background'?: string 528 | 'sideBar.border'?: string 529 | 'sideBar.dropBackground'?: string 530 | 'sideBar.foreground'?: string 531 | 'sideBarSectionHeader.background'?: string 532 | 'sideBarSectionHeader.border'?: string 533 | 'sideBarSectionHeader.foreground'?: string 534 | 'sideBarTitle.foreground'?: string 535 | 'sideBySideEditor.horizontalBorder'?: string 536 | 'sideBySideEditor.verticalBorder'?: string 537 | 'statusBar.background'?: string 538 | 'statusBar.border'?: string 539 | 'statusBar.debuggingBackground'?: string 540 | 'statusBar.debuggingBorder'?: string 541 | 'statusBar.debuggingForeground'?: string 542 | 'statusBar.focusBorder'?: string 543 | 'statusBar.foreground'?: string 544 | 'statusBar.noFolderBackground'?: string 545 | 'statusBar.noFolderBorder'?: string 546 | 'statusBar.noFolderForeground'?: string 547 | 'statusBarItem.activeBackground'?: string 548 | 'statusBarItem.compactHoverBackground'?: string 549 | 'statusBarItem.errorBackground'?: string 550 | 'statusBarItem.errorForeground'?: string 551 | 'statusBarItem.errorHoverBackground'?: string 552 | 'statusBarItem.errorHoverForeground'?: string 553 | 'statusBarItem.focusBorder'?: string 554 | 'statusBarItem.hoverBackground'?: string 555 | 'statusBarItem.offlineBackground'?: string 556 | 'statusBarItem.offlineForeground'?: string 557 | 'statusBarItem.offlineHoverBackground'?: string 558 | 'statusBarItem.offlineHoverForeground'?: string 559 | 'statusBarItem.prominentBackground'?: string 560 | 'statusBarItem.prominentForeground'?: string 561 | 'statusBarItem.prominentHoverBackground'?: string 562 | 'statusBarItem.remoteBackground'?: string 563 | 'statusBarItem.remoteForeground'?: string 564 | 'statusBarItem.remoteHoverBackground'?: string 565 | 'statusBarItem.remoteHoverForeground'?: string 566 | 'statusBarItem.warningBackground'?: string 567 | 'statusBarItem.warningForeground'?: string 568 | 'statusBarItem.warningHoverBackground'?: string 569 | 'statusBarItem.warningHoverForeground'?: string 570 | 'symbolIcon.arrayForeground'?: string 571 | 'symbolIcon.booleanForeground'?: string 572 | 'symbolIcon.classForeground'?: string 573 | 'symbolIcon.colorForeground'?: string 574 | 'symbolIcon.constantForeground'?: string 575 | 'symbolIcon.constructorForeground'?: string 576 | 'symbolIcon.enumeratorForeground'?: string 577 | 'symbolIcon.enumeratorMemberForeground'?: string 578 | 'symbolIcon.eventForeground'?: string 579 | 'symbolIcon.fieldForeground'?: string 580 | 'symbolIcon.fileForeground'?: string 581 | 'symbolIcon.folderForeground'?: string 582 | 'symbolIcon.functionForeground'?: string 583 | 'symbolIcon.interfaceForeground'?: string 584 | 'symbolIcon.keyForeground'?: string 585 | 'symbolIcon.keywordForeground'?: string 586 | 'symbolIcon.methodForeground'?: string 587 | 'symbolIcon.moduleForeground'?: string 588 | 'symbolIcon.namespaceForeground'?: string 589 | 'symbolIcon.nullForeground'?: string 590 | 'symbolIcon.numberForeground'?: string 591 | 'symbolIcon.objectForeground'?: string 592 | 'symbolIcon.operatorForeground'?: string 593 | 'symbolIcon.packageForeground'?: string 594 | 'symbolIcon.propertyForeground'?: string 595 | 'symbolIcon.referenceForeground'?: string 596 | 'symbolIcon.snippetForeground'?: string 597 | 'symbolIcon.stringForeground'?: string 598 | 'symbolIcon.structForeground'?: string 599 | 'symbolIcon.textForeground'?: string 600 | 'symbolIcon.typeParameterForeground'?: string 601 | 'symbolIcon.unitForeground'?: string 602 | 'symbolIcon.variableForeground'?: string 603 | 'tab.activeBackground'?: string 604 | 'tab.activeBorder'?: string 605 | 'tab.activeBorderTop'?: string 606 | 'tab.activeForeground'?: string 607 | 'tab.activeModifiedBorder'?: string 608 | 'tab.border'?: string 609 | 'tab.hoverBackground'?: string 610 | 'tab.hoverBorder'?: string 611 | 'tab.hoverForeground'?: string 612 | 'tab.inactiveBackground'?: string 613 | 'tab.inactiveForeground'?: string 614 | 'tab.inactiveModifiedBorder'?: string 615 | 'tab.lastPinnedBorder'?: string 616 | 'tab.unfocusedActiveBackground'?: string 617 | 'tab.unfocusedActiveBorder'?: string 618 | 'tab.unfocusedActiveBorderTop'?: string 619 | 'tab.unfocusedActiveForeground'?: string 620 | 'tab.unfocusedActiveModifiedBorder'?: string 621 | 'tab.unfocusedHoverBackground'?: string 622 | 'tab.unfocusedHoverBorder'?: string 623 | 'tab.unfocusedHoverForeground'?: string 624 | 'tab.unfocusedInactiveBackground'?: string 625 | 'tab.unfocusedInactiveForeground'?: string 626 | 'tab.unfocusedInactiveModifiedBorder'?: string 627 | 'terminal.ansiBlack'?: string 628 | 'terminal.ansiBlue'?: string 629 | 'terminal.ansiBrightBlack'?: string 630 | 'terminal.ansiBrightBlue'?: string 631 | 'terminal.ansiBrightCyan'?: string 632 | 'terminal.ansiBrightGreen'?: string 633 | 'terminal.ansiBrightMagenta'?: string 634 | 'terminal.ansiBrightRed'?: string 635 | 'terminal.ansiBrightWhite'?: string 636 | 'terminal.ansiBrightYellow'?: string 637 | 'terminal.ansiCyan'?: string 638 | 'terminal.ansiGreen'?: string 639 | 'terminal.ansiMagenta'?: string 640 | 'terminal.ansiRed'?: string 641 | 'terminal.ansiWhite'?: string 642 | 'terminal.ansiYellow'?: string 643 | 'terminal.background'?: string 644 | 'terminal.border'?: string 645 | 'terminal.dropBackground'?: string 646 | 'terminal.findMatchBackground'?: string 647 | 'terminal.findMatchBorder'?: string 648 | 'terminal.findMatchHighlightBackground'?: string 649 | 'terminal.findMatchHighlightBorder'?: string 650 | 'terminal.foreground'?: string 651 | 'terminal.hoverHighlightBackground'?: string 652 | 'terminal.inactiveSelectionBackground'?: string 653 | 'terminal.selectionBackground'?: string 654 | 'terminal.selectionForeground'?: string 655 | 'terminal.tab.activeBorder'?: string 656 | 'terminalCommandDecoration.defaultBackground'?: string 657 | 'terminalCommandDecoration.errorBackground'?: string 658 | 'terminalCommandDecoration.successBackground'?: string 659 | 'terminalCursor.background'?: string 660 | 'terminalCursor.foreground'?: string 661 | 'terminalOverviewRuler.cursorForeground'?: string 662 | 'terminalOverviewRuler.findMatchForeground'?: string 663 | 'testing.iconErrored'?: string 664 | 'testing.iconFailed'?: string 665 | 'testing.iconPassed'?: string 666 | 'testing.iconQueued'?: string 667 | 'testing.iconSkipped'?: string 668 | 'testing.iconUnset'?: string 669 | 'testing.message.error.decorationForeground'?: string 670 | 'testing.message.error.lineBackground'?: string 671 | 'testing.message.info.decorationForeground'?: string 672 | 'testing.message.info.lineBackground'?: string 673 | 'testing.peekBorder'?: string 674 | 'testing.peekHeaderBackground'?: string 675 | 'testing.runAction'?: string 676 | 'textBlockQuote.background'?: string 677 | 'textBlockQuote.border'?: string 678 | 'textCodeBlock.background'?: string 679 | 'textLink.activeForeground'?: string 680 | 'textLink.foreground'?: string 681 | 'textPreformat.foreground'?: string 682 | 'textSeparator.foreground'?: string 683 | 'titleBar.activeBackground'?: string 684 | 'titleBar.activeForeground'?: string 685 | 'titleBar.border'?: string 686 | 'titleBar.inactiveBackground'?: string 687 | 'titleBar.inactiveForeground'?: string 688 | 'toolbar.activeBackground'?: string 689 | 'toolbar.hoverBackground'?: string 690 | 'toolbar.hoverOutline'?: string 691 | 'tree.inactiveIndentGuidesStroke'?: string 692 | 'tree.indentGuidesStroke'?: string 693 | 'tree.tableColumnsBorder'?: string 694 | 'tree.tableOddRowsBackground'?: string 695 | 'walkThrough.embeddedEditorBackground'?: string 696 | 'walkthrough.stepTitle.foreground'?: string 697 | 'welcomePage.background'?: string 698 | 'welcomePage.progress.background'?: string 699 | 'welcomePage.progress.foreground'?: string 700 | 'welcomePage.tileBackground'?: string 701 | 'welcomePage.tileBorder'?: string 702 | 'welcomePage.tileHoverBackground'?: string 703 | 'widget.border'?: string 704 | 'widget.shadow'?: string 705 | 'window.activeBorder'?: string 706 | 'window.inactiveBorder'?: string 707 | } 708 | -------------------------------------------------------------------------------- /src/@types/ThemeSchema.d.ts: -------------------------------------------------------------------------------- 1 | import { ThemeColorsReference } from './ThemeColorsReference' 2 | 3 | export type TokenColor = { 4 | name?: string 5 | scope: string | string[] // There are semantic, common scopes which can be found at https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#standard-token-types-and-modifiers 6 | settings: { 7 | fontStyle?: string 8 | foreground?: string 9 | } 10 | } 11 | 12 | type OrNull = { [K in keyof T]: T[K] | null } 13 | 14 | export type ThemeSchema = { 15 | name: string 16 | type: 'dark' | 'light' 17 | colors: OrNull 18 | tokenColors: TokenColor[] 19 | } 20 | -------------------------------------------------------------------------------- /src/config/index.ts: -------------------------------------------------------------------------------- 1 | import path from 'path' 2 | 3 | export const config = { 4 | variantsDir: path.resolve(__dirname, '..', 'variants'), 5 | typesDir: path.resolve(__dirname, '..', '@types'), 6 | themesDir: path.resolve(__dirname, '..', '..', 'themes'), 7 | prettierConfigFile: path.join(__dirname, '..', '..', '.prettierrc'), 8 | themeColorReferenceURL: 9 | 'https://code.visualstudio.com/api/references/theme-color', 10 | disposableKeys: [ 11 | 'workbench.colorCustomizations', 12 | 'editor.tokenColorCustomizations', 13 | ], 14 | } 15 | -------------------------------------------------------------------------------- /src/config/setting.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'Theme', 3 | type: 'dark', 4 | semanticHighlighting: true, 5 | semanticTokenColors: { 6 | enumMember: { 7 | foreground: '#56b6c2', 8 | }, 9 | 'variable.constant': { 10 | foreground: '#BB7737', 11 | }, 12 | 'variable.defaultLibrary': { 13 | foreground: '#e5c07b', 14 | }, 15 | 'variable:dart': { 16 | foreground: '#BB7737', 17 | }, 18 | 'property:dart': { 19 | foreground: '#BB7737', 20 | }, 21 | 'annotation:dart': { 22 | foreground: '#BB7737', 23 | }, 24 | 'parameter.label:dart': { 25 | foreground: '#abb2bf', 26 | }, 27 | macro: { 28 | foreground: '#BB7737', 29 | }, 30 | }, 31 | } 32 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { build } from '~/scripts/build' 2 | import { pressEnterToExit } from '~/utils/press-enter-to-exit' 3 | import Theme from '~/variants/theme' 4 | import ThemeDarker from '~/variants/themeDarker' 5 | import ThemeFlat from '~/variants/ThemeFlat' 6 | import themeMix from '~/variants/themeMix' 7 | 8 | async function run() { 9 | await build(Theme) 10 | await build(ThemeDarker) 11 | await build(ThemeFlat) 12 | await build(themeMix) 13 | 14 | if (process.env.DEBUG_VSCODE) { 15 | pressEnterToExit() // Hold the process alive 16 | } 17 | } 18 | 19 | run() 20 | -------------------------------------------------------------------------------- /src/scripts/build/index.ts: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | import path from 'path' 3 | import { ThemeSchema } from '~/@types/ThemeSchema' 4 | import { config } from '~/config' 5 | 6 | const { themesDir } = config 7 | 8 | export async function build(theme: ThemeSchema) { 9 | if (!fs.existsSync(themesDir)) { 10 | await fs.promises.mkdir(themesDir, { recursive: true }) 11 | } 12 | 13 | const themeBuffer = JSON.stringify(theme, null, 2) 14 | const themeFile = path.join(themesDir, `${theme.name}.json`) 15 | 16 | await fs.promises.writeFile(themeFile, themeBuffer) 17 | 18 | console.log(`Successfully built "${theme.name}" into file ${themeFile}`) 19 | } 20 | -------------------------------------------------------------------------------- /src/scripts/fetch-theme-colors-reference/index.ts: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | import { JSONSchema4 } from 'json-schema' 3 | import { compile } from 'json-schema-to-typescript' 4 | import path from 'path' 5 | import toJsonSchema from 'to-json-schema' 6 | import { config } from '~/config' 7 | import { scrapeThemeAvailableKeys } from './scrape' 8 | 9 | const typeName = 'ThemeColorsReference' 10 | 11 | async function run() { 12 | if (!fs.existsSync(config.typesDir)) { 13 | await fs.promises.mkdir(config.typesDir, { recursive: true }) 14 | } 15 | 16 | const keys = await scrapeThemeAvailableKeys() 17 | 18 | const obj = keys.reduce((map, key) => { 19 | map[key] = '' 20 | return map 21 | }, {} as { [key: string]: string }) 22 | 23 | const schema = toJsonSchema(obj) 24 | schema.additionalProperties = false 25 | 26 | const prettierConfig = JSON.parse( 27 | await fs.promises.readFile(config.prettierConfigFile, 'utf8'), 28 | ) 29 | 30 | const tsdBuffer = await compile(schema as JSONSchema4, typeName, { 31 | style: prettierConfig, 32 | }) 33 | const tsdFile = path.join(config.typesDir, `${typeName}.d.ts`) 34 | 35 | await fs.promises.writeFile(tsdFile, tsdBuffer) 36 | 37 | console.log(`Successfully compiled ${typeName} to file ${tsdFile}`) 38 | } 39 | 40 | run() 41 | -------------------------------------------------------------------------------- /src/scripts/fetch-theme-colors-reference/scrape.ts: -------------------------------------------------------------------------------- 1 | import https from 'https' 2 | import { config } from '~/config' 3 | 4 | function get(url: string) { 5 | return new Promise((resolve, reject) => { 6 | https.get(url, res => { 7 | let body = '' 8 | res.setEncoding('utf8') 9 | res.on('data', data => (body += data)) 10 | res.on('end', () => resolve(body)) 11 | res.on('error', reject) 12 | }) 13 | }) 14 | } 15 | 16 | export async function scrapeThemeAvailableKeys() { 17 | const xml: string = await get(config.themeColorReferenceURL) 18 | 19 | const matches = xml.match(/.+?<\/code>/g) 20 | 21 | if (!matches) { 22 | throw new Error( 23 | "Couldn't find any matches with ..., maybe do cs have changed?", 24 | ) 25 | } 26 | 27 | const keys = [...matches].map(key => 28 | key.replace('', '').replace('', ''), 29 | ) 30 | 31 | return keys 32 | .filter(key => !/ /.test(key)) // Remove if contains spaces 33 | .filter(key => !/#.../.test(key)) // Remove if is a hex color 34 | .filter(key => !/"/.test(key)) // Remove if contains quotes 35 | .filter(key => key.length > 4) // Remove if it's very small 36 | .filter(key => !config.disposableKeys.includes(key)) // Remove if its in the list of disposable keys 37 | .sort() 38 | } 39 | -------------------------------------------------------------------------------- /src/utils/colors.ts: -------------------------------------------------------------------------------- 1 | interface IColors { 2 | chalky: string 3 | coral: string 4 | dark: string 5 | error: string 6 | fountainBlue: string 7 | green: string 8 | invalid: string 9 | lightDark: string 10 | lightWhite: string 11 | malibu: string 12 | purple: string 13 | whiskey: string 14 | deepRed: string 15 | } 16 | 17 | // colors used for our theme 18 | const colors: IColors = { 19 | chalky: '#e5c07b', 20 | coral: '#ef596f', 21 | dark: '#5c6370', 22 | error: '#f44747', 23 | fountainBlue: '#2bbac5', 24 | green: '#89ca78', 25 | invalid: '#ffffff', 26 | lightDark: '#7f848e', 27 | lightWhite: '#abb2bf', 28 | malibu: '#61afef', 29 | purple: '#d55fde', 30 | whiskey: '#d19a66', 31 | deepRed: '#BE5046', 32 | } 33 | export default colors 34 | -------------------------------------------------------------------------------- /src/utils/italic.ts: -------------------------------------------------------------------------------- 1 | import { TokenColor } from '~/@types/ThemeSchema' 2 | const Italic: TokenColor[] = [ 3 | { 4 | name: 'Comments', 5 | scope: 'comment, punctuation.definition.comment', 6 | settings: { 7 | fontStyle: 'italic', 8 | }, 9 | }, 10 | { 11 | name: 'js/ts italic', 12 | scope: 13 | 'entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super', 14 | settings: { 15 | fontStyle: 'italic', 16 | }, 17 | }, 18 | { 19 | name: 'comment', 20 | scope: 'comment.line.double-slash,comment.block.documentation', 21 | settings: { 22 | fontStyle: 'italic', 23 | }, 24 | }, 25 | { 26 | name: 'Python Keyword Control', 27 | scope: 28 | 'keyword.control.import.python,keyword.control.flow.python,keyword.operator.logical.python', 29 | settings: { 30 | fontStyle: 'italic', 31 | }, 32 | }, 33 | { 34 | name: 'markup.italic.markdown', 35 | scope: 'markup.italic.markdown', 36 | settings: { 37 | fontStyle: 'italic', 38 | }, 39 | }, 40 | { 41 | name: 'Keyword Operator Comparison,constant, imports, returns and Keyword Operator Ruby', 42 | scope: [ 43 | 'entity.other.attribute-name.html', 44 | 'storage.type', 45 | 'entity.name.function', 46 | 'constant.numeric.css', 47 | 'keyword.other.unit.px.css', 48 | 'keyword.operator.comparison', 49 | 'keyword.control.flow.js', 50 | 'keyword.control.flow.ts', 51 | 'keyword.control.flow.tsx', 52 | 'keyword.control.ruby', 53 | 'keyword.control.module.ruby', 54 | 'keyword.control.class.ruby', 55 | 'keyword.control.def.ruby', 56 | 'keyword.control.loop.js', 57 | 'keyword.control.loop.ts', 58 | 'keyword.control.import.js', 59 | 'keyword.control.import.ts', 60 | 'keyword.control.import.tsx', 61 | 'keyword.control.from.js', 62 | 'keyword.control.from.ts', 63 | 'keyword.control.from.tsx', 64 | 'keyword.operator.instanceof.js', 65 | 'keyword.operator.expression.instanceof.ts', 66 | 'keyword.operator.expression.instanceof.tsx', 67 | ], 68 | settings: { 69 | fontStyle: 'italic', 70 | }, 71 | }, 72 | ] 73 | 74 | export default Italic 75 | -------------------------------------------------------------------------------- /src/utils/press-enter-to-exit.ts: -------------------------------------------------------------------------------- 1 | export function pressEnterToExit() { 2 | const stdin = process.openStdin() 3 | 4 | console.log('Press ENTER to exit.') 5 | 6 | stdin.on('data', () => { 7 | process.exit() 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /src/variants/ThemeFlat.ts: -------------------------------------------------------------------------------- 1 | import { ThemeSchema } from '~/@types/ThemeSchema' 2 | import TokenColors from './TokenColors' 3 | const Theme: ThemeSchema = { 4 | name: 'ThemeFlat', 5 | type: 'dark', 6 | colors: { 7 | 'activityBar.background': '#282c34', 8 | 'activityBar.foreground': '#c7ccd6', 9 | 'activityBarBadge.background': '#21252b', 10 | 'activityBarBadge.foreground': '#f8fafd', 11 | 'badge.background': '#21252b', 12 | 'breadcrumbPicker.background': '#21252b', 13 | 'button.background': '#404754', 14 | 'button.secondaryBackground': '#30333d', 15 | 'button.secondaryForeground': '#c0bdbd', 16 | 'checkbox.border': '#404754', 17 | 'debugToolBar.background': '#21252b', 18 | descriptionForeground: '#abb2bf', 19 | 'diffEditor.insertedTextBackground': '#00809b33', 20 | 'dropdown.background': '#21252b', 21 | 'dropdown.border': '#21252b', 22 | 'dropdown.listBackground': '#21252b', 23 | 'editor.background': '#282c34', 24 | 'editor.findMatchBackground': '#42557b', 25 | 'editor.findMatchBorder': '#457dff', 26 | 'editor.findMatchHighlightBackground': '#6199ff2f', 27 | 'editor.foreground': '#abb2bf', 28 | 'editorBracketHighlight.foreground1': '#d19a66', 29 | 'editorBracketHighlight.foreground2': '#c678dd', 30 | 'editorBracketHighlight.foreground3': '#56b6c2', 31 | 'editorHoverWidget.highlightForeground': '#61afef', 32 | 'editorInlayHint.foreground': '#abb2bf', 33 | 'editorInlayHint.background': '#2c313c', 34 | 'editor.lineHighlightBackground': '#2c313c', 35 | 'editorLineNumber.activeForeground': '#abb2bf', 36 | 'editorGutter.addedBackground': '#109868', 37 | 'editorGutter.deletedBackground': '#9A353D', 38 | 'editorGutter.modifiedBackground': '#948B60', 39 | 'editor.selectionBackground': '#67769660', 40 | 'editor.selectionHighlightBackground': '#404859', 41 | 'editor.selectionHighlightBorder': '#404859', 42 | 'editor.wordHighlightBackground': '#d2e0ff2f', 43 | 'editor.wordHighlightBorder': '#7f848e', 44 | 'editor.wordHighlightStrongBackground': '#abb2bf26', 45 | 'editor.wordHighlightStrongBorder': '#7f848e', 46 | 'editorBracketMatch.background': '#515a6b', 47 | 'editorBracketMatch.border': '#515a6b', 48 | 'editorCursor.background': '#ffffffc9', 49 | 'editorCursor.foreground': '#f0f0f0', 50 | 'editorError.foreground': '#c24038', 51 | 'editorGroup.border': '#23252c', 52 | 'editorGroup.emptyBackground': '#282c34', 53 | 'editorGroupHeader.tabsBackground': '#282c34', 54 | 'editorHoverWidget.background': '#21252b', 55 | 'editorHoverWidget.border': '#181a1f', 56 | 'editorIndentGuide.activeBackground': '#495169', 57 | 'editorIndentGuide.background': '#343a45', 58 | 'editorLineNumber.foreground': '#495162', 59 | 'editorLink.activeForeground': '#f0f0f0', 60 | 'editorMarkerNavigation.background': '#21252b', 61 | 'editorOverviewRuler.border': '#282c34', 62 | 'editorRuler.foreground': '#abb2bf26', 63 | 'editorSuggestWidget.background': '#21252b', 64 | 'editorSuggestWidget.border': '#181a1f', 65 | 'editorSuggestWidget.selectedBackground': '#2c313a', 66 | 'editorWarning.foreground': '#d19a66', 67 | 'editorWhitespace.foreground': '#ffffff1d', 68 | 'editorWidget.background': '#21252b', 69 | focusBorder: '#282c34', 70 | 'gitDecoration.ignoredResourceForeground': '#636b78', 71 | 'input.background': '#21252b', 72 | 'input.foreground': '#abb2bf', 73 | 'list.activeSelectionBackground': '#2c313a', 74 | 'list.activeSelectionForeground': '#d7dae0', 75 | 'list.focusBackground': '#323842', 76 | 'list.focusForeground': '#f0f0f0', 77 | 'list.highlightForeground': '#ecebeb', 78 | 'list.hoverBackground': '#2c313a', 79 | 'list.hoverForeground': '#abb2bf', 80 | 'list.inactiveSelectionBackground': '#323842', 81 | 'list.inactiveSelectionForeground': '#d7dae0', 82 | 'list.warningForeground': '#d19a66', 83 | 'listFilterWidget.background': '#21252b', 84 | 'menu.foreground': '#abb2bf', 85 | 'menu.separatorBackground': '#343a45', 86 | 'menubar.selectionBackground': '#323842', 87 | 'menubar.selectionForeground': '#f0f0f0', 88 | 'minimapGutter.addedBackground': '#109868', 89 | 'minimapGutter.deletedBackground': '#9A353D', 90 | 'minimapGutter.modifiedBackground': '#948B60', 91 | 'notificationLink.foreground': '#f0f0f0', 92 | 'notifications.foreground': '#969aa4', 93 | 'panel.background': '#282c34', 94 | 'panel.border': '#3e4452', 95 | 'panelInput.border': '#23252c', 96 | 'panelSection.dropBackground': '#323842a8', 97 | 'panelSectionHeader.background': '#21252b', 98 | 'panelTitle.activeBorder': '#f0f0f0', 99 | 'panelTitle.activeForeground': '#f0f0f0', 100 | 'panelTitle.inactiveForeground': '#abb2bf', 101 | 'peekViewEditor.background': '#1b1d23', 102 | 'peekViewEditor.matchHighlightBackground': '#29244b', 103 | 'peekViewResult.background': '#22262b', 104 | 'progressBar.background': '#f0f0f0', 105 | 'scrollbar.shadow': '#282c34', 106 | 'scrollbarSlider.activeBackground': '#747d9180', 107 | 'scrollbarSlider.background': '#4e566660', 108 | 'scrollbarSlider.hoverBackground': '#5a637580', 109 | 'settings.focusedRowBackground': '#282c34', 110 | 'settings.headerForeground': '#fff', 111 | 'sideBar.background': '#282c34', 112 | 'sideBar.border': '#23252c', 113 | 'sideBar.dropBackground': '#323842a8', 114 | 'sideBar.foreground': '#969aa4', 115 | 'sideBarSectionHeader.background': '#282c34', 116 | 'sideBarSectionHeader.foreground': '#abb2bf', 117 | 'sideBarTitle.foreground': '#abb2bf', 118 | 'statusBar.background': '#282c34', 119 | 'statusBar.border': '#23252c', 120 | 'statusBar.debuggingBackground': '#cc6633', 121 | 'statusBar.debuggingBorder': '#ff000000', 122 | 'statusBar.debuggingForeground': '#fff', 123 | 'statusBar.foreground': '#969aa4', 124 | 'statusBar.noFolderBackground': '#282c34', 125 | 'statusBarItem.remoteBackground': '#ff000000', 126 | 'statusBarItem.remoteForeground': '#fff', 127 | 'statusBarItem.warningBackground': '#282c34', 128 | 'statusBarItem.warningForeground': '#b78853', 129 | 'tab.activeBackground': '#282c34', 130 | 'tab.activeForeground': '#dcdcdc', 131 | 'tab.hoverBackground': '#323842', 132 | 'tab.inactiveBackground': '#282c34', 133 | 'tab.unfocusedHoverBackground': '#323842', 134 | 'terminal.ansiBlack': '#3f4451', 135 | 'terminal.ansiBlue': '#4aa5f0', 136 | 'terminal.ansiBrightBlack': '#4f5666', 137 | 'terminal.ansiBrightBlue': '#4dc4ff', 138 | 'terminal.ansiBrightCyan': '#4cd1e0', 139 | 'terminal.ansiBrightGreen': '#a5e075', 140 | 'terminal.ansiBrightMagenta': '#de73ff', 141 | 'terminal.ansiBrightRed': '#ff616e', 142 | 'terminal.ansiBrightWhite': '#e6e6e6', 143 | 'terminal.ansiBrightYellow': '#f0a45d', 144 | 'terminal.ansiCyan': '#42b3c2', 145 | 'terminal.ansiGreen': '#8cc265', 146 | 'terminal.ansiMagenta': '#c162de', 147 | 'terminal.ansiRed': '#e05561', 148 | 'terminal.ansiWhite': '#d7dae0', 149 | 'terminal.ansiYellow': '#d18f52', 150 | 'terminal.background': '#282c34', 151 | 'terminal.border': '#3e4452', 152 | 'terminal.foreground': '#abb2bf', 153 | 'terminal.selectionBackground': '#abb2bf30', 154 | 'textLink.activeForeground': '#f0f0f0', 155 | 'textBlockQuote.background': '#2e3440', 156 | 'textBlockQuote.border': '#4b5362', 157 | 'textLink.foreground': '#f0f0f0', 158 | 'textPreformat.foreground': '#d19a66', 159 | 'titleBar.activeBackground': '#282c34', 160 | 'titleBar.activeForeground': '#9da5b4', 161 | 'titleBar.inactiveBackground': '#21252b', 162 | 'titleBar.inactiveForeground': '#6b717d', 163 | 'tree.indentGuidesStroke': '#343a45', 164 | 'widget.shadow': '#23252c', 165 | 'walkThrough.embeddedEditorBackground': '#2e3440', 166 | }, 167 | tokenColors: TokenColors, 168 | } 169 | 170 | export default Theme 171 | -------------------------------------------------------------------------------- /src/variants/TokenColors.ts: -------------------------------------------------------------------------------- 1 | import colors from '~/utils/colors' 2 | 3 | const TokenColors = [ 4 | { 5 | scope: 'meta.embedded', 6 | settings: { 7 | foreground: colors.lightWhite, 8 | }, 9 | }, 10 | { 11 | name: 'unison punctuation', 12 | scope: 13 | 'punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison', 14 | settings: { 15 | foreground: colors.coral, 16 | }, 17 | }, 18 | { 19 | name: 'haskell variable generic-type', 20 | scope: 'variable.other.generic-type.haskell', 21 | settings: { 22 | foreground: colors.purple, 23 | }, 24 | }, 25 | { 26 | name: 'haskell storage type', 27 | scope: 'storage.type.haskell', 28 | settings: { 29 | foreground: colors.whiskey, 30 | }, 31 | }, 32 | { 33 | name: 'support.variable.magic.python', 34 | scope: 'support.variable.magic.python', 35 | settings: { 36 | foreground: colors.coral, 37 | }, 38 | }, 39 | { 40 | name: 'punctuation.separator.parameters.python', 41 | scope: 42 | 'punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python', 43 | settings: { 44 | foreground: colors.lightWhite, 45 | }, 46 | }, 47 | { 48 | name: 'variable.parameter.function.language.special.self.python', 49 | scope: 'variable.parameter.function.language.special.self.python', 50 | settings: { 51 | foreground: colors.chalky, 52 | }, 53 | }, 54 | { 55 | name: 'variable.parameter.function.language.special.cls.python', 56 | scope: 'variable.parameter.function.language.special.cls.python', 57 | settings: { 58 | foreground: colors.chalky, 59 | }, 60 | }, 61 | { 62 | name: 'storage.modifier.lifetime.rust', 63 | scope: 'storage.modifier.lifetime.rust', 64 | settings: { 65 | foreground: colors.lightWhite, 66 | }, 67 | }, 68 | { 69 | name: 'support.function.std.rust', 70 | scope: 'support.function.std.rust', 71 | settings: { 72 | foreground: colors.malibu, 73 | }, 74 | }, 75 | { 76 | name: 'entity.name.lifetime.rust', 77 | scope: 'entity.name.lifetime.rust', 78 | settings: { 79 | foreground: colors.chalky, 80 | }, 81 | }, 82 | { 83 | name: 'variable.language.rust', 84 | scope: 'variable.language.rust', 85 | settings: { 86 | foreground: colors.coral, 87 | }, 88 | }, 89 | { 90 | name: 'support.constant.edge', 91 | scope: 'support.constant.edge', 92 | settings: { 93 | foreground: colors.purple, 94 | }, 95 | }, 96 | { 97 | name: 'regexp constant character-class', 98 | scope: 'constant.other.character-class.regexp', 99 | settings: { 100 | foreground: colors.coral, 101 | }, 102 | }, 103 | { 104 | name: 'keyword.operator', 105 | scope: ['keyword.operator.word'], 106 | settings: { 107 | foreground: colors.purple, 108 | }, 109 | }, 110 | { 111 | name: 'regexp operator.quantifier', 112 | scope: 'keyword.operator.quantifier.regexp', 113 | settings: { 114 | foreground: colors.whiskey, 115 | }, 116 | }, 117 | { 118 | name: 'Text', 119 | scope: 'variable.parameter.function', 120 | settings: { 121 | foreground: colors.lightWhite, 122 | }, 123 | }, 124 | { 125 | name: 'Comment Markup Link', 126 | scope: 'comment markup.link', 127 | settings: { 128 | foreground: colors.dark, 129 | }, 130 | }, 131 | { 132 | name: 'markup diff', 133 | scope: 'markup.changed.diff', 134 | settings: { 135 | foreground: colors.chalky, 136 | }, 137 | }, 138 | { 139 | name: 'diff', 140 | scope: 141 | 'meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff', 142 | settings: { 143 | foreground: colors.malibu, 144 | }, 145 | }, 146 | { 147 | name: 'inserted.diff', 148 | scope: 'markup.inserted.diff', 149 | settings: { 150 | foreground: colors.green, 151 | }, 152 | }, 153 | { 154 | name: 'deleted.diff', 155 | scope: 'markup.deleted.diff', 156 | settings: { 157 | foreground: colors.coral, 158 | }, 159 | }, 160 | { 161 | name: 'c++ function', 162 | scope: 'meta.function.c,meta.function.cpp', 163 | settings: { 164 | foreground: colors.coral, 165 | }, 166 | }, 167 | { 168 | name: 'c++ block', 169 | scope: 170 | 'punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c', 171 | settings: { 172 | foreground: colors.lightWhite, 173 | }, 174 | }, 175 | { 176 | name: 'js/ts punctuation separator key-value', 177 | scope: 'punctuation.separator.key-value', 178 | settings: { 179 | foreground: colors.lightWhite, 180 | }, 181 | }, 182 | { 183 | name: 'js/ts import keyword', 184 | scope: 'keyword.operator.expression.import', 185 | settings: { 186 | foreground: colors.malibu, 187 | }, 188 | }, 189 | { 190 | name: 'math js/ts', 191 | scope: 'support.constant.math', 192 | settings: { 193 | foreground: colors.chalky, 194 | }, 195 | }, 196 | { 197 | name: 'math property js/ts', 198 | scope: 'support.constant.property.math', 199 | settings: { 200 | foreground: colors.whiskey, 201 | }, 202 | }, 203 | { 204 | name: 'js/ts variable.other.constant', 205 | scope: 'variable.other.constant', 206 | settings: { 207 | foreground: colors.chalky, 208 | }, 209 | }, 210 | { 211 | name: 'java type', 212 | scope: ['storage.type.annotation.java', 'storage.type.object.array.java'], 213 | settings: { 214 | foreground: colors.chalky, 215 | }, 216 | }, 217 | { 218 | name: 'java source', 219 | scope: 'source.java', 220 | settings: { 221 | foreground: colors.coral, 222 | }, 223 | }, 224 | { 225 | name: 'java modifier.import', 226 | scope: 227 | 'punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java', 228 | settings: { 229 | foreground: colors.lightWhite, 230 | }, 231 | }, 232 | { 233 | name: 'java modifier.import', 234 | scope: 'meta.method.java', 235 | settings: { 236 | foreground: colors.malibu, 237 | }, 238 | }, 239 | { 240 | name: 'java modifier.import', 241 | scope: 242 | 'storage.modifier.import.java,storage.type.java,storage.type.generic.java', 243 | settings: { 244 | foreground: colors.chalky, 245 | }, 246 | }, 247 | { 248 | name: 'java instanceof', 249 | scope: 'keyword.operator.instanceof.java', 250 | settings: { 251 | foreground: colors.purple, 252 | }, 253 | }, 254 | { 255 | name: 'java variable.name', 256 | scope: 'meta.definition.variable.name.java', 257 | settings: { 258 | foreground: colors.coral, 259 | }, 260 | }, 261 | { 262 | name: 'operator logical', 263 | scope: 'keyword.operator.logical', 264 | settings: { 265 | foreground: colors.fountainBlue, 266 | }, 267 | }, 268 | { 269 | name: 'operator bitwise', 270 | scope: 'keyword.operator.bitwise', 271 | settings: { 272 | foreground: colors.fountainBlue, 273 | }, 274 | }, 275 | { 276 | name: 'operator channel', 277 | scope: 'keyword.operator.channel', 278 | settings: { 279 | foreground: colors.fountainBlue, 280 | }, 281 | }, 282 | { 283 | name: 'support.constant.property-value.scss', 284 | scope: 285 | 'support.constant.property-value.scss,support.constant.property-value.css', 286 | settings: { 287 | foreground: colors.whiskey, 288 | }, 289 | }, 290 | { 291 | name: 'CSS/SCSS/LESS Operators', 292 | scope: 'keyword.operator.css,keyword.operator.scss,keyword.operator.less', 293 | settings: { 294 | foreground: colors.fountainBlue, 295 | }, 296 | }, 297 | { 298 | name: 'css color standard name', 299 | scope: 300 | 'support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss', 301 | settings: { 302 | foreground: colors.whiskey, 303 | }, 304 | }, 305 | { 306 | name: 'css comma', 307 | scope: 'punctuation.separator.list.comma.css', 308 | settings: { 309 | foreground: colors.lightWhite, 310 | }, 311 | }, 312 | { 313 | name: 'css attribute-name.id', 314 | scope: 'support.constant.color.w3c-standard-color-name.css', 315 | settings: { 316 | foreground: colors.whiskey, 317 | }, 318 | }, 319 | { 320 | name: 'css property-name', 321 | scope: 'support.type.vendored.property-name.css', 322 | settings: { 323 | foreground: colors.fountainBlue, 324 | }, 325 | }, 326 | { 327 | name: 'js/ts module', 328 | scope: 'support.module.node,support.type.object.module,support.module.node', 329 | settings: { 330 | foreground: colors.chalky, 331 | }, 332 | }, 333 | { 334 | name: 'entity.name.type.module', 335 | scope: 'entity.name.type.module', 336 | settings: { 337 | foreground: colors.chalky, 338 | }, 339 | }, 340 | { 341 | name: 'js variable readwrite', 342 | scope: 343 | 'variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node', 344 | settings: { 345 | foreground: colors.coral, 346 | }, 347 | }, 348 | { 349 | name: 'js/ts json', 350 | scope: 'support.constant.json', 351 | settings: { 352 | foreground: colors.whiskey, 353 | }, 354 | }, 355 | { 356 | name: 'js/ts Keyword', 357 | scope: [ 358 | 'keyword.operator.expression.instanceof', 359 | 'keyword.operator.new', 360 | 'keyword.operator.ternary', 361 | 'keyword.operator.optional', 362 | 'keyword.operator.expression.keyof', 363 | ], 364 | settings: { 365 | foreground: colors.purple, 366 | }, 367 | }, 368 | { 369 | name: 'js/ts console', 370 | scope: 'support.type.object.console', 371 | settings: { 372 | foreground: colors.coral, 373 | }, 374 | }, 375 | { 376 | name: 'js/ts support.variable.property.process', 377 | scope: 'support.variable.property.process', 378 | settings: { 379 | foreground: colors.whiskey, 380 | }, 381 | }, 382 | { 383 | name: 'js console function', 384 | scope: 'entity.name.function,support.function.console', 385 | settings: { 386 | foreground: colors.malibu, 387 | }, 388 | }, 389 | { 390 | name: 'keyword.operator.misc.rust', 391 | scope: 'keyword.operator.misc.rust', 392 | settings: { 393 | foreground: colors.lightWhite, 394 | }, 395 | }, 396 | { 397 | name: 'keyword.operator.sigil.rust', 398 | scope: 'keyword.operator.sigil.rust', 399 | settings: { 400 | foreground: colors.purple, 401 | }, 402 | }, 403 | { 404 | name: 'operator', 405 | scope: 'keyword.operator.delete', 406 | settings: { 407 | foreground: colors.purple, 408 | }, 409 | }, 410 | { 411 | name: 'js dom', 412 | scope: 'support.type.object.dom', 413 | settings: { 414 | foreground: colors.fountainBlue, 415 | }, 416 | }, 417 | { 418 | name: 'js dom variable', 419 | scope: 'support.variable.dom,support.variable.property.dom', 420 | settings: { 421 | foreground: colors.coral, 422 | }, 423 | }, 424 | { 425 | name: 'keyword.operator', 426 | scope: 427 | 'keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational', 428 | settings: { 429 | foreground: colors.fountainBlue, 430 | }, 431 | }, 432 | { 433 | name: 'C operator assignment', 434 | scope: 435 | 'keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp', 436 | settings: { 437 | foreground: colors.purple, 438 | }, 439 | }, 440 | { 441 | name: 'Punctuation', 442 | scope: 'punctuation.separator.delimiter', 443 | settings: { 444 | foreground: colors.lightWhite, 445 | }, 446 | }, 447 | { 448 | name: 'Other punctuation .c', 449 | scope: 'punctuation.separator.c,punctuation.separator.cpp', 450 | settings: { 451 | foreground: colors.purple, 452 | }, 453 | }, 454 | { 455 | name: 'C type posix-reserved', 456 | scope: 'support.type.posix-reserved.c,support.type.posix-reserved.cpp', 457 | settings: { 458 | foreground: colors.fountainBlue, 459 | }, 460 | }, 461 | { 462 | name: 'keyword.operator.sizeof.c', 463 | scope: 'keyword.operator.sizeof.c,keyword.operator.sizeof.cpp', 464 | settings: { 465 | foreground: colors.purple, 466 | }, 467 | }, 468 | { 469 | name: 'python parameter', 470 | scope: 'variable.parameter.function.language.python', 471 | settings: { 472 | foreground: colors.whiskey, 473 | }, 474 | }, 475 | { 476 | name: 'python type', 477 | scope: 'support.type.python', 478 | settings: { 479 | foreground: colors.fountainBlue, 480 | }, 481 | }, 482 | { 483 | name: 'python logical', 484 | scope: 'keyword.operator.logical.python', 485 | settings: { 486 | foreground: colors.purple, 487 | }, 488 | }, 489 | { 490 | name: 'pyCs', 491 | scope: 'variable.parameter.function.python', 492 | settings: { 493 | foreground: colors.whiskey, 494 | }, 495 | }, 496 | { 497 | name: 'python block', 498 | scope: 499 | 'punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python', 500 | settings: { 501 | foreground: colors.lightWhite, 502 | }, 503 | }, 504 | { 505 | name: 'python function-call.generic', 506 | scope: 'meta.function-call.generic.python', 507 | settings: { 508 | foreground: colors.malibu, 509 | }, 510 | }, 511 | { 512 | name: 'python placeholder reset to normal string', 513 | scope: 'constant.character.format.placeholder.other.python', 514 | settings: { 515 | foreground: colors.whiskey, 516 | }, 517 | }, 518 | { 519 | name: 'Operators', 520 | scope: 'keyword.operator', 521 | settings: { 522 | foreground: colors.lightWhite, 523 | }, 524 | }, 525 | { 526 | name: 'Compound Assignment Operators', 527 | scope: 'keyword.operator.assignment.compound', 528 | settings: { 529 | foreground: colors.purple, 530 | }, 531 | }, 532 | { 533 | name: 'Compound Assignment Operators js/ts', 534 | scope: 535 | 'keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts', 536 | settings: { 537 | foreground: colors.fountainBlue, 538 | }, 539 | }, 540 | { 541 | name: 'Keywords', 542 | scope: 'keyword', 543 | settings: { 544 | foreground: colors.purple, 545 | }, 546 | }, 547 | { 548 | name: 'Namespaces', 549 | scope: 'entity.name.namespace', 550 | settings: { 551 | foreground: colors.chalky, 552 | }, 553 | }, 554 | { 555 | name: 'Variables', 556 | scope: 'variable', 557 | settings: { 558 | foreground: colors.coral, 559 | }, 560 | }, 561 | { 562 | name: 'Variables', 563 | scope: 'variable.c', 564 | settings: { 565 | foreground: colors.lightWhite, 566 | }, 567 | }, 568 | { 569 | name: 'Language variables', 570 | scope: 'variable.language', 571 | settings: { 572 | foreground: colors.chalky, 573 | }, 574 | }, 575 | { 576 | name: 'Java Variables', 577 | scope: 'token.variable.parameter.java', 578 | settings: { 579 | foreground: colors.lightWhite, 580 | }, 581 | }, 582 | { 583 | name: 'Java Imports', 584 | scope: 'import.storage.java', 585 | settings: { 586 | foreground: colors.chalky, 587 | }, 588 | }, 589 | { 590 | name: 'Packages', 591 | scope: 'token.package.keyword', 592 | settings: { 593 | foreground: colors.purple, 594 | }, 595 | }, 596 | { 597 | name: 'Packages', 598 | scope: 'token.package', 599 | settings: { 600 | foreground: colors.lightWhite, 601 | }, 602 | }, 603 | { 604 | name: 'Functions', 605 | scope: [ 606 | 'entity.name.function', 607 | 'meta.require', 608 | 'support.function.any-method', 609 | 'variable.function', 610 | ], 611 | settings: { 612 | foreground: colors.malibu, 613 | }, 614 | }, 615 | { 616 | name: 'Classes', 617 | scope: 'entity.name.type.namespace', 618 | settings: { 619 | foreground: colors.chalky, 620 | }, 621 | }, 622 | { 623 | name: 'Classes', 624 | scope: 'support.class, entity.name.type.class', 625 | settings: { 626 | foreground: colors.chalky, 627 | }, 628 | }, 629 | { 630 | name: 'Class name', 631 | scope: 'entity.name.class.identifier.namespace.type', 632 | settings: { 633 | foreground: colors.chalky, 634 | }, 635 | }, 636 | { 637 | name: 'Class name', 638 | scope: [ 639 | 'entity.name.class', 640 | 'variable.other.class.js', 641 | 'variable.other.class.ts', 642 | ], 643 | settings: { 644 | foreground: colors.chalky, 645 | }, 646 | }, 647 | { 648 | name: 'Class name php', 649 | scope: 'variable.other.class.php', 650 | settings: { 651 | foreground: colors.coral, 652 | }, 653 | }, 654 | { 655 | name: 'Type Name', 656 | scope: 'entity.name.type', 657 | settings: { 658 | foreground: colors.chalky, 659 | }, 660 | }, 661 | { 662 | name: 'Keyword Control', 663 | scope: 'keyword.control', 664 | settings: { 665 | foreground: colors.purple, 666 | }, 667 | }, 668 | { 669 | name: 'Control Elements', 670 | scope: 'control.elements, keyword.operator.less', 671 | settings: { 672 | foreground: colors.whiskey, 673 | }, 674 | }, 675 | { 676 | name: 'Methods', 677 | scope: 'keyword.other.special-method', 678 | settings: { 679 | foreground: colors.malibu, 680 | }, 681 | }, 682 | { 683 | name: 'Storage', 684 | scope: 'storage', 685 | settings: { 686 | foreground: colors.purple, 687 | }, 688 | }, 689 | { 690 | name: 'Storage JS TS', 691 | scope: 'token.storage', 692 | settings: { 693 | foreground: colors.purple, 694 | }, 695 | }, 696 | { 697 | name: 'Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void', 698 | scope: 699 | 'keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void', 700 | settings: { 701 | foreground: colors.purple, 702 | }, 703 | }, 704 | { 705 | name: 'Java Storage', 706 | scope: 'token.storage.type.java', 707 | settings: { 708 | foreground: colors.chalky, 709 | }, 710 | }, 711 | { 712 | name: 'Support', 713 | scope: 'support.function', 714 | settings: { 715 | foreground: colors.fountainBlue, 716 | }, 717 | }, 718 | { 719 | name: 'Support type', 720 | scope: 'support.type.property-name', 721 | settings: { 722 | foreground: colors.lightWhite, 723 | }, 724 | }, 725 | { 726 | name: '[VSCODE-CUSTOM] toml support', 727 | scope: 728 | 'support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml', 729 | settings: { 730 | foreground: colors.coral, 731 | }, 732 | }, 733 | { 734 | name: 'Support type', 735 | scope: 'support.constant.property-value', 736 | settings: { 737 | foreground: colors.lightWhite, 738 | }, 739 | }, 740 | { 741 | name: 'Support type', 742 | scope: 'support.constant.font-name', 743 | settings: { 744 | foreground: colors.whiskey, 745 | }, 746 | }, 747 | { 748 | name: 'Meta tag', 749 | scope: 'meta.tag', 750 | settings: { 751 | foreground: colors.lightWhite, 752 | }, 753 | }, 754 | { 755 | name: 'Strings', 756 | scope: 'string', 757 | settings: { 758 | foreground: colors.green, 759 | }, 760 | }, 761 | { 762 | name: 'Constant other symbol', 763 | scope: 'constant.other.symbol', 764 | settings: { 765 | foreground: colors.fountainBlue, 766 | }, 767 | }, 768 | { 769 | name: 'Integers', 770 | scope: 'constant.numeric', 771 | settings: { 772 | foreground: colors.whiskey, 773 | }, 774 | }, 775 | { 776 | name: 'Constants', 777 | scope: 'constant', 778 | settings: { 779 | foreground: colors.whiskey, 780 | }, 781 | }, 782 | { 783 | name: 'Constants', 784 | scope: 'punctuation.definition.constant', 785 | settings: { 786 | foreground: colors.whiskey, 787 | }, 788 | }, 789 | { 790 | name: 'Tags', 791 | scope: 'entity.name.tag', 792 | settings: { 793 | foreground: colors.coral, 794 | }, 795 | }, 796 | { 797 | name: 'Attributes', 798 | scope: 'entity.other.attribute-name', 799 | settings: { 800 | foreground: colors.whiskey, 801 | }, 802 | }, 803 | { 804 | name: 'Attribute IDs', 805 | scope: 'entity.other.attribute-name.id', 806 | settings: { 807 | foreground: colors.malibu, 808 | }, 809 | }, 810 | { 811 | name: 'Attribute class', 812 | scope: 'entity.other.attribute-name.class.css', 813 | settings: { 814 | foreground: colors.whiskey, 815 | }, 816 | }, 817 | { 818 | name: 'Selector', 819 | scope: 'meta.selector', 820 | settings: { 821 | foreground: colors.purple, 822 | }, 823 | }, 824 | { 825 | name: 'Headings', 826 | scope: 'markup.heading', 827 | settings: { 828 | foreground: colors.coral, 829 | }, 830 | }, 831 | { 832 | name: 'Headings', 833 | scope: 'markup.heading punctuation.definition.heading, entity.name.section', 834 | settings: { 835 | foreground: colors.malibu, 836 | }, 837 | }, 838 | { 839 | name: 'Units', 840 | scope: 'keyword.other.unit', 841 | settings: { 842 | foreground: colors.coral, 843 | }, 844 | }, 845 | { 846 | name: 'Bold', 847 | scope: 'markup.bold,todo.bold', 848 | settings: { 849 | foreground: colors.whiskey, 850 | }, 851 | }, 852 | { 853 | name: 'Bold', 854 | scope: 'punctuation.definition.bold', 855 | settings: { 856 | foreground: colors.chalky, 857 | }, 858 | }, 859 | { 860 | name: 'markup Italic', 861 | scope: 'markup.italic, punctuation.definition.italic,todo.emphasis', 862 | settings: { 863 | foreground: colors.purple, 864 | }, 865 | }, 866 | { 867 | name: 'emphasis md', 868 | scope: 'emphasis md', 869 | settings: { 870 | foreground: colors.purple, 871 | }, 872 | }, 873 | { 874 | name: '[VSCODE-CUSTOM] Markdown headings', 875 | scope: 'entity.name.section.markdown', 876 | settings: { 877 | foreground: colors.coral, 878 | }, 879 | }, 880 | { 881 | name: '[VSCODE-CUSTOM] Markdown heading Punctuation Definition', 882 | scope: 'punctuation.definition.heading.markdown', 883 | settings: { 884 | foreground: colors.coral, 885 | }, 886 | }, 887 | { 888 | name: 'punctuation.definition.list.begin.markdown', 889 | scope: 'punctuation.definition.list.begin.markdown', 890 | settings: { 891 | foreground: colors.chalky, 892 | }, 893 | }, 894 | { 895 | name: '[VSCODE-CUSTOM] Markdown heading setext', 896 | scope: 'markup.heading.setext', 897 | settings: { 898 | foreground: colors.lightWhite, 899 | }, 900 | }, 901 | { 902 | name: '[VSCODE-CUSTOM] Markdown Punctuation Definition Bold', 903 | scope: 'punctuation.definition.bold.markdown', 904 | settings: { 905 | foreground: colors.whiskey, 906 | }, 907 | }, 908 | { 909 | name: '[VSCODE-CUSTOM] Markdown Inline Raw', 910 | scope: 'markup.inline.raw.markdown', 911 | settings: { 912 | foreground: colors.green, 913 | }, 914 | }, 915 | { 916 | name: '[VSCODE-CUSTOM] Markdown Inline Raw', 917 | scope: 'markup.inline.raw.string.markdown', 918 | settings: { 919 | foreground: colors.green, 920 | }, 921 | }, 922 | { 923 | name: '[VSCODE-CUSTOM] Markdown Inline Raw punctuation', 924 | scope: 'punctuation.definition.raw.markdown', 925 | settings: { 926 | foreground: colors.chalky, 927 | }, 928 | }, 929 | { 930 | name: '[VSCODE-CUSTOM] Markdown List Punctuation Definition', 931 | scope: 'punctuation.definition.list.markdown', 932 | settings: { 933 | foreground: colors.chalky, 934 | }, 935 | }, 936 | { 937 | name: '[VSCODE-CUSTOM] Markdown Punctuation Definition String', 938 | scope: [ 939 | 'punctuation.definition.string.begin.markdown', 940 | 'punctuation.definition.string.end.markdown', 941 | 'punctuation.definition.metadata.markdown', 942 | ], 943 | settings: { 944 | foreground: colors.coral, 945 | }, 946 | }, 947 | { 948 | name: 'beginning.punctuation.definition.list.markdown', 949 | scope: ['beginning.punctuation.definition.list.markdown'], 950 | settings: { 951 | foreground: colors.coral, 952 | }, 953 | }, 954 | { 955 | name: '[VSCODE-CUSTOM] Markdown Punctuation Definition Link', 956 | scope: 'punctuation.definition.metadata.markdown', 957 | settings: { 958 | foreground: colors.coral, 959 | }, 960 | }, 961 | { 962 | name: '[VSCODE-CUSTOM] Markdown Underline Link/Image', 963 | scope: 964 | 'markup.underline.link.markdown,markup.underline.link.image.markdown', 965 | settings: { 966 | foreground: colors.purple, 967 | }, 968 | }, 969 | { 970 | name: '[VSCODE-CUSTOM] Markdown Link Title/Description', 971 | scope: 972 | 'string.other.link.title.markdown,string.other.link.description.markdown', 973 | settings: { 974 | foreground: colors.malibu, 975 | }, 976 | }, 977 | { 978 | name: '[VSCODE-CUSTOM] Asciidoc Inline Raw', 979 | scope: 'markup.raw.monospace.asciidoc', 980 | settings: { 981 | foreground: colors.green, 982 | }, 983 | }, 984 | { 985 | name: '[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition', 986 | scope: 'punctuation.definition.asciidoc', 987 | settings: { 988 | foreground: colors.chalky, 989 | }, 990 | }, 991 | { 992 | name: '[VSCODE-CUSTOM] Asciidoc List Punctuation Definition', 993 | scope: 'markup.list.asciidoc', 994 | settings: { 995 | foreground: colors.chalky, 996 | }, 997 | }, 998 | { 999 | name: '[VSCODE-CUSTOM] Asciidoc underline link', 1000 | scope: 'markup.link.asciidoc,markup.other.url.asciidoc', 1001 | settings: { 1002 | foreground: colors.purple, 1003 | }, 1004 | }, 1005 | { 1006 | name: '[VSCODE-CUSTOM] Asciidoc link name', 1007 | scope: 'string.unquoted.asciidoc,markup.other.url.asciidoc', 1008 | settings: { 1009 | foreground: colors.malibu, 1010 | }, 1011 | }, 1012 | { 1013 | name: 'Regular Expressions', 1014 | scope: 'string.regexp', 1015 | settings: { 1016 | foreground: colors.fountainBlue, 1017 | }, 1018 | }, 1019 | { 1020 | name: 'Embedded', 1021 | scope: 'punctuation.section.embedded, variable.interpolation', 1022 | settings: { 1023 | foreground: colors.coral, 1024 | }, 1025 | }, 1026 | { 1027 | name: 'Embedded', 1028 | scope: 1029 | 'punctuation.section.embedded.begin,punctuation.section.embedded.end', 1030 | settings: { 1031 | foreground: colors.purple, 1032 | }, 1033 | }, 1034 | { 1035 | name: 'illegal', 1036 | scope: 'invalid.illegal', 1037 | settings: { 1038 | foreground: colors.invalid, 1039 | }, 1040 | }, 1041 | { 1042 | name: 'illegal', 1043 | scope: 'invalid.illegal.bad-ampersand.html', 1044 | settings: { 1045 | foreground: colors.lightWhite, 1046 | }, 1047 | }, 1048 | { 1049 | scope: 'invalid.illegal.unrecognized-tag.html', 1050 | settings: { 1051 | foreground: colors.coral, 1052 | }, 1053 | }, 1054 | { 1055 | name: 'Broken', 1056 | scope: 'invalid.broken', 1057 | settings: { 1058 | foreground: colors.invalid, 1059 | }, 1060 | }, 1061 | { 1062 | name: 'Deprecated', 1063 | scope: 'invalid.deprecated', 1064 | settings: { 1065 | foreground: colors.invalid, 1066 | }, 1067 | }, 1068 | { 1069 | name: 'html Deprecated', 1070 | scope: 'invalid.deprecated.entity.other.attribute-name.html', 1071 | settings: { 1072 | foreground: colors.whiskey, 1073 | }, 1074 | }, 1075 | { 1076 | name: 'Unimplemented', 1077 | scope: 'invalid.unimplemented', 1078 | settings: { 1079 | foreground: colors.invalid, 1080 | }, 1081 | }, 1082 | { 1083 | name: 'Source Json Meta Structure Dictionary Json > String Quoted Json', 1084 | scope: 'source.json meta.structure.dictionary.json > string.quoted.json', 1085 | settings: { 1086 | foreground: colors.coral, 1087 | }, 1088 | }, 1089 | { 1090 | name: 'Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String', 1091 | scope: 1092 | 'source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string', 1093 | settings: { 1094 | foreground: colors.coral, 1095 | }, 1096 | }, 1097 | { 1098 | name: 'Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation', 1099 | scope: 1100 | 'source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation', 1101 | settings: { 1102 | foreground: colors.green, 1103 | }, 1104 | }, 1105 | { 1106 | name: 'Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json', 1107 | scope: 1108 | 'source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json', 1109 | settings: { 1110 | foreground: colors.fountainBlue, 1111 | }, 1112 | }, 1113 | { 1114 | name: '[VSCODE-CUSTOM] JSON Property Name', 1115 | scope: 'support.type.property-name.json', 1116 | settings: { 1117 | foreground: colors.coral, 1118 | }, 1119 | }, 1120 | { 1121 | name: '[VSCODE-CUSTOM] JSON Punctuation for Property Name', 1122 | scope: 'support.type.property-name.json punctuation', 1123 | settings: { 1124 | foreground: colors.coral, 1125 | }, 1126 | }, 1127 | { 1128 | name: 'laravel blade tag', 1129 | scope: 1130 | 'text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade', 1131 | settings: { 1132 | foreground: colors.purple, 1133 | }, 1134 | }, 1135 | { 1136 | name: 'laravel blade @', 1137 | scope: 1138 | 'text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade', 1139 | settings: { 1140 | foreground: colors.purple, 1141 | }, 1142 | }, 1143 | { 1144 | name: 'use statement for other classes', 1145 | scope: 1146 | 'support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php', 1147 | settings: { 1148 | foreground: colors.chalky, 1149 | }, 1150 | }, 1151 | { 1152 | name: 'error suppression', 1153 | scope: 'keyword.operator.error-control.php', 1154 | settings: { 1155 | foreground: colors.purple, 1156 | }, 1157 | }, 1158 | { 1159 | name: 'php instanceof', 1160 | scope: 'keyword.operator.type.php', 1161 | settings: { 1162 | foreground: colors.purple, 1163 | }, 1164 | }, 1165 | { 1166 | name: 'style double quoted array index normal begin', 1167 | scope: 'punctuation.section.array.begin.php', 1168 | settings: { 1169 | foreground: colors.lightWhite, 1170 | }, 1171 | }, 1172 | { 1173 | name: 'style double quoted array index normal end', 1174 | scope: 'punctuation.section.array.end.php', 1175 | settings: { 1176 | foreground: colors.lightWhite, 1177 | }, 1178 | }, 1179 | { 1180 | name: 'php illegal.non-null-typehinted', 1181 | scope: 'invalid.illegal.non-null-typehinted.php', 1182 | settings: { 1183 | foreground: colors.error, 1184 | }, 1185 | }, 1186 | { 1187 | name: 'php types', 1188 | scope: 1189 | 'storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php', 1190 | settings: { 1191 | foreground: colors.chalky, 1192 | }, 1193 | }, 1194 | { 1195 | name: 'php call-function', 1196 | scope: 1197 | 'meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php', 1198 | settings: { 1199 | foreground: colors.malibu, 1200 | }, 1201 | }, 1202 | { 1203 | name: 'php function-resets', 1204 | scope: 1205 | 'punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php', 1206 | settings: { 1207 | foreground: colors.lightWhite, 1208 | }, 1209 | }, 1210 | { 1211 | name: 'support php constants', 1212 | scope: 'support.constant.core.rust', 1213 | settings: { 1214 | foreground: colors.whiskey, 1215 | }, 1216 | }, 1217 | { 1218 | name: 'support php constants', 1219 | scope: 1220 | 'support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php', 1221 | settings: { 1222 | foreground: colors.whiskey, 1223 | }, 1224 | }, 1225 | { 1226 | name: 'php goto', 1227 | scope: 'entity.name.goto-label.php,support.other.php', 1228 | settings: { 1229 | foreground: colors.malibu, 1230 | }, 1231 | }, 1232 | { 1233 | name: 'php logical/bitwise operator', 1234 | scope: 1235 | 'keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php', 1236 | settings: { 1237 | foreground: colors.fountainBlue, 1238 | }, 1239 | }, 1240 | { 1241 | name: 'php regexp operator', 1242 | scope: 'keyword.operator.regexp.php', 1243 | settings: { 1244 | foreground: colors.purple, 1245 | }, 1246 | }, 1247 | { 1248 | name: 'php comparison', 1249 | scope: 'keyword.operator.comparison.php', 1250 | settings: { 1251 | foreground: colors.fountainBlue, 1252 | }, 1253 | }, 1254 | { 1255 | name: 'php heredoc/nowdoc', 1256 | scope: 'keyword.operator.heredoc.php,keyword.operator.nowdoc.php', 1257 | settings: { 1258 | foreground: colors.purple, 1259 | }, 1260 | }, 1261 | { 1262 | name: 'python function decorator @', 1263 | scope: 'meta.function.decorator.python', 1264 | settings: { 1265 | foreground: colors.malibu, 1266 | }, 1267 | }, 1268 | { 1269 | name: 'python function support', 1270 | scope: 1271 | 'support.token.decorator.python,meta.function.decorator.identifier.python', 1272 | settings: { 1273 | foreground: colors.fountainBlue, 1274 | }, 1275 | }, 1276 | { 1277 | name: 'parameter function js/ts', 1278 | scope: 'function.parameter', 1279 | settings: { 1280 | foreground: colors.lightWhite, 1281 | }, 1282 | }, 1283 | { 1284 | name: 'brace function', 1285 | scope: 'function.brace', 1286 | settings: { 1287 | foreground: colors.lightWhite, 1288 | }, 1289 | }, 1290 | { 1291 | name: 'parameter function ruby cs', 1292 | scope: 'function.parameter.ruby, function.parameter.cs', 1293 | settings: { 1294 | foreground: colors.lightWhite, 1295 | }, 1296 | }, 1297 | { 1298 | name: 'constant.language.symbol.ruby', 1299 | scope: 'constant.language.symbol.ruby', 1300 | settings: { 1301 | foreground: colors.fountainBlue, 1302 | }, 1303 | }, 1304 | { 1305 | name: 'constant.language.symbol.hashkey.ruby', 1306 | scope: 'constant.language.symbol.hashkey.ruby', 1307 | settings: { 1308 | foreground: colors.fountainBlue, 1309 | }, 1310 | }, 1311 | { 1312 | name: 'rgb-value', 1313 | scope: 'rgb-value', 1314 | settings: { 1315 | foreground: colors.fountainBlue, 1316 | }, 1317 | }, 1318 | { 1319 | name: 'rgb value', 1320 | scope: 'inline-color-decoration rgb-value', 1321 | settings: { 1322 | foreground: colors.whiskey, 1323 | }, 1324 | }, 1325 | { 1326 | name: 'rgb value less', 1327 | scope: 'less rgb-value', 1328 | settings: { 1329 | foreground: colors.whiskey, 1330 | }, 1331 | }, 1332 | { 1333 | name: 'sass selector', 1334 | scope: 'selector.sass', 1335 | settings: { 1336 | foreground: colors.coral, 1337 | }, 1338 | }, 1339 | { 1340 | name: 'ts primitive/builtin types', 1341 | scope: 1342 | 'support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx', 1343 | settings: { 1344 | foreground: colors.chalky, 1345 | }, 1346 | }, 1347 | { 1348 | name: 'block scope', 1349 | scope: 'block.scope.end,block.scope.begin', 1350 | settings: { 1351 | foreground: colors.lightWhite, 1352 | }, 1353 | }, 1354 | { 1355 | name: 'cs storage type', 1356 | scope: 'storage.type.cs', 1357 | settings: { 1358 | foreground: colors.chalky, 1359 | }, 1360 | }, 1361 | { 1362 | name: 'cs local variable', 1363 | scope: 'entity.name.variable.local.cs', 1364 | settings: { 1365 | foreground: colors.coral, 1366 | }, 1367 | }, 1368 | { 1369 | scope: 'token.info-token', 1370 | settings: { 1371 | foreground: colors.malibu, 1372 | }, 1373 | }, 1374 | { 1375 | scope: 'token.warn-token', 1376 | settings: { 1377 | foreground: colors.whiskey, 1378 | }, 1379 | }, 1380 | { 1381 | scope: 'token.error-token', 1382 | settings: { 1383 | foreground: colors.error, 1384 | }, 1385 | }, 1386 | { 1387 | scope: 'token.debug-token', 1388 | settings: { 1389 | foreground: colors.purple, 1390 | }, 1391 | }, 1392 | { 1393 | name: 'String interpolation', 1394 | scope: [ 1395 | 'punctuation.definition.template-expression.begin', 1396 | 'punctuation.definition.template-expression.end', 1397 | 'punctuation.section.embedded', 1398 | ], 1399 | settings: { 1400 | foreground: colors.purple, 1401 | }, 1402 | }, 1403 | { 1404 | name: 'Reset JavaScript string interpolation expression', 1405 | scope: ['meta.template.expression'], 1406 | settings: { 1407 | foreground: colors.lightWhite, 1408 | }, 1409 | }, 1410 | { 1411 | name: 'Import module JS', 1412 | scope: ['keyword.operator.module'], 1413 | settings: { 1414 | foreground: colors.purple, 1415 | }, 1416 | }, 1417 | { 1418 | name: 'js Flowtype', 1419 | scope: ['support.type.type.flowtype'], 1420 | settings: { 1421 | foreground: colors.malibu, 1422 | }, 1423 | }, 1424 | { 1425 | name: 'js Flow', 1426 | scope: ['support.type.primitive'], 1427 | settings: { 1428 | foreground: colors.chalky, 1429 | }, 1430 | }, 1431 | { 1432 | name: 'js class prop', 1433 | scope: ['meta.property.object'], 1434 | settings: { 1435 | foreground: colors.coral, 1436 | }, 1437 | }, 1438 | { 1439 | name: 'js func parameter', 1440 | scope: ['variable.parameter.function.js'], 1441 | settings: { 1442 | foreground: colors.coral, 1443 | }, 1444 | }, 1445 | { 1446 | name: 'js template literals begin', 1447 | scope: ['keyword.other.template.begin'], 1448 | settings: { 1449 | foreground: colors.green, 1450 | }, 1451 | }, 1452 | { 1453 | name: 'js template literals end', 1454 | scope: ['keyword.other.template.end'], 1455 | settings: { 1456 | foreground: colors.green, 1457 | }, 1458 | }, 1459 | { 1460 | name: 'js template literals variable braces begin', 1461 | scope: ['keyword.other.substitution.begin'], 1462 | settings: { 1463 | foreground: colors.green, 1464 | }, 1465 | }, 1466 | { 1467 | name: 'js template literals variable braces end', 1468 | scope: ['keyword.other.substitution.end'], 1469 | settings: { 1470 | foreground: colors.green, 1471 | }, 1472 | }, 1473 | { 1474 | name: 'js operator.assignment', 1475 | scope: ['keyword.operator.assignment'], 1476 | settings: { 1477 | foreground: colors.fountainBlue, 1478 | }, 1479 | }, 1480 | { 1481 | name: 'go operator', 1482 | scope: ['keyword.operator.assignment.go'], 1483 | settings: { 1484 | foreground: colors.chalky, 1485 | }, 1486 | }, 1487 | { 1488 | name: 'go operator', 1489 | scope: ['keyword.operator.arithmetic.go', 'keyword.operator.address.go'], 1490 | settings: { 1491 | foreground: colors.purple, 1492 | }, 1493 | }, 1494 | { 1495 | name: 'Go package name', 1496 | scope: ['entity.name.package.go'], 1497 | settings: { 1498 | foreground: colors.chalky, 1499 | }, 1500 | }, 1501 | { 1502 | name: 'elm prelude', 1503 | scope: ['support.type.prelude.elm'], 1504 | settings: { 1505 | foreground: colors.fountainBlue, 1506 | }, 1507 | }, 1508 | { 1509 | name: 'elm constant', 1510 | scope: ['support.constant.elm'], 1511 | settings: { 1512 | foreground: colors.whiskey, 1513 | }, 1514 | }, 1515 | { 1516 | name: 'template literal', 1517 | scope: ['punctuation.quasi.element'], 1518 | settings: { 1519 | foreground: colors.purple, 1520 | }, 1521 | }, 1522 | { 1523 | name: 'html/pug (jade) escaped characters and entities', 1524 | scope: ['constant.character.entity'], 1525 | settings: { 1526 | foreground: colors.coral, 1527 | }, 1528 | }, 1529 | { 1530 | name: 'styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour', 1531 | scope: [ 1532 | 'entity.other.attribute-name.pseudo-element', 1533 | 'entity.other.attribute-name.pseudo-class', 1534 | ], 1535 | settings: { 1536 | foreground: colors.fountainBlue, 1537 | }, 1538 | }, 1539 | { 1540 | name: 'Clojure globals', 1541 | scope: ['entity.global.clojure'], 1542 | settings: { 1543 | foreground: colors.chalky, 1544 | }, 1545 | }, 1546 | { 1547 | name: 'Clojure symbols', 1548 | scope: ['meta.symbol.clojure'], 1549 | settings: { 1550 | foreground: colors.coral, 1551 | }, 1552 | }, 1553 | { 1554 | name: 'Clojure constants', 1555 | scope: ['constant.keyword.clojure'], 1556 | settings: { 1557 | foreground: colors.fountainBlue, 1558 | }, 1559 | }, 1560 | { 1561 | name: 'CoffeeScript Function Argument', 1562 | scope: ['meta.arguments.coffee', 'variable.parameter.function.coffee'], 1563 | settings: { 1564 | foreground: colors.coral, 1565 | }, 1566 | }, 1567 | { 1568 | name: 'Ini Default Text', 1569 | scope: ['source.ini'], 1570 | settings: { 1571 | foreground: colors.green, 1572 | }, 1573 | }, 1574 | { 1575 | name: 'Makefile prerequisities', 1576 | scope: ['meta.scope.prerequisites.makefile'], 1577 | settings: { 1578 | foreground: colors.coral, 1579 | }, 1580 | }, 1581 | { 1582 | name: 'Makefile text colour', 1583 | scope: ['source.makefile'], 1584 | settings: { 1585 | foreground: colors.chalky, 1586 | }, 1587 | }, 1588 | { 1589 | name: 'Groovy import names', 1590 | scope: ['storage.modifier.import.groovy'], 1591 | settings: { 1592 | foreground: colors.chalky, 1593 | }, 1594 | }, 1595 | { 1596 | name: 'Groovy Methods', 1597 | scope: ['meta.method.groovy'], 1598 | settings: { 1599 | foreground: colors.malibu, 1600 | }, 1601 | }, 1602 | { 1603 | name: 'Groovy Variables', 1604 | scope: ['meta.definition.variable.name.groovy'], 1605 | settings: { 1606 | foreground: colors.coral, 1607 | }, 1608 | }, 1609 | { 1610 | name: 'Groovy Inheritance', 1611 | scope: ['meta.definition.class.inherited.classes.groovy'], 1612 | settings: { 1613 | foreground: colors.green, 1614 | }, 1615 | }, 1616 | { 1617 | name: 'HLSL Semantic', 1618 | scope: ['support.variable.semantic.hlsl'], 1619 | settings: { 1620 | foreground: colors.chalky, 1621 | }, 1622 | }, 1623 | { 1624 | name: 'HLSL Types', 1625 | scope: [ 1626 | 'support.type.texture.hlsl', 1627 | 'support.type.sampler.hlsl', 1628 | 'support.type.object.hlsl', 1629 | 'support.type.object.rw.hlsl', 1630 | 'support.type.fx.hlsl', 1631 | 'support.type.object.hlsl', 1632 | ], 1633 | settings: { 1634 | foreground: colors.purple, 1635 | }, 1636 | }, 1637 | { 1638 | name: 'SQL Variables', 1639 | scope: ['text.variable', 'text.bracketed'], 1640 | settings: { 1641 | foreground: colors.coral, 1642 | }, 1643 | }, 1644 | { 1645 | name: 'types', 1646 | scope: ['support.type.swift', 'support.type.vb.asp'], 1647 | settings: { 1648 | foreground: colors.chalky, 1649 | }, 1650 | }, 1651 | { 1652 | name: 'heading 1, keyword', 1653 | scope: ['entity.name.function.xi'], 1654 | settings: { 1655 | foreground: colors.chalky, 1656 | }, 1657 | }, 1658 | { 1659 | name: 'heading 2, callable', 1660 | scope: ['entity.name.class.xi'], 1661 | settings: { 1662 | foreground: colors.fountainBlue, 1663 | }, 1664 | }, 1665 | { 1666 | name: 'heading 3, property', 1667 | scope: ['constant.character.character-class.regexp.xi'], 1668 | settings: { 1669 | foreground: colors.coral, 1670 | }, 1671 | }, 1672 | { 1673 | name: 'heading 4, type, class, interface', 1674 | scope: ['constant.regexp.xi'], 1675 | settings: { 1676 | foreground: colors.purple, 1677 | }, 1678 | }, 1679 | { 1680 | name: 'heading 5, enums, preprocessor, constant, decorator', 1681 | scope: ['keyword.control.xi'], 1682 | settings: { 1683 | foreground: colors.fountainBlue, 1684 | }, 1685 | }, 1686 | { 1687 | name: 'heading 6, number', 1688 | scope: ['invalid.xi'], 1689 | settings: { 1690 | foreground: colors.lightWhite, 1691 | }, 1692 | }, 1693 | { 1694 | name: 'string', 1695 | scope: ['beginning.punctuation.definition.quote.markdown.xi'], 1696 | settings: { 1697 | foreground: colors.green, 1698 | }, 1699 | }, 1700 | { 1701 | name: 'comments', 1702 | scope: ['beginning.punctuation.definition.list.markdown.xi'], 1703 | settings: { 1704 | foreground: colors.lightDark, 1705 | }, 1706 | }, 1707 | { 1708 | name: 'link', 1709 | scope: ['constant.character.xi'], 1710 | settings: { 1711 | foreground: colors.malibu, 1712 | }, 1713 | }, 1714 | { 1715 | name: 'accent', 1716 | scope: ['accent.xi'], 1717 | settings: { 1718 | foreground: colors.malibu, 1719 | }, 1720 | }, 1721 | { 1722 | name: 'wikiword', 1723 | scope: ['wikiword.xi'], 1724 | settings: { 1725 | foreground: colors.whiskey, 1726 | }, 1727 | }, 1728 | { 1729 | name: "language operators like '+', '-' etc", 1730 | scope: ['constant.other.color.rgb-value.xi'], 1731 | settings: { 1732 | foreground: colors.invalid, 1733 | }, 1734 | }, 1735 | { 1736 | name: 'elements to dim', 1737 | scope: ['punctuation.definition.tag.xi'], 1738 | settings: { 1739 | foreground: colors.dark, 1740 | }, 1741 | }, 1742 | { 1743 | name: 'C++/C#', 1744 | scope: [ 1745 | 'entity.name.label.cs', 1746 | 'entity.name.scope-resolution.function.call', 1747 | 'entity.name.scope-resolution.function.definition', 1748 | ], 1749 | settings: { 1750 | foreground: colors.chalky, 1751 | }, 1752 | }, 1753 | { 1754 | name: 'Markdown underscore-style headers', 1755 | scope: [ 1756 | 'entity.name.label.cs', 1757 | 'markup.heading.setext.1.markdown', 1758 | 'markup.heading.setext.2.markdown', 1759 | ], 1760 | settings: { 1761 | foreground: colors.coral, 1762 | }, 1763 | }, 1764 | { 1765 | name: 'meta.brace.square', 1766 | scope: [' meta.brace.square'], 1767 | settings: { 1768 | foreground: colors.lightWhite, 1769 | }, 1770 | }, 1771 | { 1772 | name: 'Comments', 1773 | scope: 'comment, punctuation.definition.comment', 1774 | settings: { 1775 | foreground: colors.lightDark, 1776 | }, 1777 | }, 1778 | { 1779 | name: '[VSCODE-CUSTOM] Markdown Quote', 1780 | scope: 'markup.quote.markdown', 1781 | settings: { 1782 | foreground: colors.dark, 1783 | }, 1784 | }, 1785 | { 1786 | name: 'punctuation.definition.block.sequence.item.yaml', 1787 | scope: 'punctuation.definition.block.sequence.item.yaml', 1788 | settings: { 1789 | foreground: colors.lightWhite, 1790 | }, 1791 | }, 1792 | { 1793 | scope: [ 1794 | 'constant.language.symbol.elixir', 1795 | 'constant.language.symbol.double-quoted.elixir', 1796 | ], 1797 | settings: { 1798 | foreground: colors.fountainBlue, 1799 | }, 1800 | }, 1801 | { 1802 | scope: ['entity.name.variable.parameter.cs'], 1803 | settings: { 1804 | foreground: colors.chalky, 1805 | }, 1806 | }, 1807 | { 1808 | scope: ['entity.name.variable.field.cs'], 1809 | settings: { 1810 | foreground: colors.coral, 1811 | }, 1812 | }, 1813 | { 1814 | name: 'Deleted', 1815 | scope: 'markup.deleted', 1816 | settings: { 1817 | foreground: colors.coral, 1818 | }, 1819 | }, 1820 | { 1821 | name: 'Inserted', 1822 | scope: 'markup.inserted', 1823 | settings: { 1824 | foreground: colors.green, 1825 | }, 1826 | }, 1827 | { 1828 | name: 'Underline', 1829 | scope: 'markup.underline', 1830 | settings: { 1831 | fontStyle: 'underline', 1832 | }, 1833 | }, 1834 | { 1835 | name: 'punctuation.section.embedded.begin.php', 1836 | scope: [ 1837 | 'punctuation.section.embedded.begin.php', 1838 | 'punctuation.section.embedded.end.php', 1839 | ], 1840 | settings: { 1841 | foreground: colors.deepRed, 1842 | }, 1843 | }, 1844 | { 1845 | name: 'support.other.namespace.php', 1846 | scope: ['support.other.namespace.php'], 1847 | settings: { 1848 | foreground: colors.lightWhite, 1849 | }, 1850 | }, 1851 | { 1852 | name: 'Latex variable parameter', 1853 | scope: ['variable.parameter.function.latex'], 1854 | settings: { 1855 | foreground: colors.coral, 1856 | }, 1857 | }, 1858 | { 1859 | name: 'variable.other.object', 1860 | scope: ['variable.other.object'], 1861 | settings: { 1862 | foreground: colors.chalky, 1863 | }, 1864 | }, 1865 | { 1866 | name: 'variable.other.constant.property', 1867 | scope: ['variable.other.constant.property'], 1868 | settings: { 1869 | foreground: colors.coral, 1870 | }, 1871 | }, 1872 | { 1873 | name: 'entity.other.inherited-class', 1874 | scope: ['entity.other.inherited-class'], 1875 | settings: { 1876 | foreground: colors.chalky, 1877 | }, 1878 | }, 1879 | { 1880 | name: 'c variable readwrite', 1881 | scope: 'variable.other.readwrite.c', 1882 | settings: { 1883 | foreground: colors.coral, 1884 | }, 1885 | }, 1886 | { 1887 | name: 'php scope', 1888 | scope: 1889 | 'entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php', 1890 | settings: { 1891 | foreground: colors.lightWhite, 1892 | }, 1893 | }, 1894 | { 1895 | name: 'Assembly', 1896 | scope: ['constant.numeric.decimal.asm.x86_64'], 1897 | settings: { 1898 | foreground: colors.purple, 1899 | }, 1900 | }, 1901 | { 1902 | scope: ['support.other.parenthesis.regexp'], 1903 | settings: { 1904 | foreground: colors.whiskey, 1905 | }, 1906 | }, 1907 | { 1908 | scope: ['constant.character.escape'], 1909 | settings: { 1910 | foreground: colors.fountainBlue, 1911 | }, 1912 | }, 1913 | { 1914 | scope: ['string.regexp'], 1915 | settings: { 1916 | foreground: colors.coral, 1917 | }, 1918 | }, 1919 | { 1920 | scope: ['log.info'], 1921 | settings: { 1922 | foreground: colors.green, 1923 | }, 1924 | }, 1925 | { 1926 | scope: ['log.warning'], 1927 | settings: { 1928 | foreground: colors.chalky, 1929 | }, 1930 | }, 1931 | { 1932 | scope: ['log.error'], 1933 | settings: { 1934 | foreground: colors.coral, 1935 | }, 1936 | }, 1937 | { 1938 | scope: 'keyword.operator.expression.is', 1939 | settings: { 1940 | foreground: colors.purple, 1941 | }, 1942 | }, 1943 | { 1944 | scope: 'entity.name.label', 1945 | settings: { 1946 | foreground: colors.coral, 1947 | }, 1948 | }, 1949 | ] 1950 | export default TokenColors 1951 | -------------------------------------------------------------------------------- /src/variants/theme.ts: -------------------------------------------------------------------------------- 1 | import { ThemeSchema } from '~/@types/ThemeSchema' 2 | import TokenColors from './TokenColors' 3 | const Theme: ThemeSchema = { 4 | name: 'Theme', 5 | type: 'dark', 6 | colors: { 7 | 'activityBar.background': '#282c34', 8 | 'activityBar.foreground': '#d7dae0', 9 | 'activityBarBadge.background': '#4d78cc', 10 | 'activityBarBadge.foreground': '#f8fafd', 11 | 'badge.background': '#282c34', 12 | 'button.background': '#404754', 13 | 'button.secondaryBackground': '#30333d', 14 | 'button.secondaryForeground': '#c0bdbd', 15 | 'checkbox.border': '#404754', 16 | 'debugToolBar.background': '#21252b', 17 | descriptionForeground: '#abb2bf', 18 | 'diffEditor.insertedTextBackground': '#00809b33', 19 | 'dropdown.background': '#21252b', 20 | 'dropdown.border': '#21252b', 21 | 'editor.background': '#282c34', 22 | 'editor.findMatchBackground': '#42557b', 23 | 'editor.findMatchBorder': '#457dff', 24 | 'editor.findMatchHighlightBackground': '#6199ff2f', 25 | 'editor.foreground': '#abb2bf', 26 | 'editorBracketHighlight.foreground1': '#d19a66', 27 | 'editorBracketHighlight.foreground2': '#c678dd', 28 | 'editorBracketHighlight.foreground3': '#56b6c2', 29 | 'editorHoverWidget.highlightForeground': '#61afef', 30 | 'editorInlayHint.foreground': '#abb2bf', 31 | 'editorInlayHint.background': '#2c313c', 32 | 'editor.lineHighlightBackground': '#2c313c', 33 | 'editorLineNumber.activeForeground': '#abb2bf', 34 | 'editorGutter.addedBackground': '#109868', 35 | 'editorGutter.deletedBackground': '#9A353D', 36 | 'editorGutter.modifiedBackground': '#948B60', 37 | 'editor.selectionBackground': '#67769660', 38 | 'editor.selectionHighlightBackground': '#ffffff10', 39 | 'editor.selectionHighlightBorder': '#dddddd', 40 | 'editor.wordHighlightBackground': '#d2e0ff2f', 41 | 'editor.wordHighlightBorder': '#7f848e', 42 | 'editor.wordHighlightStrongBackground': '#abb2bf26', 43 | 'editor.wordHighlightStrongBorder': '#7f848e', 44 | 'editorBracketMatch.background': '#515a6b', 45 | 'editorBracketMatch.border': '#515a6b', 46 | 'editorCursor.background': '#ffffffc9', 47 | 'editorCursor.foreground': '#528bff', 48 | 'editorError.foreground': '#c24038', 49 | 'editorGroup.border': '#181a1f', 50 | 'editorGroupHeader.tabsBackground': '#21252b', 51 | 'editorHoverWidget.background': '#21252b', 52 | 'editorHoverWidget.border': '#181a1f', 53 | 'editorIndentGuide.activeBackground': '#c8c8c859', 54 | 'editorIndentGuide.background': '#3b4048', 55 | 'editorLineNumber.foreground': '#495162', 56 | 'editorMarkerNavigation.background': '#21252b', 57 | 'editorRuler.foreground': '#abb2bf26', 58 | 'editorSuggestWidget.background': '#21252b', 59 | 'editorSuggestWidget.border': '#181a1f', 60 | 'editorSuggestWidget.selectedBackground': '#2c313a', 61 | 'editorWarning.foreground': '#d19a66', 62 | 'editorWhitespace.foreground': '#ffffff1d', 63 | 'editorWidget.background': '#21252b', 64 | focusBorder: '#3e4452', 65 | 'gitDecoration.ignoredResourceForeground': '#636b78', 66 | 'input.background': '#1d1f23', 67 | 'input.foreground': '#abb2bf', 68 | 'list.activeSelectionBackground': '#2c313a', 69 | 'list.activeSelectionForeground': '#d7dae0', 70 | 'list.focusBackground': '#323842', 71 | 'list.focusForeground': '#f0f0f0', 72 | 'list.highlightForeground': '#ecebeb', 73 | 'list.hoverBackground': '#2c313a', 74 | 'list.hoverForeground': '#abb2bf', 75 | 'list.inactiveSelectionBackground': '#323842', 76 | 'list.inactiveSelectionForeground': '#d7dae0', 77 | 'list.warningForeground': '#d19a66', 78 | 'menu.foreground': '#abb2bf', 79 | 'menu.separatorBackground': '#343a45', 80 | 'minimapGutter.addedBackground': '#109868', 81 | 'minimapGutter.deletedBackground': '#9A353D', 82 | 'minimapGutter.modifiedBackground': '#948B60', 83 | 'panel.border': '#3e4452', 84 | 'panelSectionHeader.background': '#21252b', 85 | 'peekViewEditor.background': '#1b1d23', 86 | 'peekViewEditor.matchHighlightBackground': '#29244b', 87 | 'peekViewResult.background': '#22262b', 88 | 'scrollbar.shadow': '#23252c', 89 | 'scrollbarSlider.activeBackground': '#747d9180', 90 | 'scrollbarSlider.background': '#4e566660', 91 | 'scrollbarSlider.hoverBackground': '#5a637580', 92 | 'settings.focusedRowBackground': '#282c34', 93 | 'settings.headerForeground': '#fff', 94 | 'sideBar.background': '#21252b', 95 | 'sideBar.foreground': '#abb2bf', 96 | 'sideBarSectionHeader.background': '#282c34', 97 | 'sideBarSectionHeader.foreground': '#abb2bf', 98 | 'statusBar.background': '#21252b', 99 | 'statusBar.border': '#181a1f', 100 | 'statusBar.debuggingBackground': '#cc6633', 101 | 'statusBar.debuggingBorder': '#ff000000', 102 | 'statusBar.debuggingForeground': '#ffffff', 103 | 'statusBar.foreground': '#9da5b4', 104 | 'statusBar.noFolderBackground': '#21252b', 105 | 'statusBarItem.remoteBackground': '#4d78cc', 106 | 'statusBarItem.remoteForeground': '#f8fafd', 107 | 'tab.activeBackground': '#282c34', 108 | 'tab.activeForeground': '#dcdcdc', 109 | 'tab.hoverBackground': '#323842', 110 | 'tab.inactiveBackground': '#21252b', 111 | 'tab.unfocusedHoverBackground': '#323842', 112 | 'terminal.ansiBlack': '#3f4451', 113 | 'terminal.ansiBlue': '#4aa5f0', 114 | 'terminal.ansiBrightBlack': '#4f5666', 115 | 'terminal.ansiBrightBlue': '#4dc4ff', 116 | 'terminal.ansiBrightCyan': '#4cd1e0', 117 | 'terminal.ansiBrightGreen': '#a5e075', 118 | 'terminal.ansiBrightMagenta': '#de73ff', 119 | 'terminal.ansiBrightRed': '#ff616e', 120 | 'terminal.ansiBrightWhite': '#e6e6e6', 121 | 'terminal.ansiBrightYellow': '#f0a45d', 122 | 'terminal.ansiCyan': '#42b3c2', 123 | 'terminal.ansiGreen': '#8cc265', 124 | 'terminal.ansiMagenta': '#c162de', 125 | 'terminal.ansiRed': '#e05561', 126 | 'terminal.ansiWhite': '#d7dae0', 127 | 'terminal.ansiYellow': '#d18f52', 128 | 'terminal.background': '#282c34', 129 | 'terminal.border': '#3e4452', 130 | 'terminal.foreground': '#abb2bf', 131 | 'terminal.selectionBackground': '#abb2bf30', 132 | 'textBlockQuote.background': '#2e3440', 133 | 'textBlockQuote.border': '#4b5362', 134 | 'textLink.foreground': '#61afef', 135 | 'textPreformat.foreground': '#d19a66', 136 | 'titleBar.activeBackground': '#282c34', 137 | 'titleBar.activeForeground': '#9da5b4', 138 | 'titleBar.inactiveBackground': '#282c34', 139 | 'titleBar.inactiveForeground': '#6b717d', 140 | 'tree.indentGuidesStroke': '#ffffff1d', 141 | 'walkThrough.embeddedEditorBackground': '#2e3440', 142 | }, 143 | tokenColors: TokenColors, 144 | } 145 | 146 | export default Theme 147 | -------------------------------------------------------------------------------- /src/variants/themeDarker.ts: -------------------------------------------------------------------------------- 1 | import { ThemeSchema } from '~/@types/ThemeSchema' 2 | import TokenColors from './TokenColors' 3 | const ThemeDarker: ThemeSchema = { 4 | name: 'ThemeDarker', 5 | type: 'dark', 6 | colors: { 7 | 'activityBar.background': '#23272e', 8 | 'activityBar.foreground': '#d7dae0', 9 | 'activityBarBadge.background': '#4d78cc', 10 | 'activityBarBadge.foreground': '#f8fafd', 11 | 'badge.background': '#23272e', 12 | 'button.background': '#404754', 13 | 'button.secondaryBackground': '#30333d', 14 | 'button.secondaryForeground': '#c0bdbd', 15 | 'checkbox.border': '#404754', 16 | 'debugToolBar.background': '#1e2227', 17 | descriptionForeground: '#abb2bf', 18 | 'diffEditor.insertedTextBackground': '#00809b33', 19 | 'dropdown.background': '#1e2227', 20 | 'dropdown.border': '#1e2227', 21 | 'editor.background': '#23272e', 22 | 'editor.findMatchBackground': '#42557b', 23 | 'editor.findMatchBorder': '#457dff', 24 | 'editor.findMatchHighlightBackground': '#6199ff2f', 25 | 'editor.foreground': '#abb2bf', 26 | 'editorBracketHighlight.foreground1': '#d19a66', 27 | 'editorBracketHighlight.foreground2': '#c678dd', 28 | 'editorBracketHighlight.foreground3': '#56b6c2', 29 | 'editorHoverWidget.highlightForeground': '#61afef', 30 | 'editorInlayHint.foreground': '#abb2bf', 31 | 'editorInlayHint.background': '#2c313c', 32 | 'editor.lineHighlightBackground': '#2c313c', 33 | 'editorLineNumber.activeForeground': '#abb2bf', 34 | 'editorGutter.addedBackground': '#109868', 35 | 'editorGutter.deletedBackground': '#9A353D', 36 | 'editorGutter.modifiedBackground': '#948B60', 37 | 'editor.selectionBackground': '#67769660', 38 | 'editor.selectionHighlightBackground': '#ffffff10', 39 | 'editor.selectionHighlightBorder': '#dddddd', 40 | 'editor.wordHighlightBackground': '#d2e0ff2f', 41 | 'editor.wordHighlightBorder': '#7f848e', 42 | 'editor.wordHighlightStrongBackground': '#abb2bf26', 43 | 'editor.wordHighlightStrongBorder': '#7f848e', 44 | 'editorBracketMatch.background': '#515a6b', 45 | 'editorBracketMatch.border': '#515a6b', 46 | 'editorCursor.background': '#ffffffc9', 47 | 'editorCursor.foreground': '#528bff', 48 | 'editorError.foreground': '#c24038', 49 | 'editorGroup.border': '#181a1f', 50 | 'editorGroupHeader.tabsBackground': '#1e2227', 51 | 'editorHoverWidget.background': '#1e2227', 52 | 'editorHoverWidget.border': '#181a1f', 53 | 'editorIndentGuide.activeBackground': '#c8c8c859', 54 | 'editorIndentGuide.background': '#3b4048', 55 | 'editorLineNumber.foreground': '#495162', 56 | 'editorMarkerNavigation.background': '#1e2227', 57 | 'editorRuler.foreground': '#abb2bf26', 58 | 'editorSuggestWidget.background': '#1e2227', 59 | 'editorSuggestWidget.border': '#181a1f', 60 | 'editorSuggestWidget.selectedBackground': '#2c313a', 61 | 'editorWarning.foreground': '#d19a66', 62 | 'editorWhitespace.foreground': '#ffffff1d', 63 | 'editorWidget.background': '#1e2227', 64 | focusBorder: '#3e4452', 65 | 'gitDecoration.ignoredResourceForeground': '#636b78', 66 | 'input.background': '#1d1f23', 67 | 'input.foreground': '#abb2bf', 68 | 'list.activeSelectionBackground': '#2c313a', 69 | 'list.activeSelectionForeground': '#d7dae0', 70 | 'list.focusBackground': '#323842', 71 | 'list.focusForeground': '#f0f0f0', 72 | 'list.highlightForeground': '#ecebeb', 73 | 'list.hoverBackground': '#2c313a', 74 | 'list.hoverForeground': '#abb2bf', 75 | 'list.inactiveSelectionBackground': '#323842', 76 | 'list.inactiveSelectionForeground': '#d7dae0', 77 | 'list.warningForeground': '#d19a66', 78 | 'menu.foreground': '#abb2bf', 79 | 'menu.separatorBackground': '#343a45', 80 | 'minimapGutter.addedBackground': '#109868', 81 | 'minimapGutter.deletedBackground': '#9A353D', 82 | 'minimapGutter.modifiedBackground': '#948B60', 83 | 'panel.border': '#3e4452', 84 | 'panelSectionHeader.background': '#1e2227', 85 | 'peekViewEditor.background': '#1b1d23', 86 | 'peekViewEditor.matchHighlightBackground': '#29244b', 87 | 'peekViewResult.background': '#22262b', 88 | 'scrollbar.shadow': '#23252c', 89 | 'scrollbarSlider.activeBackground': '#747d9180', 90 | 'scrollbarSlider.background': '#4e566660', 91 | 'scrollbarSlider.hoverBackground': '#5a637580', 92 | 'settings.focusedRowBackground': '#23272e', 93 | 'settings.headerForeground': '#fff', 94 | 'sideBar.background': '#1e2227', 95 | 'sideBar.foreground': '#abb2bf', 96 | 'sideBarSectionHeader.background': '#23272e', 97 | 'sideBarSectionHeader.foreground': '#abb2bf', 98 | 'statusBar.background': '#21252b', 99 | 'statusBar.border': '#181a1f', 100 | 'statusBar.debuggingBackground': '#cc6633', 101 | 'statusBar.debuggingBorder': '#ff000000', 102 | 'statusBar.debuggingForeground': '#ffffff', 103 | 'statusBar.foreground': '#9da5b4', 104 | 'statusBar.noFolderBackground': '#1e2227', 105 | 'statusBarItem.remoteBackground': '#4d78cc', 106 | 'statusBarItem.remoteForeground': '#f8fafd', 107 | 'tab.activeBackground': '#23272e', 108 | 'tab.activeForeground': '#dcdcdc', 109 | 'tab.hoverBackground': '#323842', 110 | 'tab.inactiveBackground': '#1e2227', 111 | 'tab.unfocusedHoverBackground': '#323842', 112 | 'terminal.ansiBlack': '#3f4451', 113 | 'terminal.ansiBlue': '#4aa5f0', 114 | 'terminal.ansiBrightBlack': '#4f5666', 115 | 'terminal.ansiBrightBlue': '#4dc4ff', 116 | 'terminal.ansiBrightCyan': '#4cd1e0', 117 | 'terminal.ansiBrightGreen': '#a5e075', 118 | 'terminal.ansiBrightMagenta': '#de73ff', 119 | 'terminal.ansiBrightRed': '#ff616e', 120 | 'terminal.ansiBrightWhite': '#e6e6e6', 121 | 'terminal.ansiBrightYellow': '#f0a45d', 122 | 'terminal.ansiCyan': '#42b3c2', 123 | 'terminal.ansiGreen': '#8cc265', 124 | 'terminal.ansiMagenta': '#c162de', 125 | 'terminal.ansiRed': '#e05561', 126 | 'terminal.ansiWhite': '#d7dae0', 127 | 'terminal.ansiYellow': '#d18f52', 128 | 'terminal.background': '#23272e', 129 | 'terminal.border': '#3e4452', 130 | 'terminal.foreground': '#abb2bf', 131 | 'terminal.selectionBackground': '#abb2bf30', 132 | 'textBlockQuote.background': '#2e3440', 133 | 'textBlockQuote.border': '#4b5362', 134 | 'textLink.foreground': '#61afef', 135 | 'textPreformat.foreground': '#d19a66', 136 | 'titleBar.activeBackground': '#23272e', 137 | 'titleBar.activeForeground': '#9da5b4', 138 | 'titleBar.inactiveBackground': '#23272e', 139 | 'titleBar.inactiveForeground': '#6b717d', 140 | 'tree.indentGuidesStroke': '#ffffff1d', 141 | 'walkThrough.embeddedEditorBackground': '#2e3440', 142 | }, 143 | tokenColors: TokenColors, 144 | } 145 | 146 | export default ThemeDarker 147 | -------------------------------------------------------------------------------- /src/variants/themeMix.ts: -------------------------------------------------------------------------------- 1 | import { ThemeSchema } from '~/@types/ThemeSchema' 2 | import Italic from '~/utils/italic' 3 | import TokenColors from './TokenColors' 4 | const ThemeMix: ThemeSchema = { 5 | name: 'ThemeMix', 6 | type: 'dark', 7 | colors: { 8 | 'activityBar.background': '#21252b', 9 | 'activityBar.foreground': '#d7dae0', 10 | 'activityBarBadge.background': '#4d78cc', 11 | 'activityBarBadge.foreground': '#f8fafd', 12 | 'badge.background': '#282c34', 13 | 'button.background': '#404754', 14 | 'button.secondaryBackground': '#30333d', 15 | 'button.secondaryForeground': '#c0bdbd', 16 | 'checkbox.border': '#404754', 17 | 'debugToolBar.background': '#21252b', 18 | descriptionForeground: '#abb2bf', 19 | 'diffEditor.insertedTextBackground': '#00809b33', 20 | 'dropdown.background': '#21252b', 21 | 'dropdown.border': '#21252b', 22 | 'editor.background': '#282c34', 23 | 'editor.findMatchBackground': '#42557b', 24 | 'editor.findMatchBorder': '#457dff', 25 | 'editor.findMatchHighlightBackground': '#6199ff2f', 26 | 'editor.foreground': '#abb2bf', 27 | 'editorBracketHighlight.foreground1': '#d19a66', 28 | 'editorBracketHighlight.foreground2': '#c678dd', 29 | 'editorBracketHighlight.foreground3': '#56b6c2', 30 | 'editorHoverWidget.highlightForeground': '#61afef', 31 | 'editorInlayHint.foreground': '#abb2bf', 32 | 'editorInlayHint.background': '#2c313c', 33 | 'editor.lineHighlightBackground': '#2c313c', 34 | 'editorLineNumber.activeForeground': '#abb2bf', 35 | 'editorGutter.addedBackground': '#109868', 36 | 'editorGutter.deletedBackground': '#9A353D', 37 | 'editorGutter.modifiedBackground': '#948B60', 38 | 'editor.selectionBackground': '#67769660', 39 | 'editor.selectionHighlightBackground': '#ffffff10', 40 | 'editor.selectionHighlightBorder': '#dddddd', 41 | 'editor.wordHighlightBackground': '#d2e0ff2f', 42 | 'editor.wordHighlightBorder': '#7f848e', 43 | 'editor.wordHighlightStrongBackground': '#abb2bf26', 44 | 'editor.wordHighlightStrongBorder': '#7f848e', 45 | 'editorBracketMatch.background': '#515a6b', 46 | 'editorBracketMatch.border': '#515a6b', 47 | 'editorCursor.background': '#ffffffc9', 48 | 'editorCursor.foreground': '#528bff', 49 | 'editorError.foreground': '#c24038', 50 | 'editorGroup.border': '#181a1f', 51 | 'editorGroupHeader.tabsBackground': '#21252b', 52 | 'editorHoverWidget.background': '#21252b', 53 | 'editorHoverWidget.border': '#181a1f', 54 | 'editorIndentGuide.activeBackground': '#c8c8c859', 55 | 'editorIndentGuide.background': '#3b4048', 56 | 'editorLineNumber.foreground': '#495162', 57 | 'editorMarkerNavigation.background': '#21252b', 58 | 'editorRuler.foreground': '#abb2bf26', 59 | 'editorSuggestWidget.background': '#21252b', 60 | 'editorSuggestWidget.border': '#181a1f', 61 | 'editorSuggestWidget.selectedBackground': '#2c313a', 62 | 'editorWarning.foreground': '#d19a66', 63 | 'editorWhitespace.foreground': '#ffffff1d', 64 | 'editorWidget.background': '#21252b', 65 | focusBorder: '#3e4452c3', 66 | 'gitDecoration.ignoredResourceForeground': '#636b78', 67 | 'input.background': '#1d1f23', 68 | 'input.foreground': '#abb2bf', 69 | 'list.activeSelectionBackground': '#2c313a', 70 | 'list.activeSelectionForeground': '#d7dae0', 71 | 'list.focusBackground': '#323842', 72 | 'list.focusForeground': '#f0f0f0', 73 | 'list.highlightForeground': '#ecebeb', 74 | 'list.hoverBackground': '#2c313a', 75 | 'list.hoverForeground': '#abb2bf', 76 | 'list.inactiveSelectionBackground': '#323842', 77 | 'list.inactiveSelectionForeground': '#d7dae0', 78 | 'list.warningForeground': '#d19a66', 79 | 'menu.foreground': '#abb2bf', 80 | 'menu.separatorBackground': '#343a45', 81 | 'minimapGutter.addedBackground': '#109868', 82 | 'minimapGutter.deletedBackground': '#9A353D', 83 | 'minimapGutter.modifiedBackground': '#948B60', 84 | 'panel.border': '#3e4452', 85 | 'panelSectionHeader.background': '#21252b', 86 | 'peekViewEditor.background': '#1b1d23', 87 | 'peekViewEditor.matchHighlightBackground': '#29244b', 88 | 'peekViewResult.background': '#22262b', 89 | 'scrollbar.shadow': '#23252c', 90 | 'scrollbarSlider.activeBackground': '#747d9180', 91 | 'scrollbarSlider.background': '#4e566660', 92 | 'scrollbarSlider.hoverBackground': '#5a637580', 93 | 'settings.focusedRowBackground': '#282c34', 94 | 'settings.headerForeground': '#fff', 95 | 'sideBar.background': '#21252b', 96 | 'sideBar.foreground': '#abb2bfc4', 97 | 'sideBarSectionHeader.background': '#21252b', 98 | 'sideBarSectionHeader.foreground': '#abb2bf', 99 | 'statusBar.background': '#21252b', 100 | 'statusBar.border': '#181a1f', 101 | 'statusBar.debuggingBackground': '#cc6633', 102 | 'statusBar.debuggingBorder': '#ff000000', 103 | 'statusBar.debuggingForeground': '#ffffff', 104 | 'statusBar.foreground': '#9da5b4', 105 | 'statusBar.noFolderBackground': '#21252b', 106 | 'statusBarItem.remoteBackground': '#4d78cc', 107 | 'statusBarItem.remoteForeground': '#f8fafd', 108 | 'tab.activeBackground': '#282c34', 109 | 'tab.activeForeground': '#dcdcdc', 110 | 'tab.hoverBackground': '#323842', 111 | 'tab.inactiveBackground': '#21252b', 112 | 'tab.unfocusedHoverBackground': '#323842', 113 | 'terminal.ansiBlack': '#3f4451', 114 | 'terminal.ansiBlue': '#4aa5f0', 115 | 'terminal.ansiBrightBlack': '#4f5666', 116 | 'terminal.ansiBrightBlue': '#4dc4ff', 117 | 'terminal.ansiBrightCyan': '#4cd1e0', 118 | 'terminal.ansiBrightGreen': '#a5e075', 119 | 'terminal.ansiBrightMagenta': '#de73ff', 120 | 'terminal.ansiBrightRed': '#ff616e', 121 | 'terminal.ansiBrightWhite': '#e6e6e6', 122 | 'terminal.ansiBrightYellow': '#f0a45d', 123 | 'terminal.ansiCyan': '#42b3c2', 124 | 'terminal.ansiGreen': '#8cc265', 125 | 'terminal.ansiMagenta': '#c162de', 126 | 'terminal.ansiRed': '#e05561', 127 | 'terminal.ansiWhite': '#d7dae0', 128 | 'terminal.ansiYellow': '#d18f52', 129 | 'terminal.background': '#282c34', 130 | 'terminal.border': '#3e4452', 131 | 'terminal.foreground': '#abb2bf', 132 | 'terminal.selectionBackground': '#abb2bf30', 133 | 'textBlockQuote.background': '#2e3440', 134 | 'textBlockQuote.border': '#4b5362', 135 | 'textLink.foreground': '#61afef', 136 | 'textPreformat.foreground': '#d19a66', 137 | 'titleBar.activeBackground': '#21252b', 138 | 'titleBar.activeForeground': '#9da5b4', 139 | 'titleBar.inactiveBackground': '#21252b', 140 | 'titleBar.inactiveForeground': '#6b717d', 141 | 'tree.indentGuidesStroke': '#ffffff1d', 142 | 'walkThrough.embeddedEditorBackground': '#2e3440', 143 | }, 144 | tokenColors: [...TokenColors, ...Italic], 145 | } 146 | 147 | export default ThemeMix 148 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | /* Projects */ 5 | // "incremental": true, /* Enable incremental compilation */ 6 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 7 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ 8 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ 9 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 10 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 11 | /* Language and Environment */ 12 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 13 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 14 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 15 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 16 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 17 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ 18 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 19 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ 20 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ 21 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 22 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 23 | /* Modules */ 24 | "module": "commonjs", /* Specify what module code is generated. */ 25 | // "rootDir": "./", /* Specify the root folder within your source files. */ 26 | // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 27 | "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 28 | "paths": { /* Specify a set of entries that re-map imports to additional lookup locations. */ 29 | "~/*": [ 30 | "./src/*" 31 | ], 32 | }, 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "resolveJsonModule": true, /* Enable importing .json files */ 38 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ 39 | /* JavaScript Support */ 40 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ 41 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 42 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ 43 | /* Emit */ 44 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 45 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 46 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 47 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 48 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ 49 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 50 | // "removeComments": true, /* Disable emitting comments. */ 51 | // "noEmit": true, /* Disable emitting files from a compilation. */ 52 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 53 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ 54 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 55 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 56 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 57 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 58 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 59 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 60 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 61 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ 62 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ 63 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 64 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ 65 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 66 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 67 | /* Interop Constraints */ 68 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 69 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 70 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ 71 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 72 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 73 | /* Type Checking */ 74 | "strict": true, /* Enable all strict type-checking options. */ 75 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ 76 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ 77 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 78 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ 79 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 80 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ 81 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ 82 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 83 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ 84 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ 85 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 86 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 87 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 88 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 89 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 90 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ 91 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 92 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 93 | /* Completeness */ 94 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 95 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 96 | } 97 | } -------------------------------------------------------------------------------- /vsc-extension-quickstart.md: -------------------------------------------------------------------------------- 1 | # Welcome to your VS Code Extension 2 | 3 | ## What's in the folder 4 | 5 | * This folder contains all of the files necessary for your color theme extension. 6 | * `package.json` - this is the manifest file that defines the location of the theme file and specifies the base theme of the theme. 7 | * `themes/Theme-color-theme.json` - the color theme definition file. 8 | 9 | ## Get up and running straight away 10 | 11 | * Press `F5` to open a new window with your extension loaded. 12 | * Open `File > Preferences > Color Themes` and pick your color theme. 13 | * 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 `Developer: Inspect Editor Tokens and Scopes` command from the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) . 14 | 15 | ## Make changes 16 | 17 | * Changes to the theme file are automatically applied to the Extension Development Host window. 18 | 19 | ## Adopt your theme to Visual Studio Code 20 | 21 | * The token colorization is done based on standard TextMate themes. Colors are matched against one or more scopes. 22 | 23 | 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. 24 | 25 | ## Install your extension 26 | 27 | * To start using your extension with Visual Studio Code copy it into the `/.vscode/extensions` folder and restart Code. 28 | * To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension. 29 | --------------------------------------------------------------------------------