├── .editorconfig ├── .github └── FUNDING.yml ├── .gitignore ├── .vscode └── launch.json ├── .vscodeignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── alternight-logo.png ├── images ├── preview-css.png ├── preview-html.png ├── preview-javascript.png ├── preview-json.png ├── preview-react.png ├── preview-sass.png └── preview-sidebar.png ├── package.json └── themes ├── alternight-color-theme-no-italics.json └── alternight-color-theme.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | max_line_length = 80 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | max_line_length = 0 15 | trim_trailing_whitespace = false 16 | 17 | [COMMIT_EDITMSG] 18 | max_line_length = 0 -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [mprcodes] 4 | custom: ['buymeacoffee.com/mprcodes'] 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.vsix -------------------------------------------------------------------------------- /.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 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [3.0.0] - 2021-10-16 8 | 9 | ### Changed 10 | 11 | - Change editor foreground color to #CAAEEB 12 | 13 | - Change integrated terminal colors 14 | 15 | - Adjust multiple colors for better visual consistency 16 | 17 | - Change styles for hovering over tabs 18 | 19 | ### Added 20 | 21 | - Add italics for main theme 22 | 23 | - Add variant without italics 24 | 25 | - Add color syntax for .pug and .prisma files 26 | 27 | ## [2.6.1] - 2021-03-15 28 | 29 | ### Changed 30 | 31 | - Change color of punctuation of template expressions 32 | 33 | - Change color of `variable.parameter` 34 | 35 | ## [2.6.0] - 2021-03-09 36 | 37 | ### Added 38 | 39 | - Add Syntax Support for TypeScript. 40 | 41 | - Add Syntax Support for GraphQL. 42 | 43 | - Add styles for `sash.hoverBorder`. 44 | 45 | ### Changed 46 | 47 | - Change template/interpolated strings' green to match regular strings'. 48 | 49 | ### Updated 50 | 51 | - Update JSON Colors to match theme's palette. 52 | 53 | - Update Markdown Colors to match theme's palette. 54 | 55 | ## [2.5.6] - 2021-02-13 56 | 57 | ### Changed 58 | 59 | - Update background and foreground colors of color status for debugging mode (fixes #6). 60 | 61 | ## [2.5.5] - 2021-02-11 62 | 63 | ### Updated 64 | 65 | - Update sample screenshots. 66 | 67 | ## [2.5.4] - 2021-01-30 68 | 69 | ### Changed 70 | 71 | - Update styles of editor tabs. 72 | 73 | ## [2.5.3] - 2021-01-18 74 | 75 | ### Added 76 | 77 | - Add preview screenshots for React and Sass. 78 | 79 | ### Changed 80 | 81 | - Update theme preview screenshots. 82 | 83 | - Update year on license. 84 | 85 | ## [2.5.0] - 2021-01-08 86 | 87 | ### Changed 88 | 89 | - Color adjustments. 90 | 91 | ## [2.1.0] - 2020-12-30 92 | 93 | ### Changed 94 | 95 | - Change some colors for JSX and sass. 96 | 97 | ## [2.0.3] - 2020-12-15 98 | 99 | ### Changed 100 | 101 | - Change editor.selectionBackground's color. 102 | 103 | - Change Status bar background/foreground to match editor's 104 | 105 | - Change color for CSS variables, functions, and at-rules. 106 | 107 | ## [2.0.0] - 2020-12-01 108 | 109 | ### Added 110 | 111 | - Add Styles for Editor Hover Widget. 112 | 113 | ### Changed 114 | 115 | - The entire theme color palette has been updated. 116 | 117 | ## [1.0.8] - 2020-11-23 118 | 119 | ### Added 120 | 121 | - Add Styles for CSS Element Selectors. 122 | 123 | - Add Styles for CSS At-Rules. 124 | 125 | - Add new image to preview changes for CSS 126 | 127 | ### Changed 128 | 129 | - Change color for CSS Property Names 130 | 131 | - Change color for CSS Class Selectors 132 | 133 | ### Removed 134 | 135 | - Remove preview image with old CSS styles 136 | 137 | ## [1.0.4] - 2020-11-23 138 | 139 | ### Added 140 | 141 | - Add VS Marketplace Version and Downloads badges. 142 | 143 | ### Changed 144 | 145 | - Update installation steps on README.md 146 | 147 | - Increase contrast ratio of `editorLineNumber.foreground` 148 | 149 | ### Removed 150 | 151 | - Duplicate object key from `alternight-color-theme.json` 152 | 153 | ## [Unreleased] 154 | 155 | - Initial release 156 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Mauricio Paternina 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 | # AlterNight 🌠 2 | 3 | [![Version](https://vsmarketplacebadge.apphb.com/version/spaceinvadev.alternight.svg)](https://marketplace.visualstudio.com/items?itemName=spaceinvadev.alternight) 4 | [![Downloads](https://img.shields.io/vscode-marketplace/r/spaceinvadev.alternight.svg)](https://marketplace.visualstudio.com/items?itemName=spaceinvadev.alternight) 5 | 6 | A Visual Studio Code theme for those who code at night 7 | 8 |
9 | 10 | ## Previews 11 | 12 | ![Home Screen](https://raw.githubusercontent.com/spaceinvadev/alternight-vscode-theme/main/images/preview-sidebar.png) 13 | 14 |
15 | 16 | ### ReactJS 17 | 18 | ![Preview JavaScript](https://raw.githubusercontent.com/spaceinvadev/alternight-vscode-theme/main/images/preview-react.png) 19 | 20 |
21 | 22 | ### JavaScript 23 | 24 | ![Preview JavaScript](https://raw.githubusercontent.com/spaceinvadev/alternight-vscode-theme/main/images/preview-javascript.png) 25 | 26 |
27 | 28 | ### HTML 29 | 30 | ![Preview HTML](https://raw.githubusercontent.com/spaceinvadev/alternight-vscode-theme/main/images/preview-html.png) 31 | 32 |
33 | 34 | ### Sass 35 | 36 | ![Preview CSS](https://raw.githubusercontent.com/spaceinvadev/alternight-vscode-theme/main/images/preview-sass.png) 37 | 38 |
39 | 40 | ### CSS 41 | 42 | ![Preview CSS](https://raw.githubusercontent.com/spaceinvadev/alternight-vscode-theme/main/images/preview-css.png) 43 | 44 |
45 | 46 | ### JSON 47 | 48 | ![Preview JSON](https://raw.githubusercontent.com/spaceinvadev/alternight-vscode-theme/main/images/preview-json.png) 49 | 50 |
51 | 52 | ## Installation 53 | 54 | 1. Open the **Extensions** sidebar panel in VS Code. `View → Extensions` 55 | 56 | 2. Search for `AlterNight` 57 | 58 | 3. Click `Install` 59 | 60 | 4. When prompted, select `AlterNight` as the color theme 61 | 62 | > In case of not being prompted to select a Color Theme upon installing, go to the menu bar and select: `Code (File, on Windows) > Preferences > Color Theme > AlterNight`. Alternatively, you can use the shortcut `⌘/Ctrl + K > ⌘/Ctrl + T` and select `AlterNight`. 63 | 64 |
65 | 66 | ### Recommended settings for a better experience 67 | 68 | The typeface shown in the screenshots is **MD IO** — a nice monospace font I really like. You can get it from [Future Fonts](https://www.futurefonts.xyz/mass-driver/io). I've also added some preferred typography-related settings, which you can get by adding the following to your `settings.json` file. 69 | 70 | ```json 71 | // Controls the font family 72 | "editor.fontFamily": "'MD IO 0.3', monospace", 73 | 74 | // Controls the font size in pixels 75 | "editor.fontSize": 18, 76 | 77 | // Controls letter spacing in pixels 78 | "editor.letterSpacing": -0.72, 79 | 80 | // Controls the font weight 81 | "editor.fontWeight": "400", 82 | 83 | // Controls the line height. Use 0 to compute the line height from the font size 84 | "editor.lineHeight": 34, 85 | 86 | // Enables/Disables font ligatures 87 | "editor.fontLigatures": true, 88 | ``` 89 | 90 |
91 | 92 | ### Customize/Override theme colors 93 | 94 | You can customize/override the AlterNight theme colors by adding the following theme-specific configuration to your settings file. For more advanced customization, refer to the corresponding [VS Code Docs](https://code.visualstudio.com/docs/getstarted/themes#_customizing-a-color-theme). 95 | 96 |
97 | 98 | #### Example of basic customization 99 | 100 | ```json 101 | "editor.tokenColorCustomizations": { 102 | "[AlterNight]": { 103 | "comments": "#229977" 104 | } 105 | }, 106 | ``` 107 | 108 |
109 | 110 | #### Example of advanced customization 111 | 112 | ```json 113 | "editor.tokenColorCustomizations": { 114 | "[Your_Custom_AlterNight]": { 115 | "textMateRules": [ 116 | { 117 | "scope": [ 118 | "punctuation.definition.comment", 119 | "comment.block", 120 | "comment.line", 121 | "comment.block.documentation" 122 | ], 123 | "settings": { 124 | "foreground": "#ffff00" 125 | } 126 | } 127 | ] 128 | }, 129 | }, 130 | 131 | "workbench.colorCustomizations": { 132 | "[Your_Custom_AlterNight]": { 133 | "sideBar.background": "#ffff00", 134 | } 135 | }, 136 | ``` 137 | 138 |
139 | 140 | ### Contributions, Issues & Suggestions 141 | 142 | Any feedback, issue reporting or suggestion is welcome. Feel free to submit your concern via the [Repo's GitHub Issues](https://github.com/spaceinvadev/alternight-vscode-theme/issues) page, provide feedback or request a feature by submitting a PR. 143 | 144 |
145 | 146 | ### Changelog 147 | 148 | All notable changes to this project are documented in the [changelog](CHANGELOG.md). Consider checking the changelog prior to filing any issues as they may have already been addressed. 149 | 150 |
151 | 152 | ## Credits 153 | 154 | Made with ❤️ by [@spaceinvadev](https://twitter.com/spaceinvadev) 155 | -------------------------------------------------------------------------------- /alternight-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patternina/alternight-vscode-theme/db3c54971da25a6221e95342adb41e827ec3a579/alternight-logo.png -------------------------------------------------------------------------------- /images/preview-css.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patternina/alternight-vscode-theme/db3c54971da25a6221e95342adb41e827ec3a579/images/preview-css.png -------------------------------------------------------------------------------- /images/preview-html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patternina/alternight-vscode-theme/db3c54971da25a6221e95342adb41e827ec3a579/images/preview-html.png -------------------------------------------------------------------------------- /images/preview-javascript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patternina/alternight-vscode-theme/db3c54971da25a6221e95342adb41e827ec3a579/images/preview-javascript.png -------------------------------------------------------------------------------- /images/preview-json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patternina/alternight-vscode-theme/db3c54971da25a6221e95342adb41e827ec3a579/images/preview-json.png -------------------------------------------------------------------------------- /images/preview-react.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patternina/alternight-vscode-theme/db3c54971da25a6221e95342adb41e827ec3a579/images/preview-react.png -------------------------------------------------------------------------------- /images/preview-sass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patternina/alternight-vscode-theme/db3c54971da25a6221e95342adb41e827ec3a579/images/preview-sass.png -------------------------------------------------------------------------------- /images/preview-sidebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patternina/alternight-vscode-theme/db3c54971da25a6221e95342adb41e827ec3a579/images/preview-sidebar.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "alternight", 3 | "displayName": "AlterNight", 4 | "description": "A Visual Studio Code theme for those who code at night", 5 | "version": "3.0.0", 6 | "publisher": "spaceinvadev", 7 | "author": { 8 | "name": "Mauricio Paternina", 9 | "url": "https://spaceinvadev.github.io/alternight/", 10 | "email": "hello@spaceinva.dev" 11 | }, 12 | "icon": "alternight-logo.png", 13 | "galleryBanner": { 14 | "color": "#1f172b", 15 | "theme": "dark" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/spaceinvadev/alternight-vscode-theme" 20 | }, 21 | "bugs": { 22 | "url": "https://github.com/spaceinvadev/alternight-vscode-theme/issues" 23 | }, 24 | "engines": { 25 | "vscode": "^1.51.0" 26 | }, 27 | "categories": [ 28 | "Themes" 29 | ], 30 | "keywords": [ 31 | "Theme", 32 | "Themes", 33 | "Dark", 34 | "Purple", 35 | "Blue", 36 | "Indie", 37 | "Retro", 38 | "80s", 39 | "Neon", 40 | "Alternative", 41 | "Night", 42 | "Cobalt", 43 | "Ocean", 44 | "Ocean Next", 45 | "React", 46 | "React Theme", 47 | "italic" 48 | ], 49 | "contributes": { 50 | "themes": [ 51 | { 52 | "label": "AlterNight", 53 | "uiTheme": "vs-dark", 54 | "path": "./themes/alternight-color-theme.json" 55 | }, 56 | { 57 | "label": "AlterNight (No Italics)", 58 | "uiTheme": "vs-dark", 59 | "path": "./themes/alternight-color-theme-no-italics.json" 60 | } 61 | ] 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /themes/alternight-color-theme-no-italics.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "alternight", 3 | "type": "dark", 4 | "semanticHighlighting": true, 5 | "colors": { 6 | // Editor 7 | "editor.background": "#1f172b", 8 | "editor.foreground": "#caaeeb", 9 | "editor.selectionBackground": "#5C7FE280", 10 | "editorCursor.foreground": "#ff0", 11 | "editorLineNumber.foreground": "#9077b688", 12 | "editor.lineHighlightBackground": "#caaeeb12", 13 | "editor.foldBackground": "#291b3d", 14 | 15 | "titleBar.activeBackground": "#1f172b", 16 | "titleBar.activeForeground": "#9077b6", 17 | "titleBar.inactiveBackground": "#1f172b80", 18 | "titleBar.inactiveForeground": "#9077b680", 19 | 20 | // Activity bar 21 | "activityBar.background": "#1f172b", 22 | "activityBar.foreground": "#bcadd3", 23 | "activityBar.activeBorder": "#bcadd3", 24 | "activityBar.inactiveForeground": "#9077b680", 25 | "activityBarBadge.background": "#e29fa4", 26 | "activityBarBadge.foreground": "#1f172b", 27 | 28 | // Sidebar 29 | "sideBar.background": "#1f172b", 30 | "sideBar.foreground": "#9077b6", 31 | "sideBarTitle.foreground": "#bcadd3", 32 | "sideBarSectionHeader.background": "#312a3c", 33 | "sideBarSectionHeader.foreground": "#9b8eb0", 34 | 35 | // Tabs 36 | "editorGroupHeader.tabsBackground": "#1f172b", 37 | "tab.activeBorderTop": "#f78c6c", 38 | "tab.activeForeground": "#f78c6c", 39 | "tab.inactiveBackground": "#1b1b31", 40 | "tab.inactiveForeground": "#7F7fb8", 41 | "tab.hoverBackground": "#251a36", 42 | "tab.hoverForeground": "#f78c6c", 43 | 44 | // Status bar 45 | "statusBar.background": "#1f172b", 46 | "statusBar.foreground": "#9077b6", 47 | "statusBarItem.hoverBackground": "#312642", 48 | "statusBar.debuggingBackground": "#e29fa4", 49 | "statusBar.debuggingForeground": "#1f172b", 50 | 51 | // Integrated Terminal 52 | "terminal.background": "#1f172b", 53 | "terminal.foreground": "#bba8d1", 54 | "terminal.selectionBackground": "#5C7FE280", 55 | "terminalCursor.foreground": "#ff0", 56 | "terminal.ansiBlack": "#292929", 57 | "terminal.ansiBlue": "#5C7FE2", 58 | "terminal.ansiCyan": "#40CFCF", 59 | "terminal.ansiGreen": "#4CA779", 60 | "terminal.ansiMagenta": "#c869d1", 61 | "terminal.ansiRed": "#f07c7c", 62 | "terminal.ansiWhite": "#FAFAFA", 63 | "terminal.ansiYellow": "#FFCB6B", 64 | "terminal.ansiBrightBlack": "#080808", 65 | "terminal.ansiBrightBlue": "#718edf", 66 | "terminal.ansiBrightCyan": "#70d1d1", 67 | "terminal.ansiBrightGreen": "#71bd97", 68 | "terminal.ansiBrightMagenta": "#d581dd", 69 | "terminal.ansiBrightRed": "#f08a8a", 70 | "terminal.ansiBrightWhite": "#FFFFFF", 71 | "terminal.ansiBrightYellow": "#fdda9a", 72 | 73 | // Menu 74 | "menu.background": "#1f172b", 75 | "menu.foreground": "#c6abde", 76 | "menu.border": "#c6abde", 77 | "menu.selectionBackground": "#fefefe40", 78 | "menu.separatorBackground": "#fefefe32", 79 | "window.activeBorder": "#9292e424", 80 | 81 | "editor.hoverHighlightBackground": "#695d5e", 82 | "editorIndentGuide.background": "#312a3c", 83 | "editorIndentGuide.activeBackground": "#797480", 84 | 85 | // Hover Widget 86 | "editorHoverWidget.background": "#312a3c", 87 | "editorHoverWidget.border": "#c6abde", 88 | "editorHoverWidget.foreground": "#c6abde", 89 | 90 | "editorGutter.addedBackground": "#9fff20", 91 | "editorGutter.foldingControlForeground": "#ff0", 92 | 93 | // Misc 94 | "scrollbar.shadow": "#caaeeb24", 95 | "sash.hoverBorder": "#f78c6c" 96 | }, 97 | "tokenColors": [ 98 | { 99 | "name": "Comment", 100 | "scope": [ 101 | "comment", 102 | "comment.line", 103 | "comment.block", 104 | "comment.block.documentation", 105 | "punctuation.definition.comment" 106 | ], 107 | "settings": { 108 | "foreground": "#524168" 109 | } 110 | }, 111 | { 112 | "name": "Template Strings", 113 | "scope": [ 114 | "punctuation.definition.string.template.begin", 115 | "punctuation.definition.string.template.begin.js", 116 | "punctuation.definition.string.template.begin.jsx", 117 | "punctuation.definition.string.template.begin.ts", 118 | "punctuation.definition.string.template.begin.tsx", 119 | "punctuation.definition.string.template.end", 120 | "punctuation.definition.string.template.end.js", 121 | "punctuation.definition.string.template.end.jsx", 122 | "punctuation.definition.string.template.end.ts", 123 | "punctuation.definition.string.template.end.tsx" 124 | ], 125 | "settings": { 126 | "foreground": "#4CA779" 127 | } 128 | }, 129 | { 130 | "name": "Template Expression", 131 | "scope": [ 132 | "punctuation.definition.template-expression.begin", 133 | "punctuation.definition.template-expression.begin.js", 134 | "punctuation.definition.template-expression.begin.jsx", 135 | "punctuation.definition.template-expression.begin.ts", 136 | "punctuation.definition.template-expression.begin.tsx", 137 | "punctuation.definition.template-expression.end", 138 | "punctuation.definition.template-expression.end.js", 139 | "punctuation.definition.template-expression.end.jsx", 140 | "punctuation.definition.template-expression.end.ts", 141 | "punctuation.definition.template-expression.end.tsx" 142 | ], 143 | "settings": { 144 | "foreground": "#caaeeb" 145 | } 146 | }, 147 | { 148 | "name": "variables", 149 | "scope": ["variable.other.readwrite", "variable.other.constant"], 150 | "settings": { 151 | "foreground": "#DF84A2" 152 | } 153 | }, 154 | { 155 | "name": "HTML Entities", 156 | "scope": [ 157 | "constant.character.entity", 158 | "constant.character.entity.js", 159 | "constant.character.entity.jsx", 160 | "constant.character.entity.ts", 161 | "constant.character.entity.tsx" 162 | ], 163 | "settings": { 164 | "foreground": "#43c2e2" 165 | } 166 | }, 167 | { 168 | "name": "Punctuation of HTML Entities", 169 | "scope": [ 170 | "punctuation.definition.entity", 171 | "punctuation.definition.entity.js", 172 | "punctuation.definition.entity.jsx", 173 | "punctuation.definition.entity.ts", 174 | "punctuation.definition.entity.tsx" 175 | ], 176 | "settings": { 177 | "foreground": "#3896ad" 178 | } 179 | }, 180 | { 181 | "name": "TS Tag Directives", 182 | "scope": [ 183 | "entity.name.tag.directive", 184 | "entity.name.tag.directive.js", 185 | "entity.name.tag.directive.jsx", 186 | "entity.name.tag.directive.ts", 187 | "entity.name.tag.directive.tsx" 188 | ], 189 | "settings": { 190 | "foreground": "#f0bb6b" 191 | } 192 | }, 193 | { 194 | "name": "Punctuation of TS Tag Directives", 195 | "scope": [ 196 | "punctuation.definition.tag.directive", 197 | "punctuation.definition.tag.directive.js", 198 | "punctuation.definition.tag.directive.jsx", 199 | "punctuation.definition.tag.directive.ts", 200 | "punctuation.definition.tag.directive.tsx" 201 | ], 202 | "settings": { 203 | "foreground": "#ac66c9" 204 | } 205 | }, 206 | { 207 | "name": "Colors", 208 | "scope": ["constant.other.color"], 209 | "settings": { 210 | "foreground": "#fefefe" 211 | } 212 | }, 213 | { 214 | "name": "Invalid", 215 | "scope": ["invalid", "invalid.illegal"], 216 | "settings": { 217 | "foreground": "#ff5370" 218 | } 219 | }, 220 | { 221 | "name": "Keyword, Storage", 222 | "scope": ["keyword", "storage.type", "storage.modifier"], 223 | "settings": { 224 | // "foreground": "#823eaa" 225 | "foreground": "#a477be" 226 | } 227 | }, 228 | { 229 | "name": "async keyword", 230 | "scope": ["storage.modifier.async"], 231 | "settings": { 232 | "foreground": "#664a86" 233 | } 234 | }, 235 | { 236 | "name": "Keyword Operator Assignment", 237 | "scope": [ 238 | "keyword.operator.assignment", 239 | "keyword.operator.type.annotation" 240 | ], 241 | "settings": { 242 | "foreground": "#caaeeb" 243 | } 244 | }, 245 | { 246 | "name": "Entity HTML Tags", 247 | "scope": ["entity.name.tag.html"], 248 | "settings": { 249 | "foreground": "#d4785d" 250 | } 251 | }, 252 | { 253 | "name": "HTML Tags", 254 | "scope": [ 255 | "punctuation.definition.tag.html", 256 | "punctuation.definition.tag.begin.html", 257 | "punctuation.definition.tag.end.html" 258 | ], 259 | "settings": { 260 | "foreground": "#ac66c9" 261 | } 262 | }, 263 | { 264 | "name": "Operator, Misc", 265 | "scope": [ 266 | "keyword.control", 267 | "constant.other.color", 268 | "punctuation", 269 | "meta.brace.square", 270 | "meta.tag", 271 | "punctuation.definition.tag", 272 | "punctuation.section.embedded", 273 | "keyword.other.template", 274 | "keyword.other.substitution", 275 | "keyword.operator" 276 | ], 277 | "settings": { 278 | "foreground": "#caaeeb" 279 | } 280 | }, 281 | { 282 | "name": "Tag", 283 | "scope": [ 284 | "entity.name.tag", 285 | "meta.tag.sgml", 286 | "markup.deleted.git_gutter" 287 | ], 288 | "settings": { 289 | "foreground": "#5d2cb9" 290 | } 291 | }, 292 | { 293 | "name": "Function, Special Method", 294 | "scope": [ 295 | "entity.name.function", 296 | "meta.function-call", 297 | "variable.function", 298 | "support.function", 299 | "keyword.other.special-method" 300 | ], 301 | "settings": { 302 | "foreground": "#e7d5a4" 303 | } 304 | }, 305 | { 306 | "name": "Block Level Variables", 307 | "scope": ["meta.block variable.other"], 308 | "settings": { 309 | "foreground": "#df84a2" 310 | } 311 | }, 312 | { 313 | "name": "Other Variable, String Link", 314 | "scope": ["support.other.variable", "string.other.link"], 315 | "settings": { 316 | "foreground": "#e0a1a4", 317 | "fontStyle": "bold" 318 | } 319 | }, 320 | { 321 | "name": "Number, Constant, Function Argument, Tag Attribute, Embedded", 322 | "scope": [ 323 | "constant.language", 324 | "support.constant", 325 | "constant.character", 326 | "constant.escape", 327 | "keyword.other.unit", 328 | "keyword.other" 329 | ], 330 | "settings": { 331 | "foreground": "#b1bdbd", 332 | "fontStyle": "" 333 | } 334 | }, 335 | { 336 | "name": "Numeric Constant", 337 | "scope": "constant.numeric", 338 | "settings": { 339 | "foreground": "#f1b718" 340 | } 341 | }, 342 | { 343 | "name": "CSS Constants", 344 | "scope": [ 345 | "support.constant.property-value.css", 346 | "constant.numeric.css", 347 | "constant.other.color.rgb-value.hex.css", 348 | "constant.language.color.rgb-value.css.sass" 349 | ], 350 | "settings": { 351 | "foreground": "#a07fc7" 352 | } 353 | }, 354 | { 355 | "name": "CSS Units", 356 | "scope": [ 357 | "keyword.other.unit.percentage.css", 358 | "keyword.other.unit.px.css", 359 | "keyword.other.unit.rem.css", 360 | "keyword.other.unit.em.css", 361 | "keyword.other.unit.ms.css", 362 | "keyword.other.unit.s.css", 363 | "keyword.other.unit.deg.css", 364 | "keyword.other.unit.fr.css", 365 | "punctuation.definition.constant.css", 366 | "keyword.control.unit.css.sass" 367 | ], 368 | "settings": { 369 | "foreground": "#664a86" 370 | } 371 | }, 372 | { 373 | "name": "Referenced CSS properties", 374 | "scope": "invalid.deprecated.color.system.css", // Reference a CSS property in `transition` 375 | "settings": { 376 | "foreground": "#a07fc7" 377 | } 378 | }, 379 | { 380 | "name": "Sass %", 381 | "scope": "entity.other.inherited-class.placeholder-selector.css.sass", 382 | "settings": { 383 | "foreground": "#F0BB6B" 384 | } 385 | }, 386 | { 387 | "name": "CSS Variables", 388 | "scope": "variable.other.value", 389 | "settings": { 390 | "foreground": "#DF84A2" 391 | } 392 | }, 393 | { 394 | "name": "String, Symbols, Inherited Class, Markup Heading", 395 | "scope": [ 396 | "string", 397 | "constant.other.symbol", 398 | "constant.other.key", 399 | "entity.other.inherited-class", 400 | "markup.heading", 401 | "markup.inserted.git_gutter", 402 | "meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js", 403 | "meta.group.braces.curly constant.other.object.key.jsx string.unquoted.label.jsx", 404 | "meta.group.braces.curly constant.other.object.key.ts string.unquoted.label.ts", 405 | "meta.group.braces.curly constant.other.object.key.tsx string.unquoted.label.tsx" 406 | ], 407 | "settings": { 408 | "foreground": "#4CA779" 409 | } 410 | }, 411 | { 412 | "name": "String variable", 413 | "scope": "meta.embedded.line", 414 | "settings": { 415 | "foreground": "#CAAEEB" 416 | } 417 | }, 418 | { 419 | "name": "Class, Support", 420 | "scope": [ 421 | "entity.name", 422 | "support.type", 423 | "markup.changed.git_gutter", 424 | "support.type.sys-types" 425 | ], 426 | "settings": { 427 | "foreground": "#f0bb6b" 428 | } 429 | }, 430 | { 431 | "name": "Entity Types", 432 | "scope": ["support.type"], 433 | "settings": { 434 | "foreground": "#b2ccd6" 435 | } 436 | }, 437 | { 438 | "name": "CSS at-rules", 439 | "scope": [ 440 | "keyword.control.at-rule.css", 441 | "keyword.control.at-rule.sass", 442 | "keyword.control.at-rule.scss", 443 | "keyword.control.at-rule.use", 444 | "support.function.name.sass.library", 445 | "support.function.name.scss.library" 446 | ], 447 | "settings": { 448 | "foreground": "#c2a0fd", 449 | "fontStyle": "" 450 | } 451 | }, 452 | { 453 | "name": "CSS/sass/scss functions", 454 | "scope": [ 455 | "support.function.name.sass.library", 456 | "support.function.name.scss.library" 457 | ], 458 | "settings": { 459 | "foreground": "#d153bc", 460 | "fontStyle": "bold" 461 | } 462 | }, 463 | { 464 | "name": "CSS Variable", 465 | "scope": ["variable.css"], 466 | "settings": { 467 | "foreground": "#c7c7df" 468 | } 469 | }, 470 | { 471 | "name": "CSS String", 472 | "scope": [ 473 | "constant.character.css", 474 | "constant.character.css.sass", 475 | "constant.character.css.scss" 476 | ], 477 | "settings": { 478 | "foreground": "#4CA779" 479 | } 480 | }, 481 | { 482 | "name": "CSS Class and Support", 483 | "scope": [ 484 | "source.css support.type.property-name", 485 | "source.sass support.type.property-name", 486 | "source.scss support.type.property-name", 487 | "source.less support.type.property-name", 488 | "source.stylus support.type.property-name", 489 | "source.postcss support.type.property-name" 490 | ], 491 | "settings": { 492 | "foreground": "#f78c6c" 493 | } 494 | }, 495 | { 496 | "name": "Sub-methods", 497 | "scope": [ 498 | "entity.name.module.js", 499 | "entity.name.module.jsx", 500 | "entity.name.module.ts", 501 | "entity.name.module.tsx", 502 | "variable.import.parameter.js", 503 | "variable.import.parameter.jsx", 504 | "variable.import.parameter.ts", 505 | "variable.import.parameter.tsx", 506 | "variable.other.class.js", 507 | "variable.other.class.jsx", 508 | "variable.other.class.ts", 509 | "variable.other.class.tsx" 510 | ], 511 | "settings": { 512 | "foreground": "#ff5370" 513 | } 514 | }, 515 | { 516 | "name": "Language methods", 517 | "scope": ["variable.language"], 518 | "settings": { 519 | "foreground": "#ff6781" 520 | } 521 | }, 522 | { 523 | "name": "JS trycatch", 524 | "scope": [ 525 | "keyword.control.trycatch.js", 526 | "keyword.control.trycatch.jsx", 527 | "keyword.control.trycatch.ts", 528 | "keyword.control.trycatch.tsx" 529 | ], 530 | "settings": { 531 | "foreground": "#5fe09f", 532 | "fontStyle": "bold" 533 | } 534 | }, 535 | { 536 | "name": "entity.name.method.js", 537 | "scope": [ 538 | "entity.name.method.js", 539 | "entity.name.method.jsx", 540 | "entity.name.method.ts", 541 | "entity.name.method.tsx" 542 | ], 543 | "settings": { 544 | "foreground": "#82aaff" 545 | } 546 | }, 547 | { 548 | "name": "Variable Parameters", 549 | "scope": "variable.parameter", 550 | "settings": { 551 | "foreground": "#8ecbd6" 552 | } 553 | }, 554 | { 555 | "name": "meta.method.js", 556 | "scope": [ 557 | "meta.class-method.js entity.name.function.js", 558 | "meta.class-method.jsx entity.name.function.jsx", 559 | "meta.class-method.ts entity.name.function.ts", 560 | "meta.class-method.tsx entity.name.function.tsx", 561 | "variable.function.constructor" 562 | ], 563 | "settings": { 564 | "foreground": "#82aaff" 565 | } 566 | }, 567 | { 568 | "name": "Constant Language", 569 | "scope": "constant.language", 570 | "settings": { 571 | "foreground": "#40cfcf" 572 | } 573 | }, 574 | { 575 | "name": "null/undefined Keywords JS", 576 | "scope": [ 577 | "constant.language.null.js", 578 | "constant.language.null.jsx", 579 | "constant.language.null.ts", 580 | "constant.language.null.tsx", 581 | "constant.language.undefined.js", 582 | "constant.language.undefined.jsx", 583 | "constant.language.undefined.ts", 584 | "constant.language.undefined.tsx" 585 | ], 586 | "settings": { 587 | "fontStyle": "bold" 588 | } 589 | }, 590 | { 591 | "name": "Object Keys Keyword JS", 592 | "scope": [ 593 | "meta.object-literal.key.js", 594 | "meta.object-literal.key.jsx", 595 | "meta.object-literal.key.ts", 596 | "meta.object-literal.key.tsx", 597 | "meta.object.member.js", 598 | "meta.object.member.jsx", 599 | "meta.object.member.ts", 600 | "meta.object.member.tsx", 601 | "meta.objectliteral.js", 602 | "meta.objectliteral.jsx", 603 | "meta.objectliteral.ts", 604 | "meta.objectliteral.tsx" 605 | ], 606 | "settings": { 607 | "foreground": "#e8f3f3" 608 | } 609 | }, 610 | 611 | // JSX-specific Rules 612 | { 613 | "name": "JSX Tag Name", 614 | "scope": [ 615 | "entity.name.tag.js", 616 | "entity.name.tag.jsx", 617 | "entity.name.tag.ts", 618 | "entity.name.tag.tsx" 619 | ], 620 | "settings": { 621 | "foreground": "#d4785d" 622 | } 623 | }, 624 | { 625 | "name": "Object Properties", 626 | "scope": [ 627 | "variable.other.property.js", 628 | "variable.other.property.jsx", 629 | "variable.other.property.ts", 630 | "variable.other.property.tsx" 631 | ], 632 | "settings": { 633 | "foreground": "#5c7fe2" 634 | } 635 | }, 636 | { 637 | "name": "Variables", 638 | "scope": [ 639 | "variable.other.readwrite.alias", 640 | "variable.other.readwrite.alias.js", 641 | "variable.other.readwrite.alias.jsx", 642 | "variable.other.readwrite.alias", 643 | "variable.other.readwrite.alias.ts", 644 | "variable.other.readwrite.alias.tsx" 645 | ], 646 | "settings": { 647 | "foreground": "#f78c6c" 648 | } 649 | }, 650 | { 651 | "name": "false/true Keywords", 652 | "scope": [ 653 | "constant.language.boolean.false", 654 | "constant.language.boolean.false.js", 655 | "constant.language.boolean.false.jsx", 656 | "constant.language.boolean.false.ts", 657 | "constant.language.boolean.false.tsx", 658 | "constant.language.boolean.true", 659 | "constant.language.boolean.true.js", 660 | "constant.language.boolean.true.jsx", 661 | "constant.language.boolean.true.ts", 662 | "constant.language.boolean.true.tsx" 663 | ], 664 | "settings": { 665 | "foreground": "#40cfcf", 666 | "fontStyle": "bold" 667 | } 668 | }, 669 | { 670 | "name": "Conditional Keywords", 671 | "scope": [ 672 | "keyword.control.conditional", 673 | "keyword.control.conditional.js", 674 | "keyword.control.conditional.jsx", 675 | "keyword.control.conditional.ts", 676 | "keyword.control.conditional.tsx", 677 | "keyword.control.switch", 678 | "keyword.control.switch.js", 679 | "keyword.control.switch.jsx", 680 | "keyword.control.switch.ts", 681 | "keyword.control.switch.tsx" 682 | ], 683 | "settings": { 684 | "foreground": "#5fe09f", 685 | "fontStyle": "bold" 686 | } 687 | }, 688 | { 689 | "name": "Return Keyword", 690 | "scope": [ 691 | "keyword.control.flow", 692 | "keyword.control.flow.js", 693 | "keyword.control.flow.jsx", 694 | "keyword.control.flow.ts", 695 | "keyword.control.flow.tsx", 696 | "keyword.control.loop", 697 | "keyword.control.loop.js", 698 | "keyword.control.loop.jsx", 699 | "keyword.control.loop.ts", 700 | "keyword.control.loop.tsx", 701 | "keyword.operator.new" 702 | ], 703 | "settings": { 704 | "foreground": "#e27171", 705 | "fontStyle": "bold" 706 | } 707 | }, 708 | { 709 | "name": "Export, Default Keywords", 710 | "scope": [ 711 | "keyword.control.export", 712 | "keyword.control.export.js", 713 | "keyword.control.export.jsx", 714 | "keyword.control.export.ts", 715 | "keyword.control.export.tsx", 716 | "keyword.control.default", 717 | "keyword.control.default.js", 718 | "keyword.control.default.jsx", 719 | "keyword.control.default.ts", 720 | "keyword.control.default.tsx" 721 | ], 722 | "settings": { 723 | "foreground": "#e4baba" 724 | } 725 | }, 726 | { 727 | "name": "TypeScript Primitive Types", 728 | "scope": [ 729 | "support.type", 730 | "support.type.primitive", 731 | "support.type.primitive.js", 732 | "support.type.primitive.jsx", 733 | "support.type.primitive.ts", 734 | "support.type.primitive.tsx", 735 | "support.type.builtin", 736 | "support.type.builtin.js", 737 | "support.type.builtin.jsx", 738 | "support.type.builtin.ts", 739 | "support.type.builtin.tsx" 740 | ], 741 | "settings": { 742 | "foreground": "#dae63d" 743 | } 744 | }, 745 | { 746 | "name": "JSX Tags", 747 | "scope": [ 748 | "entity.name.tag.js", 749 | "entity.name.tag.jsx", 750 | "entity.name.tag.ts", 751 | "entity.name.tag.tsx" 752 | ], 753 | "settings": { 754 | "foreground": "#d4785d" 755 | } 756 | }, 757 | { 758 | "name": "JSX Meta", 759 | "scope": ["meta.tag.js", "meta.tag.jsx", "meta.tag.ts", "meta.tag.tsx"], 760 | "settings": { 761 | "foreground": "#d5d5d5" 762 | } 763 | }, 764 | { 765 | "name": "JSX Tag Punctuation", 766 | "scope": [ 767 | "punctuation.definition.tag.begin.js", 768 | "punctuation.definition.tag.begin.jsx", 769 | "punctuation.definition.tag.begin.ts", 770 | "punctuation.definition.tag.begin.tsx", 771 | "punctuation.definition.tag.end.js", 772 | "punctuation.definition.tag.end.jsx", 773 | "punctuation.definition.tag.end.ts", 774 | "punctuation.definition.tag.end.tsx" 775 | ], 776 | "settings": { 777 | "foreground": "#ac66c9" 778 | } 779 | }, 780 | { 781 | "name": "Import JS", 782 | "scope": [ 783 | "keyword.control.import", 784 | "keyword.control.import.js", 785 | "keyword.control.import.jsx", 786 | "keyword.control.import.ts", 787 | "keyword.control.import.tsx", 788 | "keyword.control.from", 789 | "keyword.control.from.js", 790 | "keyword.control.from.jsx", 791 | "keyword.control.from.ts", 792 | "keyword.control.from.tsx" 793 | ], 794 | "settings": { 795 | "foreground": "#e4baba" 796 | } 797 | }, 798 | { 799 | "name": "Attributes", 800 | "scope": ["entity.other.attribute-name"], 801 | "settings": { 802 | "foreground": "#e4baba" 803 | } 804 | }, 805 | { 806 | "name": "HTML Attributes", 807 | "scope": [ 808 | "text.html.basic entity.other.attribute-name.html", 809 | "text.html.basic entity.other.attribute-name" 810 | ], 811 | "settings": { 812 | "fontStyle": "italic", 813 | "foreground": "#ffcb6b" 814 | } 815 | }, 816 | 817 | // CSS-Specific Rules 818 | { 819 | "name": "CSS Element Selector", 820 | "scope": ["entity.name.tag.css"], 821 | "settings": { 822 | "fontStyle": "bold", 823 | "foreground": "#e0a1a4" 824 | } 825 | }, 826 | { 827 | "name": "CSS Classes", 828 | "scope": ["entity.other.attribute-name.class"], 829 | "settings": { 830 | "foreground": "#a477be" 831 | } 832 | }, 833 | { 834 | "name": "CSS Pseudo Class", 835 | "scope": ["entity.other.attribute-name.pseudo-class.css"], 836 | "settings": { 837 | "foreground": "#e0a1a4" 838 | } 839 | }, 840 | { 841 | "name": "Attribute Selector", 842 | "scope": [ 843 | "entity.other.attribute-selector.css", 844 | "entity.other.attribute-selector.scss", 845 | "entity.other.attribute-selector.sass" 846 | ], 847 | "settings": { 848 | "foreground": "#41c09a" 849 | } 850 | }, 851 | { 852 | "name": "CSS ID's", 853 | "scope": ["source.sass keyword.control"], 854 | "settings": { 855 | "foreground": "#82aaff" 856 | } 857 | }, 858 | { 859 | "name": "CSS At Rules", 860 | "scope": [ 861 | "keyword.control.at-rule.media.scss", 862 | "meta.at-rule.media.scss" 863 | ], 864 | "settings": { 865 | "fontStyle": "bold" 866 | } 867 | }, 868 | { 869 | "name": "sass variables", 870 | "scope": ["sass.script.maps", "scss.script.maps"], 871 | "settings": { 872 | "foreground": "#DF84A2" 873 | } 874 | }, 875 | { 876 | "name": "sass function interpolation", 877 | "scope": [ 878 | "support.function.interpolation.sass", 879 | "support.function.interpolation.scss" 880 | ], 881 | "settings": { 882 | "foreground": "#7c97bb" 883 | } 884 | }, 885 | { 886 | "name": "Inserted", 887 | "scope": ["markup.inserted"], 888 | "settings": { 889 | "foreground": "#c3e88d" 890 | } 891 | }, 892 | { 893 | "name": "Deleted", 894 | "scope": ["markup.deleted"], 895 | "settings": { 896 | "foreground": "#ff5370" 897 | } 898 | }, 899 | { 900 | "name": "Changed", 901 | "scope": ["markup.changed"], 902 | "settings": { 903 | "foreground": "#c792ea" 904 | } 905 | }, 906 | { 907 | "name": "Regular Expressions", 908 | "scope": ["string.regexp"], 909 | "settings": { 910 | "foreground": "#89ddff" 911 | } 912 | }, 913 | { 914 | "name": "Escape Characters", 915 | "scope": ["constant.character.escape"], 916 | "settings": { 917 | "foreground": "#89ddff" 918 | } 919 | }, 920 | { 921 | "name": "URL", 922 | "scope": ["*url*", "*link*", "*uri*"], 923 | "settings": { 924 | "fontStyle": "underline" 925 | } 926 | }, 927 | { 928 | "name": "Decorators", 929 | "scope": [ 930 | "tag.decorator.js entity.name.tag.js", 931 | "tag.decorator.jsx entity.name.tag.jsx", 932 | "tag.decorator.ts entity.name.tag.ts", 933 | "tag.decorator.tsx entity.name.tag.tsx", 934 | "tag.decorator.js punctuation.definition.tag.js", 935 | "tag.decorator.jsx punctuation.definition.tag.jsx", 936 | "tag.decorator.ts punctuation.definition.tag.ts", 937 | "tag.decorator.tsx punctuation.definition.tag.tsx" 938 | ], 939 | "settings": { 940 | "fontStyle": "italic", 941 | "foreground": "#82aaff" 942 | } 943 | }, 944 | { 945 | "name": "ES7 Bind Operator", 946 | "scope": [ 947 | "source.js constant.other.object.key.js string.unquoted.label.js", 948 | "source.jsx constant.other.object.key.jsx string.unquoted.label.jsx", 949 | "source.ts constant.other.object.key.ts string.unquoted.label.ts", 950 | "source.tsx constant.other.object.key.tsx string.unquoted.label.tsx" 951 | ], 952 | "settings": { 953 | "fontStyle": "italic", 954 | "foreground": "#ff5370" 955 | } 956 | }, 957 | { 958 | "name": "Optional Operator", 959 | "scope": [ 960 | "keyword.operator.optional", 961 | "keyword.operator.optional.js", 962 | "keyword.operator.optional.jsx", 963 | "keyword.operator.optional.ts", 964 | "keyword.operator.optional.tsx", 965 | "punctuation.accessor.optional", 966 | "punctuation.accessor.optional.js", 967 | "punctuation.accessor.optional.jsx", 968 | "punctuation.accessor.optional.ts", 969 | "punctuation.accessor.optional.tsx", 970 | "keyword.operator.ternary" 971 | ], 972 | "settings": { 973 | "foreground": "#e78797", 974 | "fontStyle": "" 975 | } 976 | }, 977 | 978 | // JSON 979 | { 980 | "name": "JSON Key - Level 0", 981 | "scope": "source.json meta.structure.dictionary.json support.type.property-name.json", 982 | "settings": { 983 | "foreground": "#c792ea" 984 | } 985 | }, 986 | { 987 | "name": "JSON Key - Level 1", 988 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 989 | "settings": { 990 | "foreground": "#ffcb6b" 991 | } 992 | }, 993 | { 994 | "name": "JSON Key - Level 2", 995 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 996 | "settings": { 997 | "foreground": "#f78c6c" 998 | } 999 | }, 1000 | { 1001 | "name": "JSON Key - Level 3", 1002 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1003 | "settings": { 1004 | "foreground": "#6a7cdc" 1005 | } 1006 | }, 1007 | { 1008 | "name": "JSON Key - Level 4", 1009 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1010 | "settings": { 1011 | "foreground": "#ac66c9" 1012 | } 1013 | }, 1014 | { 1015 | "name": "JSON Key - Level 5", 1016 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1017 | "settings": { 1018 | "foreground": "#43c2e2" 1019 | } 1020 | }, 1021 | { 1022 | "name": "JSON Key - Level 6", 1023 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1024 | "settings": { 1025 | "foreground": "#e0a1a4" 1026 | } 1027 | }, 1028 | { 1029 | "name": "JSON Key - Level 7", 1030 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1031 | "settings": { 1032 | "foreground": "#df84a2" 1033 | } 1034 | }, 1035 | { 1036 | "name": "JSON Key - Level 8", 1037 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1038 | "settings": { 1039 | "foreground": "#f0bb6b" 1040 | } 1041 | }, 1042 | { 1043 | "name": "Numeric Constant", 1044 | "scope": "constant.numeric.json", 1045 | "settings": { 1046 | "foreground": "#d4785d" 1047 | } 1048 | }, 1049 | { 1050 | "name": "Language Constant", 1051 | "scope": "constant.language.json", 1052 | "settings": { 1053 | "foreground": "#40cfcf", 1054 | "fontStyle": "bold" 1055 | } 1056 | }, 1057 | { 1058 | "name": "Punctuation Definition Dictionary", 1059 | "scope": [ 1060 | "punctuation.definition.dictionary.begin.json", 1061 | "punctuation.definition.dictionary.end.json" 1062 | ], 1063 | "settings": { 1064 | "foreground": "#ffcb6b" 1065 | } 1066 | }, 1067 | { 1068 | "name": "Punctuation Definition Strings", 1069 | "scope": [ 1070 | "punctuation.support.type.property-name.begin.json", 1071 | "punctuation.support.type.property-name.end.json", 1072 | "punctuation.definition.string.begin.json", 1073 | "punctuation.definition.string.end.json" 1074 | ], 1075 | "settings": { 1076 | "foreground": "#d5d5d5" 1077 | } 1078 | }, 1079 | 1080 | // Markdown Styles - ✅ 1081 | { 1082 | "name": "Markdown - Plain Text", 1083 | "scope": [ 1084 | "text.html.markdown", 1085 | "punctuation.definition.list_item.markdown" 1086 | ], 1087 | "settings": { 1088 | "foreground": "#caaeeb" 1089 | } 1090 | }, 1091 | { 1092 | "name": "Markdown - Markup Raw Inline", 1093 | "scope": "text.html.markdown markup.inline.raw.string.markdown", 1094 | "settings": { 1095 | "foreground": "#4CA779" 1096 | } 1097 | }, 1098 | { 1099 | "name": "Markdown - Markup Raw Inline Punctuation", 1100 | "scope": "text.html.markdown punctuation.definition.raw.markdown", 1101 | "settings": { 1102 | "foreground": "#4CA779" 1103 | } 1104 | }, 1105 | { 1106 | "name": "Markdown - Heading Punctuation", 1107 | "scope": "punctuation.definition.heading.markdown", 1108 | "settings": { 1109 | "foreground": "#f78c6c96" 1110 | } 1111 | }, 1112 | { 1113 | "name": "Markdown - Heading Text", 1114 | "scope": "entity.name.section.markdown", 1115 | "settings": { 1116 | "foreground": "#f78c6c" 1117 | } 1118 | }, 1119 | { 1120 | "name": "Markup - Italic", 1121 | "scope": "markup.italic.markdown", 1122 | "settings": { 1123 | "fontStyle": "italic", 1124 | "foreground": "#7a8491" 1125 | } 1126 | }, 1127 | { 1128 | "name": "Markup - Bold", 1129 | "scope": "markup.bold.markdown", 1130 | "settings": { 1131 | "fontStyle": "bold", 1132 | "foreground": "#7a8491" 1133 | } 1134 | }, 1135 | { 1136 | "name": "Markup - Bold-Italic", 1137 | "scope": [ 1138 | "markup.bold.markdown markup.italic.markdown", 1139 | "markup.italic.markdown markup.bold.markdown", 1140 | "markup.quote.markdown markup.bold.markdown" 1141 | ], 1142 | "settings": { 1143 | "fontStyle": "italic bold", 1144 | "foreground": "#7a8491" 1145 | } 1146 | }, 1147 | { 1148 | "name": "Markup - Underline", 1149 | "scope": "markup.underline.markdown", 1150 | "settings": { 1151 | "fontStyle": "underline", 1152 | "foreground": "#7a8491" 1153 | } 1154 | }, 1155 | { 1156 | "name": "Markdown - Blockquote", 1157 | "scope": ["markup.quote punctuation.definition.blockquote.markdown"], 1158 | "settings": { 1159 | "fontStyle": "italic", 1160 | "foreground": "#6a7cdc" 1161 | } 1162 | }, 1163 | { 1164 | "name": "Markup - Quote", 1165 | "scope": "markup.quote.markdown", 1166 | "settings": { 1167 | "fontStyle": "italic", 1168 | "foreground": "#6a7cdc" 1169 | } 1170 | }, 1171 | { 1172 | "name": "Markup - Quote Punctuation", 1173 | "scope": "punctuation.definition.quote.begin.markdown", 1174 | "settings": { 1175 | "fontStyle": "italic", 1176 | "foreground": "#6a7cdc96" 1177 | } 1178 | }, 1179 | { 1180 | "name": "Markup - List Punctuation", 1181 | "scope": "punctuation.definition.list.begin.markdown", 1182 | "settings": { 1183 | "foreground": "#caaeeb80" 1184 | } 1185 | }, 1186 | { 1187 | "name": "Markup - List Text", 1188 | "scope": [ 1189 | "markup.list.unnumbered.markdown", 1190 | "markup.list.numbered.markdown" 1191 | ], 1192 | "settings": { 1193 | "foreground": "#caaeeb" 1194 | } 1195 | }, 1196 | 1197 | // Links 1198 | { 1199 | "name": "Markdown - Link", 1200 | "scope": [ 1201 | "string.other.link.title.markdown", 1202 | "string.other.link.description.markdown" 1203 | ], 1204 | "settings": { 1205 | "foreground": "#c2a0fd" 1206 | } 1207 | }, 1208 | { 1209 | "name": "Markdown - Link", 1210 | "scope": [ 1211 | "markup.underline.link.markdown", 1212 | "markup.underline.link.image.markdown" 1213 | ], 1214 | "settings": { 1215 | "foreground": "#e0a1a4" 1216 | } 1217 | }, 1218 | { 1219 | "name": "Markdown - Punctuation Link", 1220 | "scope": [ 1221 | "punctuation.definition.string.begin.markdown", 1222 | "punctuation.definition.string.end.markdown" 1223 | ], 1224 | "settings": { 1225 | "foreground": "#f0bb6b" 1226 | } 1227 | }, 1228 | { 1229 | "name": "Markdown - Link Description", 1230 | "scope": ["string.other.link.description.title.markdown"], 1231 | "settings": { 1232 | "foreground": "#c792ea" 1233 | } 1234 | }, 1235 | { 1236 | "name": "Markdown - Link Anchor", 1237 | "scope": ["constant.other.reference.link.markdown"], 1238 | "settings": { 1239 | "foreground": "#ac66c9" 1240 | } 1241 | }, 1242 | 1243 | // Block Codes 1244 | { 1245 | "name": "Markup - Raw Block", 1246 | "scope": ["markup.raw.block"], 1247 | "settings": { 1248 | "foreground": "#e27171" 1249 | } 1250 | }, 1251 | { 1252 | "name": "Markdown - Raw Block Fenced", 1253 | "scope": "markup.fenced_code.block.markdown", 1254 | "settings": { 1255 | "foreground": "#7a8491" 1256 | } 1257 | }, 1258 | { 1259 | "name": "Markdown - Fenced Bode Block Punctuation", 1260 | "scope": "punctuation.definition.markdown", 1261 | "settings": { 1262 | "foreground": "#4CA779" 1263 | } 1264 | }, 1265 | { 1266 | "name": "Markdown - Fenced Bode Block Language", 1267 | "scope": "fenced_code.block.language.markdown", 1268 | "settings": { 1269 | "foreground": "#6a7cdc" 1270 | } 1271 | }, 1272 | { 1273 | "name": "Markdown - Fenced Bode Block Variable", 1274 | "scope": [ 1275 | "markup.raw.block.fenced.markdown", 1276 | "variable.language.fenced.markdown", 1277 | "punctuation.section.class.end" 1278 | ], 1279 | "settings": { 1280 | "foreground": "#eeffff" 1281 | } 1282 | }, 1283 | { 1284 | "name": "Markdown - Separator", 1285 | "scope": ["meta.separator"], 1286 | "settings": { 1287 | "fontStyle": "bold", 1288 | "foreground": "#7a8491" 1289 | } 1290 | }, 1291 | { 1292 | "name": "Markdown - Escaped Characters", 1293 | "scope": "constant.character.escape.markdown", 1294 | "settings": { 1295 | "foreground": "#43c2e2" 1296 | } 1297 | }, 1298 | 1299 | // YAML 1300 | { 1301 | "name": "YAML Plain Text", 1302 | "scope": "string.unquoted.plain.out.yaml", 1303 | "settings": { 1304 | "foreground": "#b37895" 1305 | } 1306 | }, 1307 | 1308 | // XML and SVGs 1309 | { 1310 | "name": "XML Tags", 1311 | "scope": ["entity.name.tag.localname.xml", "meta.tag.xml"], 1312 | "settings": { 1313 | "foreground": "#a56e55" 1314 | } 1315 | }, 1316 | { 1317 | "name": "XML Punctuation", 1318 | "scope": "punctuation.definition.tag.xml", 1319 | "settings": { 1320 | "foreground": "#ac66c9" 1321 | } 1322 | }, 1323 | 1324 | //GraphQL 1325 | { 1326 | "name": "Keyword", 1327 | "scope": "keyword.operation.graphql", 1328 | "settings": { 1329 | "foreground": "#a477be" 1330 | } 1331 | }, 1332 | { 1333 | "name": "Keyword", 1334 | "scope": "entity.name.function.graphql", 1335 | "settings": { 1336 | "foreground": "#e27171", 1337 | "fontStyle": "bold" 1338 | } 1339 | }, 1340 | { 1341 | "name": "Variable", 1342 | "scope": "variable.graphql", 1343 | "settings": { 1344 | "foreground": "#fa72c1" 1345 | } 1346 | }, 1347 | { 1348 | "name": "Variable Parameter", 1349 | "scope": "variable.parameter.graphql", 1350 | "settings": { 1351 | "foreground": "#40cfcf" 1352 | } 1353 | }, 1354 | { 1355 | "name": "Numeric Constant", 1356 | "scope": "constant.numeric.float.graphql", 1357 | "settings": { 1358 | "foreground": "#d4785d" 1359 | } 1360 | }, 1361 | { 1362 | "name": "Set Selection", 1363 | "scope": "meta.selectionset.graphql", 1364 | "settings": { 1365 | "foreground": "#f78c6c" 1366 | } 1367 | }, 1368 | { 1369 | "name": "Set Selection", 1370 | "scope": "support.type.builtin.graphql", 1371 | "settings": { 1372 | "foreground": "#e4baba", 1373 | "fontStyle": "bold" 1374 | } 1375 | }, 1376 | { 1377 | "name": "Brackets", 1378 | "scope": "meta.brace.round.directive.graphql", 1379 | "settings": { 1380 | "foreground": "#ac66c9" 1381 | } 1382 | }, 1383 | { 1384 | "name": "Punctuation Operation", 1385 | "scope": "punctuation.operation.graphql", 1386 | "settings": { 1387 | "foreground": "#ffcb6b" 1388 | } 1389 | }, 1390 | { 1391 | "name": "Spread Operator", 1392 | "scope": "keyword.operator.spread.graphql", 1393 | "settings": { 1394 | "foreground": "#ffcb6b" 1395 | } 1396 | }, 1397 | 1398 | // Pug-specific Rules 1399 | { 1400 | "name": "Pug Tag Names", 1401 | "scope": ["entity.name.tag.pug", "meta.tag.sgml.doctype.html"], 1402 | "settings": { 1403 | "foreground": "#D4785D" 1404 | } 1405 | }, 1406 | 1407 | // Prisma-specific rules 1408 | { 1409 | "name": "Prisma Built-in Types", 1410 | "scope": "support.type.primitive.prisma", 1411 | "settings": { 1412 | "foreground": "#F78C6C" 1413 | } 1414 | } 1415 | ] 1416 | } 1417 | -------------------------------------------------------------------------------- /themes/alternight-color-theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "alternight", 3 | "type": "dark", 4 | "semanticHighlighting": true, 5 | "colors": { 6 | // Editor 7 | "editor.background": "#1f172b", 8 | "editor.foreground": "#caaeeb", 9 | "editor.selectionBackground": "#5C7FE280", 10 | "editorCursor.foreground": "#ff0", 11 | "editorLineNumber.foreground": "#9077b688", 12 | "editor.lineHighlightBackground": "#caaeeb12", 13 | "editor.foldBackground": "#291b3d", 14 | 15 | "titleBar.activeBackground": "#1f172b", 16 | "titleBar.activeForeground": "#9077b6", 17 | "titleBar.inactiveBackground": "#1f172b80", 18 | "titleBar.inactiveForeground": "#9077b680", 19 | 20 | // Activity bar 21 | "activityBar.background": "#1f172b", 22 | "activityBar.foreground": "#bcadd3", 23 | "activityBar.activeBorder": "#bcadd3", 24 | "activityBar.inactiveForeground": "#9077b680", 25 | "activityBarBadge.background": "#e29fa4", 26 | "activityBarBadge.foreground": "#1f172b", 27 | 28 | // Sidebar 29 | "sideBar.background": "#1f172b", 30 | "sideBar.foreground": "#9077b6", 31 | "sideBarTitle.foreground": "#bcadd3", 32 | "sideBarSectionHeader.background": "#312a3c", 33 | "sideBarSectionHeader.foreground": "#9b8eb0", 34 | 35 | // Tabs 36 | "editorGroupHeader.tabsBackground": "#1f172b", 37 | "tab.activeBorderTop": "#f78c6c", 38 | "tab.activeForeground": "#f78c6c", 39 | "tab.inactiveBackground": "#1b1b31", 40 | "tab.inactiveForeground": "#7F7fb8", 41 | "tab.hoverBackground": "#251a36", 42 | "tab.hoverForeground": "#f78c6c", 43 | 44 | // Status bar 45 | "statusBar.background": "#1f172b", 46 | "statusBar.foreground": "#9077b6", 47 | "statusBarItem.hoverBackground": "#312642", 48 | "statusBar.debuggingBackground": "#e29fa4", 49 | "statusBar.debuggingForeground": "#1f172b", 50 | 51 | // Integrated Terminal 52 | "terminal.background": "#1f172b", 53 | "terminal.foreground": "#bba8d1", 54 | "terminal.selectionBackground": "#5C7FE280", 55 | "terminalCursor.foreground": "#ff0", 56 | "terminal.ansiBlack": "#292929", 57 | "terminal.ansiBlue": "#5C7FE2", 58 | "terminal.ansiCyan": "#40CFCF", 59 | "terminal.ansiGreen": "#4CA779", 60 | "terminal.ansiMagenta": "#c869d1", 61 | "terminal.ansiRed": "#f07c7c", 62 | "terminal.ansiWhite": "#FAFAFA", 63 | "terminal.ansiYellow": "#FFCB6B", 64 | "terminal.ansiBrightBlack": "#080808", 65 | "terminal.ansiBrightBlue": "#718edf", 66 | "terminal.ansiBrightCyan": "#70d1d1", 67 | "terminal.ansiBrightGreen": "#71bd97", 68 | "terminal.ansiBrightMagenta": "#d581dd", 69 | "terminal.ansiBrightRed": "#f08a8a", 70 | "terminal.ansiBrightWhite": "#FFFFFF", 71 | "terminal.ansiBrightYellow": "#fdda9a", 72 | 73 | // Menu 74 | "menu.background": "#1f172b", 75 | "menu.foreground": "#c6abde", 76 | "menu.border": "#c6abde", 77 | "menu.selectionBackground": "#fefefe40", 78 | "menu.separatorBackground": "#fefefe32", 79 | "window.activeBorder": "#9292e424", 80 | 81 | "editor.hoverHighlightBackground": "#695d5e", 82 | "editorIndentGuide.background": "#312a3c", 83 | "editorIndentGuide.activeBackground": "#797480", 84 | 85 | // Hover Widget 86 | "editorHoverWidget.background": "#312a3c", 87 | "editorHoverWidget.border": "#c6abde", 88 | "editorHoverWidget.foreground": "#c6abde", 89 | 90 | "editorGutter.addedBackground": "#9fff20", 91 | "editorGutter.foldingControlForeground": "#ff0", 92 | 93 | // Misc 94 | "scrollbar.shadow": "#caaeeb24", 95 | "sash.hoverBorder": "#f78c6c" 96 | }, 97 | "tokenColors": [ 98 | { 99 | "name": "Comment", 100 | "scope": [ 101 | "comment", 102 | "comment.line", 103 | "comment.block", 104 | "comment.block.documentation", 105 | "punctuation.definition.comment" 106 | ], 107 | "settings": { 108 | "foreground": "#524168" 109 | } 110 | }, 111 | { 112 | "name": "Template Strings", 113 | "scope": [ 114 | "punctuation.definition.string.template.begin", 115 | "punctuation.definition.string.template.begin.js", 116 | "punctuation.definition.string.template.begin.jsx", 117 | "punctuation.definition.string.template.begin.ts", 118 | "punctuation.definition.string.template.begin.tsx", 119 | "punctuation.definition.string.template.end", 120 | "punctuation.definition.string.template.end.js", 121 | "punctuation.definition.string.template.end.jsx", 122 | "punctuation.definition.string.template.end.ts", 123 | "punctuation.definition.string.template.end.tsx" 124 | ], 125 | "settings": { 126 | "foreground": "#4CA779" 127 | } 128 | }, 129 | { 130 | "name": "Template Expression", 131 | "scope": [ 132 | "punctuation.definition.template-expression.begin", 133 | "punctuation.definition.template-expression.begin.js", 134 | "punctuation.definition.template-expression.begin.jsx", 135 | "punctuation.definition.template-expression.begin.ts", 136 | "punctuation.definition.template-expression.begin.tsx", 137 | "punctuation.definition.template-expression.end", 138 | "punctuation.definition.template-expression.end.js", 139 | "punctuation.definition.template-expression.end.jsx", 140 | "punctuation.definition.template-expression.end.ts", 141 | "punctuation.definition.template-expression.end.tsx" 142 | ], 143 | "settings": { 144 | "foreground": "#caaeeb" 145 | } 146 | }, 147 | { 148 | "name": "variables", 149 | "scope": ["variable.other.readwrite", "variable.other.constant.js"], 150 | "settings": { 151 | "foreground": "#DF84A2" 152 | } 153 | }, 154 | { 155 | "name": "HTML Entities", 156 | "scope": [ 157 | "constant.character.entity", 158 | "constant.character.entity.js", 159 | "constant.character.entity.jsx", 160 | "constant.character.entity.ts", 161 | "constant.character.entity.tsx" 162 | ], 163 | "settings": { 164 | "foreground": "#43c2e2" 165 | } 166 | }, 167 | { 168 | "name": "Punctuation of HTML Entities", 169 | "scope": [ 170 | "punctuation.definition.entity", 171 | "punctuation.definition.entity.js", 172 | "punctuation.definition.entity.jsx", 173 | "punctuation.definition.entity.ts", 174 | "punctuation.definition.entity.tsx" 175 | ], 176 | "settings": { 177 | "foreground": "#3896ad" 178 | } 179 | }, 180 | { 181 | "name": "TS Tag Directives", 182 | "scope": [ 183 | "entity.name.tag.directive", 184 | "entity.name.tag.directive.js", 185 | "entity.name.tag.directive.jsx", 186 | "entity.name.tag.directive.ts", 187 | "entity.name.tag.directive.tsx" 188 | ], 189 | "settings": { 190 | "foreground": "#f0bb6b" 191 | } 192 | }, 193 | { 194 | "name": "Punctuation of TS Tag Directives", 195 | "scope": [ 196 | "punctuation.definition.tag.directive", 197 | "punctuation.definition.tag.directive.js", 198 | "punctuation.definition.tag.directive.jsx", 199 | "punctuation.definition.tag.directive.ts", 200 | "punctuation.definition.tag.directive.tsx" 201 | ], 202 | "settings": { 203 | "foreground": "#A477BE" 204 | } 205 | }, 206 | { 207 | "name": "Colors", 208 | "scope": ["constant.other.color"], 209 | "settings": { 210 | "foreground": "#fafafa" 211 | } 212 | }, 213 | { 214 | "name": "Invalid", 215 | "scope": ["invalid", "invalid.illegal"], 216 | "settings": { 217 | "foreground": "#ff5370" 218 | } 219 | }, 220 | { 221 | "name": "Keyword, Storage", 222 | "scope": ["keyword", "storage.type", "storage.modifier"], 223 | "settings": { 224 | "foreground": "#a477be", 225 | "fontStyle": "italic" 226 | } 227 | }, 228 | { 229 | "name": "async keyword", 230 | "scope": ["storage.modifier.async"], 231 | "settings": { 232 | "foreground": "#664a86" 233 | } 234 | }, 235 | { 236 | "name": "Keyword Operator Assignment", 237 | "scope": [ 238 | "keyword.operator.assignment", 239 | "keyword.operator.type.annotation" 240 | ], 241 | "settings": { 242 | "foreground": "#caaeeb", 243 | "fontStyle": "" 244 | } 245 | }, 246 | { 247 | "name": "Entity HTML Tags", 248 | "scope": ["entity.name.tag.html"], 249 | "settings": { 250 | "foreground": "#d4785d" 251 | } 252 | }, 253 | { 254 | "name": "HTML Tags", 255 | "scope": [ 256 | "punctuation.definition.tag.html", 257 | "punctuation.definition.tag.begin.html", 258 | "punctuation.definition.tag.end.html" 259 | ], 260 | "settings": { 261 | "foreground": "#ac66c9" 262 | } 263 | }, 264 | { 265 | "name": "Operator, Misc", 266 | "scope": [ 267 | "keyword.control", 268 | "constant.other.color", 269 | "punctuation", 270 | "meta.brace.square", 271 | "meta.tag", 272 | "punctuation.definition.tag", 273 | "punctuation.section.embedded", 274 | "keyword.other.template", 275 | "keyword.other.substitution", 276 | "keyword.operator" 277 | ], 278 | "settings": { 279 | "foreground": "#caaeeb", 280 | "fontStyle": "" 281 | } 282 | }, 283 | { 284 | "name": "Tag", 285 | "scope": [ 286 | "entity.name.tag", 287 | "meta.tag.sgml", 288 | "markup.deleted.git_gutter" 289 | ], 290 | "settings": { 291 | "foreground": "#A477BE" 292 | } 293 | }, 294 | { 295 | "name": "Function, Special Method", 296 | "scope": [ 297 | "entity.name.function", 298 | "meta.function-call", 299 | "variable.function", 300 | "support.function", 301 | "keyword.other.special-method" 302 | ], 303 | "settings": { 304 | "foreground": "#e7d5a4" 305 | } 306 | }, 307 | { 308 | "name": "Block Level Variables", 309 | "scope": ["meta.block variable.other"], 310 | "settings": { 311 | "foreground": "#df84a2" 312 | } 313 | }, 314 | { 315 | "name": "Other Variable, String Link", 316 | "scope": ["support.other.variable", "string.other.link"], 317 | "settings": { 318 | "foreground": "#e0a1a4", 319 | "fontStyle": "bold" 320 | } 321 | }, 322 | { 323 | "name": "Number, Constant, Function Argument, Tag Attribute, Embedded", 324 | "scope": [ 325 | "constant.language", 326 | "support.constant", 327 | "constant.character", 328 | "constant.escape", 329 | "keyword.other.unit", 330 | "keyword.other" 331 | ], 332 | "settings": { 333 | "foreground": "#75dfbc", 334 | "fontStyle": "" 335 | } 336 | }, 337 | { 338 | "name": "Numeric Constant", 339 | "scope": "constant.numeric", 340 | "settings": { 341 | "foreground": "#f1b718" 342 | } 343 | }, 344 | { 345 | "name": "CSS Constants", 346 | "scope": [ 347 | "support.constant.property-value.css", 348 | "constant.numeric.css", 349 | "constant.other.color.rgb-value.hex.css", 350 | "constant.language.color.rgb-value.css.sass" 351 | ], 352 | "settings": { 353 | "foreground": "#a07fc7", 354 | "fontStyle": "" 355 | } 356 | }, 357 | { 358 | "name": "CSS Units", 359 | "scope": [ 360 | "keyword.other.unit.percentage.css", 361 | "keyword.other.unit.px.css", 362 | "keyword.other.unit.rem.css", 363 | "keyword.other.unit.em.css", 364 | "keyword.other.unit.ms.css", 365 | "keyword.other.unit.s.css", 366 | "keyword.other.unit.deg.css", 367 | "keyword.other.unit.fr.css", 368 | "punctuation.definition.constant.css", 369 | "keyword.control.unit.css.sass" 370 | ], 371 | "settings": { 372 | "foreground": "#664a86" 373 | } 374 | }, 375 | { 376 | "name": "Referenced CSS properties", 377 | "scope": "invalid.deprecated.color.system.css", // Reference a CSS property in `transition` 378 | "settings": { 379 | "foreground": "#a07fc7" 380 | } 381 | }, 382 | { 383 | "name": "Sass %", 384 | "scope": "entity.other.inherited-class.placeholder-selector.css.sass", 385 | "settings": { 386 | "foreground": "#F0BB6B" 387 | } 388 | }, 389 | { 390 | "name": "CSS Variables", 391 | "scope": "variable.other.value", 392 | "settings": { 393 | "foreground": "#DF84A2" 394 | } 395 | }, 396 | { 397 | "name": "String, Symbols, Inherited Class, Markup Heading", 398 | "scope": [ 399 | "string", 400 | "constant.other.symbol", 401 | "constant.other.key", 402 | "entity.other.inherited-class", 403 | "markup.heading", 404 | "markup.inserted.git_gutter", 405 | "meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js", 406 | "meta.group.braces.curly constant.other.object.key.jsx string.unquoted.label.jsx", 407 | "meta.group.braces.curly constant.other.object.key.ts string.unquoted.label.ts", 408 | "meta.group.braces.curly constant.other.object.key.tsx string.unquoted.label.tsx" 409 | ], 410 | "settings": { 411 | "foreground": "#4CA779" 412 | } 413 | }, 414 | { 415 | "name": "String variable", 416 | "scope": "meta.embedded.line", 417 | "settings": { 418 | "foreground": "#CAAEEB" 419 | } 420 | }, 421 | { 422 | "name": "Class, Support", 423 | "scope": [ 424 | "entity.name", 425 | "support.class", 426 | "markup.changed.git_gutter", 427 | "support.type.sys-types" 428 | ], 429 | "settings": { 430 | "foreground": "#f0bb6b" 431 | } 432 | }, 433 | { 434 | "name": "Entity Types", 435 | "scope": ["support.type"], 436 | "settings": { 437 | "foreground": "#b2ccd6" 438 | } 439 | }, 440 | { 441 | "name": "CSS at-rules", 442 | "scope": [ 443 | "keyword.control.at-rule.css", 444 | "keyword.control.at-rule.sass", 445 | "keyword.control.at-rule.scss", 446 | "keyword.control.at-rule.use" 447 | ], 448 | "settings": { 449 | "foreground": "#40CFCF", 450 | "fontStyle": "italic" 451 | } 452 | }, 453 | { 454 | "name": "CSS/sass/scss functions", 455 | "scope": [ 456 | "support.function.name.sass.library", 457 | "support.function.name.scss.library" 458 | ], 459 | "settings": { 460 | "foreground": "#E7D5A4", 461 | "fontStyle": "italic" 462 | } 463 | }, 464 | { 465 | "name": "CSS Variable", 466 | "scope": ["variable.css"], 467 | "settings": { 468 | "foreground": "#c7c7df" 469 | } 470 | }, 471 | { 472 | "name": "CSS String", 473 | "scope": [ 474 | "constant.character.css", 475 | "constant.character.css.sass", 476 | "constant.character.css.scss" 477 | ], 478 | "settings": { 479 | "foreground": "#4CA779" 480 | } 481 | }, 482 | { 483 | "name": "CSS Class and Support", 484 | "scope": [ 485 | "source.css support.type.property-name", 486 | "source.sass support.type.property-name", 487 | "source.scss support.type.property-name", 488 | "source.less support.type.property-name", 489 | "source.stylus support.type.property-name", 490 | "source.postcss support.type.property-name" 491 | ], 492 | "settings": { 493 | "foreground": "#f78c6c" 494 | } 495 | }, 496 | { 497 | "name": "CSS Vendored Properties", 498 | "scope": [ 499 | "support.type.vendored.property-name.css", 500 | "support.type.vendored.property-name.sass", 501 | "support.type.vendored.property-name.scss", 502 | "support.type.vendored.property-name.less" 503 | ], 504 | "settings": { 505 | "foreground": "#f0bb6b" 506 | } 507 | }, 508 | { 509 | "name": "Sub-methods", 510 | "scope": [ 511 | "entity.name.module", 512 | "entity.name.module.js", 513 | "entity.name.module.jsx", 514 | "entity.name.module.ts", 515 | "entity.name.module.tsx", 516 | "variable.import.parameter", 517 | "variable.import.parameter.js", 518 | "variable.import.parameter.jsx", 519 | "variable.import.parameter.ts", 520 | "variable.import.parameter.tsx", 521 | "variable.other.class", 522 | "variable.other.class.js", 523 | "variable.other.class.jsx", 524 | "variable.other.class.ts", 525 | "variable.other.class.tsx" 526 | ], 527 | "settings": { 528 | "foreground": "#ff5370" 529 | } 530 | }, 531 | { 532 | "name": "Variable language", 533 | "scope": ["variable.language"], 534 | "settings": { 535 | "foreground": "#ff6781", 536 | "fontStyle": "italic" 537 | } 538 | }, 539 | { 540 | "name": "JS trycatch", 541 | "scope": [ 542 | "keyword.control.trycatch.js", 543 | "keyword.control.trycatch.jsx", 544 | "keyword.control.trycatch.ts", 545 | "keyword.control.trycatch.tsx" 546 | ], 547 | "settings": { 548 | "foreground": "#5fe09f", // #775fe0 549 | "fontStyle": "italic" 550 | } 551 | }, 552 | { 553 | "name": "entity.name.method.js", 554 | "scope": [ 555 | "entity.name.method.js", 556 | "entity.name.method.jsx", 557 | "entity.name.method.ts", 558 | "entity.name.method.tsx" 559 | ], 560 | "settings": { 561 | "foreground": "#82aaff" 562 | } 563 | }, 564 | { 565 | "name": "Variable Parameters", 566 | "scope": "variable.parameter", 567 | "settings": { 568 | "foreground": "#8ecbd6" 569 | } 570 | }, 571 | { 572 | "name": "meta.method.js", 573 | "scope": [ 574 | "meta.class-method.js entity.name.function.js", 575 | "meta.class-method.jsx entity.name.function.jsx", 576 | "meta.class-method.ts entity.name.function.ts", 577 | "meta.class-method.tsx entity.name.function.tsx", 578 | "variable.function.constructor" 579 | ], 580 | "settings": { 581 | "foreground": "#82aaff" 582 | } 583 | }, 584 | { 585 | "name": "Constant Language", 586 | "scope": "constant.language", 587 | "settings": { 588 | "foreground": "#40cfcf" 589 | } 590 | }, 591 | { 592 | "name": "null/undefined Keywords JS", 593 | "scope": [ 594 | "constant.language.null", 595 | "constant.language.null.js", 596 | "constant.language.null.jsx", 597 | "constant.language.null.ts", 598 | "constant.language.null.tsx", 599 | "constant.language.undefined", 600 | "constant.language.undefined.js", 601 | "constant.language.undefined.jsx", 602 | "constant.language.undefined.ts", 603 | "constant.language.undefined.tsx" 604 | ], 605 | "settings": { 606 | "foreground": "#40CFCF", 607 | "fontStyle": "italic" 608 | } 609 | }, 610 | { 611 | "name": "Object Keys Keyword JS", 612 | "scope": [ 613 | "meta.object-literal.key.js", 614 | "meta.object-literal.key.jsx", 615 | "meta.object-literal.key.ts", 616 | "meta.object-literal.key.tsx", 617 | "meta.object.member.js", 618 | "meta.object.member.jsx", 619 | "meta.object.member.ts", 620 | "meta.object.member.tsx", 621 | "meta.objectliteral.js", 622 | "meta.objectliteral.jsx", 623 | "meta.objectliteral.ts", 624 | "meta.objectliteral.tsx" 625 | ], 626 | "settings": { 627 | "foreground": "#e8f3f3" 628 | } 629 | }, 630 | 631 | // JSX-specific Rules 632 | { 633 | "name": "JSX Tag Name", 634 | "scope": [ 635 | "entity.name.tag.js", 636 | "entity.name.tag.jsx", 637 | "entity.name.tag.ts", 638 | "entity.name.tag.tsx" 639 | ], 640 | "settings": { 641 | "foreground": "#d4785d" 642 | } 643 | }, 644 | { 645 | "name": "Object Properties", 646 | "scope": [ 647 | "variable.other.property.js", 648 | "variable.other.property.jsx", 649 | "variable.other.property.ts", 650 | "variable.other.property.tsx" 651 | ], 652 | "settings": { 653 | "foreground": "#5c7fe2" 654 | } 655 | }, 656 | { 657 | "name": "Variables", 658 | "scope": [ 659 | "variable.other.readwrite.alias.js", 660 | "variable.other.readwrite.alias.jsx", 661 | "variable.other.readwrite.alias.ts", 662 | "variable.other.readwrite.alias.tsx" 663 | ], 664 | "settings": { 665 | "foreground": "#f78c6c" 666 | } 667 | }, 668 | { 669 | "name": "false/true Keywords", 670 | "scope": [ 671 | "constant.language.boolean.false", 672 | "constant.language.boolean.false.js", 673 | "constant.language.boolean.false.jsx", 674 | "constant.language.boolean.false.ts", 675 | "constant.language.boolean.false.tsx", 676 | "constant.language.boolean.true", 677 | "constant.language.boolean.true.js", 678 | "constant.language.boolean.true.jsx", 679 | "constant.language.boolean.true.ts", 680 | "constant.language.boolean.true.tsx" 681 | ], 682 | "settings": { 683 | "foreground": "#40cfcf", 684 | "fontStyle": "italic" 685 | } 686 | }, 687 | { 688 | "name": "Conditional Keywords", 689 | "scope": [ 690 | "keyword.control.conditional", 691 | "keyword.control.conditional.js", 692 | "keyword.control.conditional.jsx", 693 | "keyword.control.conditional.ts", 694 | "keyword.control.conditional.tsx", 695 | "keyword.control.switch", 696 | "keyword.control.switch.js", 697 | "keyword.control.switch.jsx", 698 | "keyword.control.switch.ts", 699 | "keyword.control.switch.tsx" 700 | ], 701 | "settings": { 702 | "foreground": "#5fe09f", 703 | "fontStyle": "italic" 704 | } 705 | }, 706 | { 707 | "name": "Return Keyword", 708 | "scope": [ 709 | "keyword.control.flow", 710 | "keyword.control.flow.js", 711 | "keyword.control.flow.jsx", 712 | "keyword.control.flow.ts", 713 | "keyword.control.flow.tsx", 714 | "keyword.control.loop", 715 | "keyword.control.loop.js", 716 | "keyword.control.loop.jsx", 717 | "keyword.control.loop.ts", 718 | "keyword.control.loop.tsx", 719 | "keyword.operator.new" 720 | ], 721 | "settings": { 722 | "foreground": "#e27171", 723 | "fontStyle": "italic" 724 | } 725 | }, 726 | { 727 | "name": "TypeScript Primitive Types", 728 | "scope": [ 729 | "support.type", 730 | "support.type.primitive", 731 | "support.type.primitive.js", 732 | "support.type.primitive.jsx", 733 | "support.type.primitive.ts", 734 | "support.type.primitive.tsx", 735 | "support.type.builtin", 736 | "support.type.builtin.js", 737 | "support.type.builtin.jsx", 738 | "support.type.builtin.ts", 739 | "support.type.builtin.tsx" 740 | ], 741 | "settings": { 742 | "foreground": "#dae63d", 743 | "fontStyle": "italic" 744 | } 745 | }, 746 | { 747 | "name": "Export, Default Keywords", 748 | "scope": [ 749 | "keyword.control.export", 750 | "keyword.control.export.js", 751 | "keyword.control.export.jsx", 752 | "keyword.control.export.ts", 753 | "keyword.control.export.tsx", 754 | "keyword.control.default", 755 | "keyword.control.default.js", 756 | "keyword.control.default.jsx", 757 | "keyword.control.default.ts", 758 | "keyword.control.default.tsx" 759 | ], 760 | "settings": { 761 | "foreground": "#e4baba", 762 | "fontStyle": "italic" 763 | } 764 | }, 765 | { 766 | "name": "JSX Tags", 767 | "scope": [ 768 | "entity.name.tag.js", 769 | "entity.name.tag.jsx", 770 | "entity.name.tag.ts", 771 | "entity.name.tag.tsx" 772 | ], 773 | "settings": { 774 | "foreground": "#d4785d" 775 | } 776 | }, 777 | { 778 | "name": "JSX Meta", 779 | "scope": ["meta.tag.js", "meta.tag.jsx", "meta.tag.ts", "meta.tag.tsx"], 780 | "settings": { 781 | "foreground": "#d5d5d5" 782 | } 783 | }, 784 | { 785 | "name": "JSX Tag Punctuation", 786 | "scope": [ 787 | "punctuation.definition.tag.begin.js", 788 | "punctuation.definition.tag.begin.jsx", 789 | "punctuation.definition.tag.begin.ts", 790 | "punctuation.definition.tag.begin.tsx", 791 | "punctuation.definition.tag.end.js", 792 | "punctuation.definition.tag.end.jsx", 793 | "punctuation.definition.tag.end.ts", 794 | "punctuation.definition.tag.end.tsx" 795 | ], 796 | "settings": { 797 | "foreground": "#ac66c9" 798 | } 799 | }, 800 | { 801 | "name": "Import JS", 802 | "scope": [ 803 | "keyword.control.import.js", 804 | "keyword.control.import.jsx", 805 | "keyword.control.import.ts", 806 | "keyword.control.import.tsx", 807 | "keyword.control.from.js", 808 | "keyword.control.from.jsx", 809 | "keyword.control.from.ts", 810 | "keyword.control.from.tsx", 811 | "keyword.control.default.js", 812 | "keyword.control.default.jsx", 813 | "keyword.control.default.ts", 814 | "keyword.control.default.tsx" 815 | ], 816 | "settings": { 817 | "foreground": "#e4baba", 818 | "fontStyle": "italic" 819 | } 820 | }, 821 | { 822 | "name": "Attributes", 823 | "scope": ["entity.other.attribute-name"], 824 | "settings": { 825 | "foreground": "#e4baba", 826 | "fontStyle": "italic" 827 | } 828 | }, 829 | { 830 | "name": "HTML Attributes", 831 | "scope": [ 832 | "text.html.basic entity.other.attribute-name.html", 833 | "text.html.basic entity.other.attribute-name" 834 | ], 835 | "settings": { 836 | "fontStyle": "italic", 837 | "foreground": "#ffcb6b" 838 | } 839 | }, 840 | 841 | // CSS-Specific Rules 842 | { 843 | "name": "CSS Element Selector", 844 | "scope": ["entity.name.tag.css"], 845 | "settings": { 846 | "fontStyle": "bold", 847 | "foreground": "#e0a1a4" 848 | } 849 | }, 850 | { 851 | "name": "CSS Classes", 852 | "scope": ["entity.other.attribute-name.class"], 853 | "settings": { 854 | "foreground": "#a477be" 855 | } 856 | }, 857 | { 858 | "name": "CSS Pseudo Class", 859 | "scope": ["entity.other.attribute-name.pseudo-class.css"], 860 | "settings": { 861 | "foreground": "#e0a1a4" 862 | } 863 | }, 864 | { 865 | "name": "Attribute Selector", 866 | "scope": [ 867 | "entity.other.attribute-selector.css", 868 | "entity.other.attribute-selector.scss", 869 | "entity.other.attribute-selector.sass" 870 | ], 871 | "settings": { 872 | "foreground": "#41c09a" 873 | } 874 | }, 875 | { 876 | "name": "CSS ID's", 877 | "scope": ["source.sass keyword.control"], 878 | "settings": { 879 | "foreground": "#82aaff" 880 | } 881 | }, 882 | { 883 | "name": "CSS At Rules", 884 | "scope": [ 885 | "keyword.control.at-rule.media.scss", 886 | "meta.at-rule.media.scss" 887 | ], 888 | "settings": { 889 | "fontStyle": "italic" 890 | } 891 | }, 892 | { 893 | "name": "sass variables", 894 | "scope": ["sass.script.maps", "scss.script.maps"], 895 | "settings": { 896 | "foreground": "#DF84A2" 897 | } 898 | }, 899 | { 900 | "name": "sass function interpolation", 901 | "scope": [ 902 | "support.function.interpolation.sass", 903 | "support.function.interpolation.scss" 904 | ], 905 | "settings": { 906 | "foreground": "#7c97bb" 907 | } 908 | }, 909 | { 910 | "name": "Inserted", 911 | "scope": ["markup.inserted"], 912 | "settings": { 913 | "foreground": "#c3e88d" 914 | } 915 | }, 916 | { 917 | "name": "Deleted", 918 | "scope": ["markup.deleted"], 919 | "settings": { 920 | "foreground": "#ff5370" 921 | } 922 | }, 923 | { 924 | "name": "Changed", 925 | "scope": ["markup.changed"], 926 | "settings": { 927 | "foreground": "#c792ea" 928 | } 929 | }, 930 | { 931 | "name": "Regular Expressions", 932 | "scope": ["string.regexp"], 933 | "settings": { 934 | "foreground": "#89ddff" 935 | } 936 | }, 937 | { 938 | "name": "Escape Characters", 939 | "scope": ["constant.character.escape"], 940 | "settings": { 941 | "foreground": "#89ddff" 942 | } 943 | }, 944 | { 945 | "name": "URL", 946 | "scope": ["*url*", "*link*", "*uri*"], 947 | "settings": { 948 | "fontStyle": "underline" 949 | } 950 | }, 951 | { 952 | "name": "Decorators", 953 | "scope": [ 954 | "tag.decorator.js entity.name.tag.js", 955 | "tag.decorator.jsx entity.name.tag.jsx", 956 | "tag.decorator.ts entity.name.tag.ts", 957 | "tag.decorator.tsx entity.name.tag.tsx", 958 | "tag.decorator.js punctuation.definition.tag.js", 959 | "tag.decorator.jsx punctuation.definition.tag.jsx", 960 | "tag.decorator.ts punctuation.definition.tag.ts", 961 | "tag.decorator.tsx punctuation.definition.tag.tsx" 962 | ], 963 | "settings": { 964 | "fontStyle": "italic", 965 | "foreground": "#82aaff" 966 | } 967 | }, 968 | { 969 | "name": "ES7 Bind Operator", 970 | "scope": [ 971 | "source.js constant.other.object.key.js string.unquoted.label.js", 972 | "source.jsx constant.other.object.key.jsx string.unquoted.label.jsx", 973 | "source.ts constant.other.object.key.ts string.unquoted.label.ts", 974 | "source.tsx constant.other.object.key.tsx string.unquoted.label.tsx" 975 | ], 976 | "settings": { 977 | "fontStyle": "italic", 978 | "foreground": "#ff5370" 979 | } 980 | }, 981 | { 982 | "name": "Optional Operator", 983 | "scope": [ 984 | "keyword.operator.optional", 985 | "keyword.operator.optional.js", 986 | "keyword.operator.optional.jsx", 987 | "keyword.operator.optional.ts", 988 | "keyword.operator.optional.tsx", 989 | "punctuation.accessor.optional", 990 | "punctuation.accessor.optional.js", 991 | "punctuation.accessor.optional.jsx", 992 | "punctuation.accessor.optional.ts", 993 | "punctuation.accessor.optional.tsx", 994 | "keyword.operator.ternary" 995 | ], 996 | "settings": { 997 | "foreground": "#e78797", 998 | "fontStyle": "" 999 | } 1000 | }, 1001 | 1002 | // JSON 1003 | { 1004 | "name": "JSON Key - Level 0", 1005 | "scope": "source.json meta.structure.dictionary.json support.type.property-name.json", 1006 | "settings": { 1007 | "foreground": "#c792ea" 1008 | } 1009 | }, 1010 | { 1011 | "name": "JSON Key - Level 1", 1012 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1013 | "settings": { 1014 | "foreground": "#ffcb6b" 1015 | } 1016 | }, 1017 | { 1018 | "name": "JSON Key - Level 2", 1019 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1020 | "settings": { 1021 | "foreground": "#f78c6c" 1022 | } 1023 | }, 1024 | { 1025 | "name": "JSON Key - Level 3", 1026 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1027 | "settings": { 1028 | "foreground": "#6a7cdc" 1029 | } 1030 | }, 1031 | { 1032 | "name": "JSON Key - Level 4", 1033 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1034 | "settings": { 1035 | "foreground": "#ac66c9" 1036 | } 1037 | }, 1038 | { 1039 | "name": "JSON Key - Level 5", 1040 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1041 | "settings": { 1042 | "foreground": "#43c2e2" 1043 | } 1044 | }, 1045 | { 1046 | "name": "JSON Key - Level 6", 1047 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1048 | "settings": { 1049 | "foreground": "#e0a1a4" 1050 | } 1051 | }, 1052 | { 1053 | "name": "JSON Key - Level 7", 1054 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1055 | "settings": { 1056 | "foreground": "#df84a2" 1057 | } 1058 | }, 1059 | { 1060 | "name": "JSON Key - Level 8", 1061 | "scope": "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json", 1062 | "settings": { 1063 | "foreground": "#f0bb6b" 1064 | } 1065 | }, 1066 | { 1067 | "name": "Numeric Constant", 1068 | "scope": "constant.numeric.json", 1069 | "settings": { 1070 | "foreground": "#d4785d" 1071 | } 1072 | }, 1073 | { 1074 | "name": "Language Constant", 1075 | "scope": "constant.language.json", 1076 | "settings": { 1077 | "foreground": "#40cfcf", 1078 | "fontStyle": "italic" 1079 | } 1080 | }, 1081 | { 1082 | "name": "Punctuation Definition Dictionary", 1083 | "scope": [ 1084 | "punctuation.definition.dictionary.begin.json", 1085 | "punctuation.definition.dictionary.end.json" 1086 | ], 1087 | "settings": { 1088 | "foreground": "#ffcb6b" 1089 | } 1090 | }, 1091 | { 1092 | "name": "Punctuation Definition Strings", 1093 | "scope": [ 1094 | "punctuation.support.type.property-name.begin.json", 1095 | "punctuation.support.type.property-name.end.json", 1096 | "punctuation.definition.string.begin.json", 1097 | "punctuation.definition.string.end.json" 1098 | ], 1099 | "settings": { 1100 | "foreground": "#d5d5d5" 1101 | } 1102 | }, 1103 | 1104 | // Markdown Styles - ✅ 1105 | { 1106 | "name": "Markdown - Plain Text", 1107 | "scope": [ 1108 | "text.html.markdown", 1109 | "punctuation.definition.list_item.markdown" 1110 | ], 1111 | "settings": { 1112 | "foreground": "#caaeeb" 1113 | } 1114 | }, 1115 | { 1116 | "name": "Markdown - Markup Raw Inline", 1117 | "scope": "text.html.markdown markup.inline.raw.string.markdown", 1118 | "settings": { 1119 | "foreground": "#4CA779" 1120 | } 1121 | }, 1122 | { 1123 | "name": "Markdown - Markup Raw Inline Punctuation", 1124 | "scope": "text.html.markdown punctuation.definition.raw.markdown", 1125 | "settings": { 1126 | "foreground": "#4CA779" 1127 | } 1128 | }, 1129 | { 1130 | "name": "Markdown - Heading Punctuation", 1131 | "scope": "punctuation.definition.heading.markdown", 1132 | "settings": { 1133 | "foreground": "#f78c6c96" 1134 | } 1135 | }, 1136 | { 1137 | "name": "Markdown - Heading Text", 1138 | "scope": "entity.name.section.markdown", 1139 | "settings": { 1140 | "foreground": "#f78c6c" 1141 | } 1142 | }, 1143 | { 1144 | "name": "Markup - Italic", 1145 | "scope": "markup.italic.markdown", 1146 | "settings": { 1147 | "fontStyle": "italic", 1148 | "foreground": "#7a8491" 1149 | } 1150 | }, 1151 | { 1152 | "name": "Markup - Bold", 1153 | "scope": "markup.bold.markdown", 1154 | "settings": { 1155 | "fontStyle": "bold", 1156 | "foreground": "#7a8491" 1157 | } 1158 | }, 1159 | { 1160 | "name": "Markup - Bold-Italic", 1161 | "scope": [ 1162 | "markup.bold.markdown markup.italic.markdown", 1163 | "markup.italic.markdown markup.bold.markdown", 1164 | "markup.quote.markdown markup.bold.markdown" 1165 | ], 1166 | "settings": { 1167 | "fontStyle": "italic bold", 1168 | "foreground": "#7a8491" 1169 | } 1170 | }, 1171 | { 1172 | "name": "Markup - Underline", 1173 | "scope": "markup.underline.markdown", 1174 | "settings": { 1175 | "fontStyle": "underline", 1176 | "foreground": "#7a8491" 1177 | } 1178 | }, 1179 | { 1180 | "name": "Markdown - Blockquote", 1181 | "scope": ["markup.quote punctuation.definition.blockquote.markdown"], 1182 | "settings": { 1183 | "fontStyle": "italic", 1184 | "foreground": "#6a7cdc" 1185 | } 1186 | }, 1187 | { 1188 | "name": "Markup - Quote", 1189 | "scope": "markup.quote.markdown", 1190 | "settings": { 1191 | "fontStyle": "italic", 1192 | "foreground": "#6a7cdc" 1193 | } 1194 | }, 1195 | { 1196 | "name": "Markup - Quote Punctuation", 1197 | "scope": "punctuation.definition.quote.begin.markdown", 1198 | "settings": { 1199 | "fontStyle": "italic", 1200 | "foreground": "#6a7cdc96" 1201 | } 1202 | }, 1203 | { 1204 | "name": "Markup - List Punctuation", 1205 | "scope": "punctuation.definition.list.begin.markdown", 1206 | "settings": { 1207 | "foreground": "#caaeeb80" 1208 | } 1209 | }, 1210 | { 1211 | "name": "Markup - List Text", 1212 | "scope": [ 1213 | "markup.list.unnumbered.markdown", 1214 | "markup.list.numbered.markdown" 1215 | ], 1216 | "settings": { 1217 | "foreground": "#caaeeb" 1218 | } 1219 | }, 1220 | 1221 | // Links 1222 | { 1223 | "name": "Markdown - Link", 1224 | "scope": [ 1225 | "string.other.link.title.markdown", 1226 | "string.other.link.description.markdown" 1227 | ], 1228 | "settings": { 1229 | "foreground": "#c2a0fd" 1230 | } 1231 | }, 1232 | { 1233 | "name": "Markdown - Link", 1234 | "scope": [ 1235 | "markup.underline.link.markdown", 1236 | "markup.underline.link.image.markdown" 1237 | ], 1238 | "settings": { 1239 | "foreground": "#e0a1a4" 1240 | } 1241 | }, 1242 | { 1243 | "name": "Markdown - Punctuation Link", 1244 | "scope": [ 1245 | "punctuation.definition.string.begin.markdown", 1246 | "punctuation.definition.string.end.markdown" 1247 | ], 1248 | "settings": { 1249 | "foreground": "#f0bb6b" 1250 | } 1251 | }, 1252 | { 1253 | "name": "Markdown - Link Description", 1254 | "scope": ["string.other.link.description.title.markdown"], 1255 | "settings": { 1256 | "foreground": "#c792ea" 1257 | } 1258 | }, 1259 | { 1260 | "name": "Markdown - Link Anchor", 1261 | "scope": ["constant.other.reference.link.markdown"], 1262 | "settings": { 1263 | "foreground": "#ac66c9" 1264 | } 1265 | }, 1266 | 1267 | // Block Codes 1268 | { 1269 | "name": "Markup - Raw Block", 1270 | "scope": ["markup.raw.block"], 1271 | "settings": { 1272 | "foreground": "#e27171" 1273 | } 1274 | }, 1275 | { 1276 | "name": "Markdown - Raw Block Fenced", 1277 | "scope": "markup.fenced_code.block.markdown", 1278 | "settings": { 1279 | "foreground": "#7a8491" 1280 | } 1281 | }, 1282 | { 1283 | "name": "Markdown - Fenced Bode Block Punctuation", 1284 | "scope": "punctuation.definition.markdown", 1285 | "settings": { 1286 | "foreground": "#4CA779" 1287 | } 1288 | }, 1289 | { 1290 | "name": "Markdown - Fenced Bode Block Language", 1291 | "scope": "fenced_code.block.language.markdown", 1292 | "settings": { 1293 | "foreground": "#6a7cdc" 1294 | } 1295 | }, 1296 | { 1297 | "name": "Markdown - Fenced Bode Block Variable", 1298 | "scope": [ 1299 | "markup.raw.block.fenced.markdown", 1300 | "variable.language.fenced.markdown", 1301 | "punctuation.section.class.end" 1302 | ], 1303 | "settings": { 1304 | "foreground": "#eeffff" 1305 | } 1306 | }, 1307 | { 1308 | "name": "Markdown - Separator", 1309 | "scope": ["meta.separator"], 1310 | "settings": { 1311 | "fontStyle": "bold", 1312 | "foreground": "#7a8491" 1313 | } 1314 | }, 1315 | { 1316 | "name": "Markdown - Escaped Characters", 1317 | "scope": "constant.character.escape.markdown", 1318 | "settings": { 1319 | "foreground": "#43c2e2" 1320 | } 1321 | }, 1322 | 1323 | // YAML 1324 | { 1325 | "name": "YAML Plain Text", 1326 | "scope": "string.unquoted.plain.out.yaml", 1327 | "settings": { 1328 | "foreground": "#b37895" 1329 | } 1330 | }, 1331 | 1332 | // XML and SVGs 1333 | { 1334 | "name": "XML Tags", 1335 | "scope": ["entity.name.tag.localname.xml", "meta.tag.xml"], 1336 | "settings": { 1337 | "foreground": "#a56e55" 1338 | } 1339 | }, 1340 | { 1341 | "name": "XML Punctuation", 1342 | "scope": "punctuation.definition.tag.xml", 1343 | "settings": { 1344 | "foreground": "#ac66c9" 1345 | } 1346 | }, 1347 | 1348 | //GraphQL 1349 | { 1350 | "name": "Keyword", 1351 | "scope": "keyword.operation.graphql", 1352 | "settings": { 1353 | "foreground": "#a477be" 1354 | } 1355 | }, 1356 | { 1357 | "name": "Keyword", 1358 | "scope": "entity.name.function.graphql", 1359 | "settings": { 1360 | "foreground": "#e27171", 1361 | "fontStyle": "italic" 1362 | } 1363 | }, 1364 | { 1365 | "name": "Variable", 1366 | "scope": "variable.graphql", 1367 | "settings": { 1368 | "foreground": "#fa72c1" 1369 | } 1370 | }, 1371 | { 1372 | "name": "Variable Parameter", 1373 | "scope": "variable.parameter.graphql", 1374 | "settings": { 1375 | "foreground": "#40cfcf" 1376 | } 1377 | }, 1378 | { 1379 | "name": "Numeric Constant", 1380 | "scope": "constant.numeric.float.graphql", 1381 | "settings": { 1382 | "foreground": "#d4785d" 1383 | } 1384 | }, 1385 | { 1386 | "name": "Set Selection", 1387 | "scope": "meta.selectionset.graphql", 1388 | "settings": { 1389 | "foreground": "#f78c6c" 1390 | } 1391 | }, 1392 | { 1393 | "name": "Set Selection", 1394 | "scope": "support.type.builtin.graphql", 1395 | "settings": { 1396 | "foreground": "#e4baba", 1397 | "fontStyle": "italic" 1398 | } 1399 | }, 1400 | { 1401 | "name": "Brackets", 1402 | "scope": "meta.brace.round.directive.graphql", 1403 | "settings": { 1404 | "foreground": "#ac66c9" 1405 | } 1406 | }, 1407 | { 1408 | "name": "Punctuation Operation", 1409 | "scope": "punctuation.operation.graphql", 1410 | "settings": { 1411 | "foreground": "#ffcb6b" 1412 | } 1413 | }, 1414 | { 1415 | "name": "Spread Operator", 1416 | "scope": "keyword.operator.spread.graphql", 1417 | "settings": { 1418 | "foreground": "#ffcb6b" 1419 | } 1420 | }, 1421 | 1422 | // Pug-specific Rules 1423 | { 1424 | "name": "Pug Tag Names", 1425 | "scope": ["entity.name.tag.pug", "meta.tag.sgml.doctype.html"], 1426 | "settings": { 1427 | "foreground": "#D4785D" 1428 | } 1429 | }, 1430 | 1431 | // Prisma-specific rules 1432 | { 1433 | "name": "Prisma Built-in Types", 1434 | "scope": "support.type.primitive.prisma", 1435 | "settings": { 1436 | "foreground": "#F78C6C" 1437 | } 1438 | } 1439 | ] 1440 | } 1441 | --------------------------------------------------------------------------------