├── .gitignore ├── LICENSE ├── README.md ├── icon.svg ├── package.json ├── readme-img ├── recursive_theme-js.png ├── recursive_theme-python.png └── recursive_theme-shell.png └── themes └── recursive-dark-color-theme.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 arrowtype 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 | # Recursive theme for VS Code 2 | 3 | Made especially for [Recursive Mono](https://github.com/arrowtype/recursive) (or any other code font with nice italics). 4 | 5 | ## Installation 6 | 7 | 1. Download this repo as a zip 8 | 2. Add the entire folder to `~/.vscode/extensions/` 9 | 10 | ## Current styling 11 | 12 | ![Recursive theme with Python](readme-img/recursive_theme-python.png) 13 | 14 | ![Recursive theme with Shell](readme-img/recursive_theme-shell.png) 15 | 16 | ![Recursive theme with JavaScript](readme-img/recursive_theme-js.png) 17 | 18 | Note: these screenshots also make use of [Bracket Pair Colorizer](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer). 19 | 20 | ## How to start your own theme 21 | 22 | **Easiest method** 23 | 24 | https://themer.dev/ 25 | 26 | **More control** 27 | 28 | 1. duplicate a theme you like within `~/.vscode/extensions/` 29 | 2. update package.json 30 | 3. update colors in `themes/________theme.json` 31 | 32 | ## How to determine the type of a given token 33 | 34 | It’s critical to be able to determine type of a given token in order to become efficient in theming. Luckily, it's easy! 35 | 36 | > Trigger the scope inspector from the Command Palette with the `Developer: Inspect Editor Tokens and Scopes` [source](https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide#scope-inspector) 37 | -------------------------------------------------------------------------------- /icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "recursive-theme-vscode", 3 | "displayName": "Recursive Theme for VS Code", 4 | "description": "Theme by Arrow Type", 5 | "version": "0.0.1", 6 | "publisher": "Arrow Type", 7 | "engines": { 8 | "vscode": "^1.14.0" 9 | }, 10 | "categories": [ 11 | "Themes" 12 | ], 13 | "icon": "icon.svg", 14 | "contributes": { 15 | "themes": [ 16 | { 17 | "label": "Recursive Dark", 18 | "uiTheme": "vs-dark", 19 | "path": "themes/recursive-dark-color-theme.json" 20 | } 21 | ] 22 | } 23 | } -------------------------------------------------------------------------------- /readme-img/recursive_theme-js.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arrowtype/recursive-theme/03c0bd9208a4cf73d27c33aaf3c2f3d07f583983/readme-img/recursive_theme-js.png -------------------------------------------------------------------------------- /readme-img/recursive_theme-python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arrowtype/recursive-theme/03c0bd9208a4cf73d27c33aaf3c2f3d07f583983/readme-img/recursive_theme-python.png -------------------------------------------------------------------------------- /readme-img/recursive_theme-shell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arrowtype/recursive-theme/03c0bd9208a4cf73d27c33aaf3c2f3d07f583983/readme-img/recursive_theme-shell.png -------------------------------------------------------------------------------- /themes/recursive-dark-color-theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Recursive", 3 | "type": "dark", 4 | "colors": { 5 | "contrastActiveBorder": "#122d42", 6 | "contrastBorder": "#122d42", 7 | "focusBorder": "#122d42", 8 | "foreground": "#d6deeb", 9 | "widget.shadow": "#141722", 10 | "selection.background": "#4373c2", 11 | "errorForeground": "#EF5350", 12 | "button.background": "#7e57c2cc", 13 | "button.foreground": "#ffffffcc", 14 | "button.hoverBackground": "#7e57c2", 15 | "dropdown.background": "#141722", 16 | "dropdown.border": "#5f7e97", 17 | "dropdown.foreground": "#ffffffcc", 18 | "input.background": "#0b253a", 19 | "input.border": "#5f7e97", 20 | "input.foreground": "#ffffffcc", 21 | "input.placeholderForeground": "#5f7e97", 22 | "inputOption.activeBorder": "#ffffffcc", 23 | "punctuation.definition.generic.begin.html": "#ef5350f2", 24 | "inputValidation.errorBackground": "#AB0300F2", 25 | "inputValidation.errorBorder": "#EF5350", 26 | "inputValidation.infoBackground": "#00589EF2", 27 | "inputValidation.infoBorder": "#64B5F6", 28 | "inputValidation.warningBackground": "#675700F2", 29 | "inputValidation.warningBorder": "#FFCA28", 30 | "scrollbar.shadow": "#010b14", 31 | "scrollbarSlider.activeBackground": "#084d8180", 32 | "scrollbarSlider.background": "#084d8180", 33 | "scrollbarSlider.hoverBackground": "#084d8180", 34 | "badge.background": "#5f7e97", 35 | "badge.foreground": "#ffffff", 36 | "progress.background": "#7e57c2", 37 | "breadcrumb.foreground": "#99c4e9", 38 | "breadcrumb.focusForeground": "#ffffff", 39 | "breadcrumb.activeSelectionForeground": "#FFFFFF", 40 | "breadcrumbPicker.background": "#001122", 41 | "list.activeSelectionBackground": "#234d708c", 42 | "list.activeSelectionForeground": "#ffffff", 43 | "list.invalidItemForeground": "#975f94", 44 | "list.dropBackground": "#141722", 45 | "list.focusBackground": "#010d18", 46 | "list.focusForeground": "#ffffff", 47 | "list.highlightForeground": "#ffffff", 48 | "list.hoverBackground": "#141722", 49 | "list.hoverForeground": "#ffffff", 50 | "list.inactiveSelectionBackground": "#0e293f", 51 | "list.inactiveSelectionForeground": "#5f7e97", 52 | "activityBar.background": "#141722", 53 | "activityBar.dropBackground": "#5f7e97", 54 | "activityBar.foreground": "#5f7e97", 55 | "activityBar.border": "#141722", 56 | "activityBarBadge.background": "#44596b", 57 | "activityBarBadge.foreground": "#ffffff", 58 | "sideBar.background": "#141722", 59 | "sideBar.foreground": "#89a4bb", 60 | "sideBar.border": "#383b46", 61 | "sideBarTitle.foreground": "#5f7e97", 62 | "sideBarSectionHeader.background": "#141722", 63 | "sideBarSectionHeader.foreground": "#5f7e97", 64 | "editorGroup.emptyBackground": "#141722", 65 | "editorGroup.border": "#141722", 66 | "editorGroup.dropBackground": "#7e57c273", 67 | "editorGroupHeader.noTabsBackground": "#141722", 68 | "editorGroupHeader.tabsBackground": "#141722", 69 | "editorGroupHeader.tabsBorder": "#262A39", 70 | "tab.activeBackground": "#0b2942", 71 | "tab.activeForeground": "#d2dee7", 72 | "tab.border": "#272B3B", 73 | "tab.activeBorder": "#00ffd0", 74 | "tab.unfocusedActiveBorder": "#262A39", 75 | "tab.inactiveBackground": "#101112", 76 | "tab.inactiveForeground": "#5f7e97", 77 | "tab.unfocusedActiveForeground": "#5f7e97", 78 | "tab.unfocusedInactiveForeground": "#5f7e97", 79 | "editor.background": "#141722", 80 | "editor.foreground": "#d6deeb", 81 | "editorLineNumber.foreground": "#4b6479", 82 | "editorLineNumber.activeForeground": "#e0f1ff", 83 | "editorCursor.foreground": "#ff0000", 84 | "editor.selectionBackground": "#2571af", 85 | "editor.selectionHighlightBackground": "#a3bdd35e", 86 | "editor.inactiveSelectionBackground": "#c9b7e75a", 87 | "editor.wordHighlightBackground": "#c6c9da5e", 88 | "editor.wordHighlightStrongBackground": "#8d91b148", 89 | "editor.findMatchBackground": "#5f7e9779", 90 | "editor.findMatchHighlightBackground": "#1085bb5d", 91 | "editor.findRangeHighlightBackground": null, 92 | "editor.hoverHighlightBackground": "#7e57c25a", 93 | "editor.lineHighlightBackground": "#000000aa", 94 | "editor.lineHighlightBorder": null, 95 | "editorLink.activeForeground": null, 96 | "editor.rangeHighlightBackground": "#7e57c25a", 97 | "editorWhitespace.foreground": null, 98 | "editorIndentGuide.background": "#5e81ce52", 99 | "editorIndentGuide.activeBackground": "#7E97AC", 100 | "editorRuler.foreground": "#5e81ce52", 101 | "editorCodeLens.foreground": "#5e82ceb4", 102 | "editorBracketMatch.background": "#5f7e974d", 103 | "editorBracketMatch.border": null, 104 | "editorOverviewRuler.currentContentForeground": "#5782c2", 105 | "editorOverviewRuler.incomingContentForeground": "#5782c2", 106 | "editorOverviewRuler.commonContentForeground": "#5782c2", 107 | "editorError.foreground": "#EF5350", 108 | "editorError.border": null, 109 | "editorWarning.foreground": "#b39554", 110 | "editorWarning.border": null, 111 | "editorGutter.background": "#141722", 112 | "editorGutter.modifiedBackground": "#3de2b0", 113 | "editorGutter.addedBackground": "#9CCC65", 114 | "editorGutter.deletedBackground": "#EF5350", 115 | "diffEditor.insertedTextBackground": "#99b76d23", 116 | "diffEditor.insertedTextBorder": "#e6cd9933", 117 | "diffEditor.removedTextBackground": "#ef535033", 118 | "diffEditor.removedTextBorder": "#ef53504d", 119 | "editorWidget.background": "#021320", 120 | "editorWidget.border": "#5f7e97", 121 | "editorSuggestWidget.background": "#2C3043", 122 | "editorSuggestWidget.border": "#2B2F40", 123 | "editorSuggestWidget.foreground": "#d6deeb", 124 | "editorSuggestWidget.highlightForeground": "#ffffff", 125 | "editorSuggestWidget.selectedBackground": "#5f7e97", 126 | "editorHoverWidget.background": "#141722", 127 | "editorHoverWidget.border": "#5f7e97", 128 | "debugExceptionWidget.background": "#141722", 129 | "debugExceptionWidget.border": "#5f7e97", 130 | "editorMarkerNavigation.background": "#0b2942", 131 | "editorMarkerNavigationError.background": "#EF5350", 132 | "editorMarkerNavigationWarning.background": "#FFCA28", 133 | "peekView.border": "#5f7e97", 134 | "peekViewEditor.background": "#141722", 135 | "peekViewEditor.matchHighlightBackground": "#7e57c25a", 136 | "peekViewResult.background": "#141722", 137 | "peekViewResult.fileForeground": "#5f7e97", 138 | "peekViewResult.lineForeground": "#5f7e97", 139 | "peekViewResult.matchHighlightBackground": "#ffffffcc", 140 | "peekViewResult.selectionBackground": "#2E3250", 141 | "peekViewResult.selectionForeground": "#5f7e97", 142 | "peekViewTitle.background": "#141722", 143 | "peekViewTitleDescription.foreground": "#697098", 144 | "peekViewTitleLabel.foreground": "#5f7e97", 145 | "merge.currentHeaderBackground": "#5f7e97", 146 | "merge.currentContentBackground": null, 147 | "merge.incomingHeaderBackground": "#7e57c25a", 148 | "merge.incomingContentBackground": null, 149 | "merge.border": null, 150 | "panel.background": "#141722", 151 | "panel.border": "#5f7e97", 152 | "panelTitle.activeBorder": "#5f7e97", 153 | "panelTitle.activeForeground": "#ffffffcc", 154 | "panelTitle.inactiveForeground": "#d6deeb80", 155 | "statusBar.background": "#141722", 156 | "statusBar.foreground": "#5f7e97", 157 | "statusBar.border": "#262A39", 158 | "statusBar.debuggingBackground": "#202431", 159 | "statusBar.debuggingForeground": null, 160 | "statusBar.debuggingBorder": "#1F2330", 161 | "statusBar.noFolderForeground": null, 162 | "statusBar.noFolderBackground": "#141722", 163 | "statusBar.noFolderBorder": "#25293A", 164 | "statusBarItem.activeBackground": "#202431", 165 | "statusBarItem.hoverBackground": "#202431", 166 | "statusBarItem.prominentBackground": "#202431", 167 | "statusBarItem.prominentHoverBackground": "#202431", 168 | "titleBar.activeBackground": "#141722", 169 | "titleBar.activeForeground": "#eeefff", 170 | "titleBar.inactiveBackground": "#010e1a", 171 | "titleBar.inactiveForeground": null, 172 | "notifications.background": "#01111d", 173 | "notifications.border": "#262a39", 174 | "notificationCenter.border": "#262a39", 175 | "notificationToast.border": "#262a39", 176 | "notifications.foreground": "#ffffffcc", 177 | "notificationLink.foreground": "#80CBC4", 178 | "extensionButton.prominentForeground": "#ffffffcc", 179 | "extensionButton.prominentBackground": "#7e57c2cc", 180 | "extensionButton.prominentHoverBackground": "#7e57c2", 181 | "pickerGroup.foreground": "#d1aaff", 182 | "pickerGroup.border": "#141722", 183 | "terminal.ansiWhite": "#ffffff", 184 | "terminal.ansiBlack": "#141722", 185 | "terminal.ansiBlue": "#8df0eb", 186 | "terminal.ansiCyan": "#21c7a8", 187 | "terminal.ansiGreen": "#22da6e", 188 | "terminal.ansiMagenta": "#93c4ff", 189 | "terminal.ansiRed": "#EF5350", 190 | "terminal.ansiYellow": "#e6cd99", 191 | "terminal.ansiBrightWhite": "#ffffff", 192 | "terminal.ansiBrightBlack": "#575656", 193 | "terminal.ansiBrightBlue": "#8df0eb", 194 | "terminal.ansiBrightCyan": "#7fdbca", 195 | "terminal.ansiBrightGreen": "#22da6e", 196 | "terminal.ansiBrightMagenta": "#93c4ff", 197 | "terminal.ansiBrightRed": "#EF5350", 198 | "terminal.ansiBrightYellow": "#ffeb95", 199 | "terminal.selectionBackground": "#1b90dd4d", 200 | "terminalCursor.background": "#234d70", 201 | "debugToolBar.background": "#141722", 202 | "welcomePage.buttonBackground": "#141722", 203 | "welcomePage.buttonHoverBackground": "#141722", 204 | "walkThrough.embeddedEditorBackground": "#141722", 205 | "gitDecoration.modifiedResourceForeground": "#a2bffc", 206 | "gitDecoration.deletedResourceForeground": "#EF535090", 207 | "gitDecoration.untrackedResourceForeground": "#e6cd99ff", 208 | "gitDecoration.ignoredResourceForeground": "#395a75", 209 | "gitDecoration.conflictingResourceForeground": "#ffeb95cc", 210 | "source.elm": "#5f7e97", 211 | "string.quoted.single.js": "#ffffff", 212 | "meta.objectliteral.js": "#8df0eb", 213 | }, 214 | "tokenColors": [{ 215 | "name": "Changed", 216 | "scope": [ 217 | "markup.changed", 218 | "meta.diff.header.git", 219 | "meta.diff.header.from-file", 220 | "meta.diff.header.to-file" 221 | ], 222 | "settings": { 223 | "foreground": "#a2bffc", 224 | "fontStyle": "italic" 225 | } 226 | }, 227 | { 228 | "name": "Deleted", 229 | "scope": "markup.deleted.diff", 230 | "settings": { 231 | "foreground": "#EF535090", 232 | "fontStyle": "italic" 233 | } 234 | }, 235 | { 236 | "name": "Inserted", 237 | "scope": "markup.inserted.diff", 238 | "settings": { 239 | "foreground": "#e6cd99ff", 240 | "fontStyle": "italic" 241 | } 242 | }, 243 | { 244 | "name": "Global settings", 245 | "settings": { 246 | "background": "#141722", 247 | "foreground": "#d6deeb" 248 | } 249 | }, 250 | { 251 | "name": "Comment", 252 | "scope": "comment", 253 | "settings": { 254 | "foreground": "#767c88", 255 | "fontStyle": "italic" 256 | } 257 | }, 258 | { 259 | "name": "String", 260 | "scope": "string", 261 | "settings": { 262 | "foreground": "#e6cd99" 263 | } 264 | }, 265 | { 266 | "name": "String Quoted", 267 | "scope": ["string.quoted", "variable.other.readwrite.js"], 268 | "settings": { 269 | "foreground": "#b49efa" 270 | } 271 | }, 272 | { 273 | "name": "Support Constant Math", 274 | "scope": "support.constant.math", 275 | "settings": { 276 | "foreground": "#e6cd99" 277 | } 278 | }, 279 | { 280 | "name": "Number", 281 | "scope": ["constant.numeric", "constant.character.numeric"], 282 | "settings": { 283 | "foreground": "#F78C6C", 284 | "fontStyle": "" 285 | } 286 | }, 287 | { 288 | "name": "Built-in constant", 289 | "scope": [ 290 | "constant.language", 291 | "punctuation.definition.constant", 292 | "variable.other.constant" 293 | ], 294 | "settings": { 295 | "foreground": "#8df0eb" 296 | } 297 | }, 298 | { 299 | "name": "User-defined constant", 300 | "scope": ["constant.character", "constant.other"], 301 | "settings": { 302 | "foreground": "#8df0eb" 303 | } 304 | }, 305 | { 306 | "name": "Constant Character Escape", 307 | "scope": "constant.character.escape", 308 | "settings": { 309 | "foreground": "#F78C6C" 310 | } 311 | }, 312 | { 313 | "name": "RegExp String", 314 | "scope": ["string.regexp", "string.regexp keyword.other"], 315 | "settings": { 316 | "foreground": "#5ca7e4" 317 | } 318 | }, 319 | { 320 | "name": "Comma in functions", 321 | "scope": "meta.function punctuation.separator.comma", 322 | "settings": { 323 | "foreground": "#5f7e97" 324 | } 325 | }, 326 | { 327 | "name": "Variable", 328 | "scope": "variable", 329 | "settings": { 330 | "foreground": "#e6cd99" 331 | } 332 | }, 333 | { 334 | "name": "Keyword", 335 | "scope": ["punctuation.accessor", "keyword"], 336 | "settings": { 337 | "foreground": "#6b81ff", 338 | "fontStyle": "italic" 339 | } 340 | }, 341 | { 342 | "name": "Storage", 343 | "scope": [ 344 | "storage", 345 | "meta.class meta.method.declaration meta.var.expr storage.type.js", 346 | "storage.type.property.js", 347 | "storage.type.property.ts", 348 | "storage.type.property.tsx" 349 | ], 350 | "settings": { 351 | "foreground": "#8bc3ff", 352 | "fontStyle": "" 353 | } 354 | }, 355 | { 356 | "name": "Storage type", 357 | "scope": "storage.type", 358 | "settings": { 359 | "foreground": "#93c4ff", 360 | "fontStyle": "" 361 | } 362 | }, 363 | { 364 | "name": "Storage type", 365 | "scope": "storage.type.function.arrow.js", 366 | "settings": { 367 | "fontStyle": "" 368 | } 369 | }, 370 | { 371 | "name": "Class name", 372 | "scope": ["entity.name.class", "meta.class entity.name.type.class"], 373 | "settings": { 374 | "foreground": "#ffcb8b" 375 | } 376 | }, 377 | { 378 | "name": "Inherited class", 379 | "scope": "entity.other.inherited-class", 380 | "settings": { 381 | "foreground": "#e6cd99" 382 | } 383 | }, 384 | { 385 | "name": "Function name", 386 | "scope": "entity.name.function", 387 | "settings": { 388 | "foreground": "#93c4ff", 389 | // "fontStyle": "italic" 390 | } 391 | }, 392 | { 393 | "name": "Meta Tag", 394 | "scope": ["punctuation.definition.tag", "meta.tag"], 395 | "settings": { 396 | "foreground": "#7fdbca", 397 | "fontStyle": "" 398 | } 399 | }, 400 | { 401 | "name": "HTML Tag names", 402 | "scope": [ 403 | "entity.name.tag", 404 | "meta.tag.other.html", 405 | "meta.tag.other.js", 406 | "meta.tag.other.tsx", 407 | "entity.name.tag.tsx", 408 | "entity.name.tag.js", 409 | "entity.name.tag", 410 | "meta.tag.js", 411 | "meta.tag.tsx", 412 | "meta.tag.html" 413 | ], 414 | "settings": { 415 | "foreground": "#7fdbca", 416 | "fontStyle": "" 417 | } 418 | }, 419 | { 420 | "name": "Tag attribute", 421 | "scope": "entity.other.attribute-name", 422 | "settings": { 423 | "fontStyle": "italic", 424 | "foreground": "#e6cd99" 425 | } 426 | }, 427 | { 428 | "name": "Entity Name Tag Custom", 429 | "scope": "entity.name.tag.custom", 430 | "settings": { 431 | "foreground": "#e6cd99" 432 | } 433 | }, 434 | { 435 | "name": "Library (function & constant)", 436 | "scope": ["support.function", "support.constant"], 437 | "settings": { 438 | "foreground": "#8df0eb" 439 | } 440 | }, 441 | { 442 | "name": "Support Constant Property Value meta", 443 | "scope": "support.constant.meta.property-value", 444 | "settings": { 445 | "foreground": "#7fdbca" 446 | } 447 | }, 448 | { 449 | "name": "Library class/type", 450 | "scope": ["support.type", "support.class"], 451 | "settings": { 452 | "foreground": "#e6cd99" 453 | } 454 | }, 455 | { 456 | "name": "Support Variable DOM", 457 | "scope": "support.variable.dom", 458 | "settings": { 459 | "foreground": "#e6cd99" 460 | } 461 | }, 462 | { 463 | "name": "Invalid", 464 | "scope": "invalid", 465 | "settings": { 466 | "background": "#ff2c83", 467 | "foreground": "#ffffff" 468 | } 469 | }, 470 | { 471 | "name": "Invalid deprecated", 472 | "scope": "invalid.deprecated", 473 | "settings": { 474 | "foreground": "#ffffff", 475 | "background": "#d3423e" 476 | } 477 | }, 478 | { 479 | "name": "Keyword Operator", 480 | "scope": "keyword.operator", 481 | "settings": { 482 | "foreground": "#7fdbca", 483 | "fontStyle": "" 484 | } 485 | }, 486 | { 487 | "name": "Keyword Operator Relational", 488 | "scope": "keyword.operator.relational", 489 | "settings": { 490 | "foreground": "#93c4ff", 491 | "fontStyle": "italic" 492 | } 493 | }, 494 | { 495 | "name": "Keyword Operator Assignment", 496 | "scope": "keyword.operator.assignment", 497 | "settings": { 498 | "foreground": "#93c4ff" 499 | } 500 | }, 501 | { 502 | "name": "Keyword Operator Arithmetic", 503 | "scope": "keyword.operator.arithmetic", 504 | "settings": { 505 | "foreground": "#93c4ff" 506 | } 507 | }, 508 | { 509 | "name": "Keyword Operator Bitwise", 510 | "scope": "keyword.operator.bitwise", 511 | "settings": { 512 | "foreground": "#93c4ff" 513 | } 514 | }, 515 | { 516 | "name": "Keyword Operator Increment", 517 | "scope": "keyword.operator.increment", 518 | "settings": { 519 | "foreground": "#93c4ff" 520 | } 521 | }, 522 | { 523 | "name": "Keyword Operator Ternary", 524 | "scope": "keyword.operator.ternary", 525 | "settings": { 526 | "foreground": "#93c4ff" 527 | } 528 | }, 529 | { 530 | "name": "Double-Slashed Comment", 531 | "scope": "comment.line.double-slash", 532 | "settings": { 533 | "foreground": "#637777" 534 | } 535 | }, 536 | { 537 | "name": "Object", 538 | "scope": "object", 539 | "settings": { 540 | "foreground": "#cdebf7" 541 | } 542 | }, 543 | { 544 | "name": "Null", 545 | "scope": "constant.language.null", 546 | "settings": { 547 | "foreground": "#ff5874" 548 | } 549 | }, 550 | { 551 | "name": "Meta Brace", 552 | "scope": "meta.brace", 553 | "settings": { 554 | "foreground": "#d6deeb" 555 | } 556 | }, 557 | { 558 | "name": "Meta Delimiter Period", 559 | "scope": "meta.delimiter.period", 560 | "settings": { 561 | "foreground": "#93c4ff", 562 | "fontStyle": "italic" 563 | } 564 | }, 565 | { 566 | "name": "Punctuation Definition String", 567 | "scope": "punctuation.definition.string", 568 | "settings": { 569 | "foreground": "#d9f5dd" 570 | } 571 | }, 572 | { 573 | "name": "Punctuation Definition String Markdown", 574 | "scope": "punctuation.definition.string.begin.markdown", 575 | "settings": { 576 | "foreground": "#ff5874" 577 | } 578 | }, 579 | { 580 | "name": "Boolean", 581 | "scope": "constant.language.boolean", 582 | "settings": { 583 | "foreground": "#ff5874" 584 | } 585 | }, 586 | { 587 | "name": "Object Comma", 588 | "scope": "object.comma", 589 | "settings": { 590 | "foreground": "#ffffff" 591 | } 592 | }, 593 | { 594 | "name": "Variable Parameter Function", 595 | "scope": "variable.parameter.function", 596 | "settings": { 597 | "foreground": "#f99898", 598 | "fontStyle": "italic" 599 | } 600 | }, 601 | { 602 | "name": "Support Type Property Name & entity name tags", 603 | "scope": [ 604 | "support.type.vendor.property-name", 605 | "support.constant.vendor.property-value", 606 | "support.type.property-name", 607 | "meta.property-list entity.name.tag" 608 | ], 609 | "settings": { 610 | "foreground": "#b5f0ea", 611 | "fontStyle": "italic" 612 | } 613 | }, 614 | { 615 | "name": "Entity Name tag reference in stylesheets", 616 | "scope": "meta.property-list entity.name.tag.reference", 617 | "settings": { 618 | "foreground": "#57eaf1" 619 | } 620 | }, 621 | { 622 | "name": "Constant Other Color RGB Value Punctuation Definition Constant", 623 | "scope": "constant.other.color.rgb-value punctuation.definition.constant", 624 | "settings": { 625 | "foreground": "#F78C6C" 626 | } 627 | }, 628 | { 629 | "name": "Constant Other Color", 630 | "scope": "constant.other.color", 631 | "settings": { 632 | "foreground": "#FFEB95", 633 | "fontStyle": "" 634 | } 635 | }, 636 | { 637 | "name": "Keyword Other Unit", 638 | "scope": "keyword.other.unit", 639 | "settings": { 640 | "foreground": "#FFEB95", 641 | "fontStyle": "" 642 | } 643 | }, 644 | { 645 | "name": "Meta Selector", 646 | "scope": "meta.selector", 647 | "settings": { 648 | "foreground": "#9195ff", 649 | "fontStyle": "italic" 650 | } 651 | }, 652 | { 653 | "name": "Entity Other Attribute Name Id", 654 | "scope": "entity.other.attribute-name.id", 655 | "settings": { 656 | "foreground": "#FAD430" 657 | } 658 | }, 659 | { 660 | "name": "Meta Property Name", 661 | "scope": "meta.property-name", 662 | "settings": { 663 | "foreground": "#80CBC4" 664 | } 665 | }, 666 | { 667 | "name": "Doctypes", 668 | "scope": ["entity.name.tag.doctype", "meta.tag.sgml.doctype"], 669 | "settings": { 670 | "foreground": "#93c4ff", 671 | "fontStyle": "italic" 672 | } 673 | }, 674 | { 675 | "name": "Punctuation Definition Parameters", 676 | "scope": "punctuation.definition.parameters", 677 | "settings": { 678 | "foreground": "#d9f5dd" 679 | } 680 | }, 681 | { 682 | "name": "Keyword Control Operator", 683 | "scope": "keyword.control.operator", 684 | "settings": { 685 | "foreground": "#7fdbca" 686 | } 687 | }, 688 | { 689 | "name": "Keyword Operator Logical", 690 | "scope": "keyword.operator.logical", 691 | "settings": { 692 | "foreground": "#93c4ff", 693 | "fontStyle": "" 694 | } 695 | }, 696 | { 697 | "name": "Variable Instances", 698 | "scope": [ 699 | "variable.instance", 700 | "variable.other.instance", 701 | "variable.readwrite.instance", 702 | "variable.other.readwrite.instance", 703 | "variable.other.property" 704 | ], 705 | "settings": { 706 | "foreground": "#7fdbca" 707 | } 708 | }, 709 | { 710 | "name": "Variable Property Other object property", 711 | "scope": ["variable.other.object.property"], 712 | "settings": { 713 | "foreground": "#faf39f", 714 | "fontStyle": "italic" 715 | } 716 | }, 717 | { 718 | "name": "Variable Property Other object", 719 | "scope": ["variable.other.object.js"], 720 | "settings": { 721 | "fontStyle": "" 722 | } 723 | }, 724 | { 725 | "name": "Entity Name Function", 726 | "scope": ["entity.name.function"], 727 | "settings": { 728 | "foreground": "#8df0eb", 729 | // "fontStyle": "italic" 730 | } 731 | }, 732 | { 733 | "name": "Keyword Operator Comparison, imports, returns and Keyword Operator Ruby", 734 | "scope": [ 735 | // "keyword.operator.comparison", 736 | "keyword.control.flow.js", 737 | "keyword.control.flow.ts", 738 | "keyword.control.flow.tsx", 739 | "keyword.control.ruby", 740 | "keyword.control.module.ruby", 741 | "keyword.control.class.ruby", 742 | "keyword.control.def.ruby", 743 | "keyword.control.loop.js", 744 | "keyword.control.loop.ts", 745 | "keyword.control.import.js", 746 | "keyword.control.import.ts", 747 | "keyword.control.import.tsx", 748 | "keyword.control.from.js", 749 | "keyword.control.from.ts", 750 | "keyword.control.from.tsx" 751 | ], 752 | "settings": { 753 | "foreground": "#93c4ff", 754 | "fontStyle": "italic" 755 | } 756 | }, 757 | { 758 | "name": "Keyword Control Conditional", 759 | "scope": [ 760 | "keyword.control.conditional.js", 761 | "keyword.control.conditional.ts", 762 | "keyword.control.switch.js", 763 | "keyword.control.switch.ts" 764 | ], 765 | "settings": { 766 | "foreground": "#93c4ff", 767 | "fontStyle": "" 768 | } 769 | }, 770 | { 771 | "name": "Support Constant, `new` keyword, Special Method Keyword, `debugger`, other keywords", 772 | "scope": [ 773 | "support.constant", 774 | "keyword.other.special-method", 775 | "keyword.other.new", 776 | "keyword.other.debugger", 777 | "keyword.control" 778 | ], 779 | "settings": { 780 | "foreground": "#7fdbca" 781 | } 782 | }, 783 | { 784 | "name": "Support Function", 785 | "scope": "support.function", 786 | "settings": { 787 | "foreground": "#e6cd99" 788 | } 789 | }, 790 | { 791 | "name": "Invalid Broken", 792 | "scope": "invalid.broken", 793 | "settings": { 794 | "foreground": "#020e14", 795 | "background": "#F78C6C" 796 | } 797 | }, 798 | { 799 | "name": "Invalid Unimplemented", 800 | "scope": "invalid.unimplemented", 801 | "settings": { 802 | "background": "#8BD649", 803 | "foreground": "#ffffff" 804 | } 805 | }, 806 | { 807 | "name": "Invalid Illegal", 808 | "scope": "invalid.illegal", 809 | "settings": { 810 | "foreground": "#ffffff", 811 | "background": "#ec5f67" 812 | } 813 | }, 814 | { 815 | "name": "Language Variable", 816 | "scope": "variable.language", 817 | "settings": { 818 | "foreground": "#7fdbca" 819 | } 820 | }, 821 | { 822 | "name": "Support Variable Property", 823 | "scope": "support.variable.property", 824 | "settings": { 825 | "foreground": "#7fdbca" 826 | } 827 | }, 828 | { 829 | "name": "Variable Function", 830 | "scope": "variable.function", 831 | "settings": { 832 | "foreground": "#8df0eb" 833 | } 834 | }, 835 | { 836 | "name": "Variable Interpolation", 837 | "scope": "variable.interpolation", 838 | "settings": { 839 | "foreground": "#ec5f67" 840 | } 841 | }, 842 | { 843 | "name": "Meta Function Call", 844 | "scope": "meta.function-call", 845 | "settings": { 846 | "foreground": "#8df0eb" 847 | } 848 | }, 849 | { 850 | "name": "Punctuation Section Embedded", 851 | "scope": "punctuation.section.embedded", 852 | "settings": { 853 | "foreground": "#d3423e" 854 | } 855 | }, 856 | { 857 | "name": "Punctuation Tweaks", 858 | "scope": [ 859 | "punctuation.terminator.expression", 860 | "punctuation.definition.arguments", 861 | "punctuation.definition.array", 862 | "punctuation.section.array", 863 | "meta.array" 864 | ], 865 | "settings": { 866 | "foreground": "#d6deeb" 867 | } 868 | }, 869 | { 870 | "name": "More Punctuation Tweaks", 871 | "scope": [ 872 | "punctuation.definition.list.begin", 873 | "punctuation.definition.list.end", 874 | "punctuation.separator.arguments", 875 | "punctuation.definition.list" 876 | ], 877 | "settings": { 878 | "foreground": "#d9f5dd" 879 | } 880 | }, 881 | { 882 | "name": "Template Strings", 883 | "scope": "string.template meta.template.expression", 884 | "settings": { 885 | "foreground": "#d3423e" 886 | } 887 | }, 888 | { 889 | "name": "Backtics(``) in Template Strings", 890 | "scope": "string.template punctuation.definition.string", 891 | "settings": { 892 | "foreground": "#d6deeb" 893 | } 894 | }, 895 | { 896 | "name": "Italics", 897 | "scope": "italic", 898 | "settings": { 899 | "foreground": "#93c4ff", 900 | "fontStyle": "italic" 901 | } 902 | }, 903 | { 904 | "name": "Bold", 905 | "scope": "bold", 906 | "settings": { 907 | "foreground": "#e6cd99", 908 | "fontStyle": "bold" 909 | } 910 | }, 911 | { 912 | "name": "Quote", 913 | "scope": "quote", 914 | "settings": { 915 | "foreground": "#697098", 916 | "fontStyle": "italic" 917 | } 918 | }, 919 | { 920 | "name": "Raw Code", 921 | "scope": "raw", 922 | "settings": { 923 | "foreground": "#80CBC4" 924 | } 925 | }, 926 | { 927 | "name": "CoffeScript Variable Assignment", 928 | "scope": "variable.assignment.coffee", 929 | "settings": { 930 | "foreground": "#31e1eb" 931 | } 932 | }, 933 | { 934 | "name": "CoffeScript Parameter Function", 935 | "scope": "variable.parameter.function.coffee", 936 | "settings": { 937 | "foreground": "#d6deeb" 938 | } 939 | }, 940 | { 941 | "name": "CoffeeScript Assignments", 942 | "scope": "variable.assignment.coffee", 943 | "settings": { 944 | "foreground": "#7fdbca" 945 | } 946 | }, 947 | { 948 | "name": "C# Readwrite Variables", 949 | "scope": "variable.other.readwrite.cs", 950 | "settings": { 951 | "foreground": "#d6deeb" 952 | } 953 | }, 954 | { 955 | "name": "C# Classes & Storage types", 956 | "scope": ["entity.name.type.class.cs", "storage.type.cs"], 957 | "settings": { 958 | "foreground": "#8df0eb" 959 | } 960 | }, 961 | { 962 | "name": "C# Namespaces", 963 | "scope": "entity.name.type.namespace.cs", 964 | "settings": { 965 | "foreground": "#B2CCD6" 966 | } 967 | }, 968 | { 969 | "name": "Tag names in Stylesheets", 970 | "scope": [ 971 | "entity.name.tag.css", 972 | "entity.name.tag.less", 973 | "entity.name.tag.custom.css", 974 | "support.constant.property-value.css" 975 | ], 976 | "settings": { 977 | "foreground": "#ff6363", 978 | "fontStyle": "" 979 | } 980 | }, 981 | { 982 | "name": "Wildcard(*) selector in Stylesheets", 983 | "scope": [ 984 | "entity.name.tag.wildcard.css", 985 | "entity.name.tag.wildcard.less", 986 | "entity.name.tag.wildcard.scss", 987 | "entity.name.tag.wildcard.sass" 988 | ], 989 | "settings": { 990 | "foreground": "#7fdbca" 991 | } 992 | }, 993 | { 994 | "name": "CSS Keyword Other Unit", 995 | "scope": "keyword.other.unit.css", 996 | "settings": { 997 | "foreground": "#FFEB95" 998 | } 999 | }, 1000 | { 1001 | "name": "Attribute Name for CSS", 1002 | "scope": [ 1003 | "meta.attribute-selector.css entity.other.attribute-name.attribute", 1004 | "variable.other.readwrite.js" 1005 | ], 1006 | "settings": { 1007 | "foreground": "#F78C6C" 1008 | } 1009 | }, 1010 | { 1011 | "name": "Elixir Classes", 1012 | "scope": [ 1013 | "source.elixir support.type.elixir", 1014 | "source.elixir meta.module.elixir entity.name.class.elixir" 1015 | ], 1016 | "settings": { 1017 | "foreground": "#8df0eb" 1018 | } 1019 | }, 1020 | { 1021 | "name": "Elixir Functions", 1022 | "scope": "source.elixir entity.name.function", 1023 | "settings": { 1024 | "foreground": "#e6cd99" 1025 | } 1026 | }, 1027 | { 1028 | "name": "Elixir Constants", 1029 | "scope": [ 1030 | "source.elixir constant.other.symbol.elixir", 1031 | "source.elixir constant.other.keywords.elixir" 1032 | ], 1033 | "settings": { 1034 | "foreground": "#8df0eb" 1035 | } 1036 | }, 1037 | { 1038 | "name": "Elixir String Punctuations", 1039 | "scope": "source.elixir punctuation.definition.string", 1040 | "settings": { 1041 | "foreground": "#e6cd99" 1042 | } 1043 | }, 1044 | { 1045 | "name": "Elixir", 1046 | "scope": [ 1047 | "source.elixir variable.other.readwrite.module.elixir", 1048 | "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir" 1049 | ], 1050 | "settings": { 1051 | "foreground": "#e6cd99" 1052 | } 1053 | }, 1054 | { 1055 | "name": "Elixir Binary Punctuations", 1056 | "scope": "source.elixir .punctuation.binary.elixir", 1057 | "settings": { 1058 | "foreground": "#93c4ff", 1059 | "fontStyle": "italic" 1060 | } 1061 | }, 1062 | { 1063 | "name": "Closure Constant Keyword", 1064 | "scope": "constant.keyword.clojure", 1065 | "settings": { 1066 | "foreground": "#7fdbca" 1067 | } 1068 | }, 1069 | { 1070 | "name": "Go Function Calls", 1071 | "scope": "source.go meta.function-call.go", 1072 | "settings": { 1073 | "foreground": "#DDDDDD" 1074 | } 1075 | }, 1076 | { 1077 | "name": "Go Keywords", 1078 | "scope": [ 1079 | "source.go keyword.package.go", 1080 | "source.go keyword.import.go", 1081 | "source.go keyword.function.go", 1082 | "source.go keyword.type.go", 1083 | "source.go keyword.struct.go", 1084 | "source.go keyword.interface.go", 1085 | "source.go keyword.const.go", 1086 | "source.go keyword.var.go", 1087 | "source.go keyword.map.go", 1088 | "source.go keyword.channel.go", 1089 | "source.go keyword.control.go" 1090 | ], 1091 | "settings": { 1092 | "foreground": "#93c4ff", 1093 | "fontStyle": "italic" 1094 | } 1095 | }, 1096 | { 1097 | "name": "Go Constants e.g. nil, string format (%s, %d, etc.)", 1098 | "scope": [ 1099 | "source.go constant.language.go", 1100 | "source.go constant.other.placeholder.go" 1101 | ], 1102 | "settings": { 1103 | "foreground": "#ff5874" 1104 | } 1105 | }, 1106 | { 1107 | "name": "C++ Functions", 1108 | "scope": [ 1109 | "entity.name.function.preprocessor.cpp", 1110 | "entity.scope.name.cpp" 1111 | ], 1112 | "settings": { 1113 | "foreground": "#7fdbcaff" 1114 | } 1115 | }, 1116 | { 1117 | "name": "C++ Meta Namespace", 1118 | "scope": [ 1119 | "meta.namespace-block.cpp" 1120 | ], 1121 | "settings": { 1122 | "foreground": "#e0dec6" 1123 | } 1124 | }, 1125 | { 1126 | "name": "C++ Language Primitive Storage", 1127 | "scope": [ 1128 | "storage.type.language.primitive.cpp" 1129 | ], 1130 | "settings": { 1131 | "foreground": "#ff5874" 1132 | } 1133 | }, 1134 | { 1135 | "name": "C++ Preprocessor Macro", 1136 | "scope": [ 1137 | "meta.preprocessor.macro.cpp" 1138 | ], 1139 | "settings": { 1140 | "foreground": "#d6deeb" 1141 | } 1142 | }, 1143 | { 1144 | "name": "C++ Variable Parameter", 1145 | "scope": [ 1146 | "variable.parameter" 1147 | ], 1148 | "settings": { 1149 | "foreground": "#ffcb8b" 1150 | } 1151 | }, 1152 | { 1153 | "name": "Powershell Variables", 1154 | "scope": [ 1155 | "variable.other.readwrite.powershell" 1156 | ], 1157 | "settings": { 1158 | "foreground": "#8df0eb" 1159 | } 1160 | }, 1161 | { 1162 | "name": "Powershell Function", 1163 | "scope": [ 1164 | "support.function.powershell" 1165 | ], 1166 | "settings": { 1167 | "foreground": "#7fdbcaff" 1168 | } 1169 | }, 1170 | { 1171 | "name": "ID Attribute Name in HTML", 1172 | "scope": "entity.other.attribute-name.id.html", 1173 | "settings": { 1174 | "foreground": "#e6cd99" 1175 | } 1176 | }, 1177 | { 1178 | "name": "HTML Punctuation Definition Tag", 1179 | "scope": "punctuation.definition.tag.html", 1180 | "settings": { 1181 | "foreground": "#6ae9f0", 1182 | "fontStyle": "" 1183 | } 1184 | }, 1185 | { 1186 | "name": "HTML Doctype", 1187 | "scope": "meta.tag.sgml.doctype.html", 1188 | "settings": { 1189 | "foreground": "#93c4ff", 1190 | "fontStyle": "italic" 1191 | } 1192 | }, 1193 | { 1194 | "name": "JavaScript Classes", 1195 | "scope": "meta.class entity.name.type.class.js", 1196 | "settings": { 1197 | "foreground": "#ffcb8b" 1198 | } 1199 | }, 1200 | { 1201 | "name": "JavaScript Method Declaration e.g. `constructor`", 1202 | "scope": "meta.method.declaration storage.type.js", 1203 | "settings": { 1204 | "foreground": "#8df0eb" 1205 | } 1206 | }, 1207 | { 1208 | "name": "JavaScript Terminator", 1209 | "scope": "terminator.js", 1210 | "settings": { 1211 | "foreground": "#d6deeb" 1212 | } 1213 | }, 1214 | { 1215 | "name": "JavaScript Meta Punctuation Definition", 1216 | "scope": "meta.js punctuation.definition.js", 1217 | "settings": { 1218 | "foreground": "#d6deeb" 1219 | } 1220 | }, 1221 | { 1222 | "name": "Entity Names in Code Documentations", 1223 | "scope": [ 1224 | "entity.name.type.instance.jsdoc", 1225 | "entity.name.type.instance.phpdoc" 1226 | ], 1227 | "settings": { 1228 | "foreground": "#5f7e97" 1229 | } 1230 | }, 1231 | { 1232 | "name": "Other Variables in Code Documentations", 1233 | "scope": ["variable.other.jsdoc", "variable.other.phpdoc"], 1234 | "settings": { 1235 | "foreground": "#78ccf0" 1236 | } 1237 | }, 1238 | { 1239 | "name": "JavaScript module imports and exports", 1240 | "scope": [ 1241 | "variable.other.meta.import.js", 1242 | "meta.import.js variable.other", 1243 | "variable.other.meta.export.js", 1244 | "meta.export.js variable.other" 1245 | ], 1246 | "settings": { 1247 | "foreground": "#d6deeb" 1248 | } 1249 | }, 1250 | { 1251 | "name": "JavaScript Variable Parameter Function", 1252 | "scope": "variable.parameter.function.js", 1253 | "settings": { 1254 | "foreground": "#7986E7" 1255 | } 1256 | }, 1257 | { 1258 | "name": "JavaScript[React] Variable Other Object", 1259 | "scope": [ 1260 | "variable.other.object.js", 1261 | "variable.other.object.jsx", 1262 | "variable.object.property.js", 1263 | "variable.object.property.jsx" 1264 | ], 1265 | "settings": { 1266 | "foreground": "#d6deeb" 1267 | } 1268 | }, 1269 | { 1270 | "name": "JavaScript Variables", 1271 | "scope": ["variable.js", "variable.other.js"], 1272 | "settings": { 1273 | "foreground": "#d6deeb" 1274 | } 1275 | }, 1276 | { 1277 | "name": "JavaScript Entity Name Type", 1278 | "scope": ["entity.name.type.js", "entity.name.type.module.js"], 1279 | "settings": { 1280 | "foreground": "#ffcb8b", 1281 | "fontStyle": "" 1282 | } 1283 | }, 1284 | { 1285 | "name": "JavaScript Support Classes", 1286 | "scope": "support.class.js", 1287 | "settings": { 1288 | "foreground": "#d6deeb" 1289 | } 1290 | }, 1291 | { 1292 | "name": "JSON Property Names", 1293 | "scope": "support.type.property-name.json", 1294 | "settings": { 1295 | "foreground": "#ced2e9" 1296 | } 1297 | }, 1298 | { 1299 | "name": "JSON Support Constants", 1300 | "scope": "support.constant.json", 1301 | "settings": { 1302 | "foreground": "#e6cd99" 1303 | } 1304 | }, 1305 | { 1306 | "name": "JSON Property values (string)", 1307 | "scope": "meta.structure.dictionary.value.json string.quoted.double", 1308 | "settings": { 1309 | "foreground": "#5392ff" 1310 | } 1311 | }, 1312 | { 1313 | "name": "Strings in JSON values", 1314 | "scope": "string.quoted.double.json punctuation.definition.string.json", 1315 | "settings": { 1316 | "foreground": "#80CBC4" 1317 | } 1318 | }, 1319 | { 1320 | "name": "Specific JSON Property values like null", 1321 | "scope": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language", 1322 | "settings": { 1323 | "foreground": "#ff5874" 1324 | } 1325 | }, 1326 | { 1327 | "name": "JavaScript Other Variable", 1328 | "scope": "variable.other.object.js", 1329 | "settings": { 1330 | "foreground": "#7fdbca", 1331 | "fontStyle": "italic" 1332 | } 1333 | }, 1334 | { 1335 | "name": "Ruby Variables", 1336 | "scope": ["variable.other.ruby"], 1337 | "settings": { 1338 | "foreground": "#d6deeb" 1339 | } 1340 | }, 1341 | { 1342 | "name": "Ruby Class", 1343 | "scope": ["entity.name.type.class.ruby"], 1344 | "settings": { 1345 | "foreground": "#b49efa" 1346 | } 1347 | }, 1348 | { 1349 | "name": "Ruby Hashkeys", 1350 | "scope": "constant.language.symbol.hashkey.ruby", 1351 | "settings": { 1352 | "foreground": "#7fdbca" 1353 | } 1354 | }, 1355 | { 1356 | "name": "Ruby Symbols", 1357 | "scope": "constant.language.symbol.ruby", 1358 | "settings": { 1359 | "foreground": "#7fdbca" 1360 | } 1361 | }, 1362 | { 1363 | "name": "LESS Tag names", 1364 | "scope": "entity.name.tag.less", 1365 | "settings": { 1366 | "foreground": "#7fdbca" 1367 | } 1368 | }, 1369 | { 1370 | "name": "LESS Keyword Other Unit", 1371 | "scope": "keyword.other.unit.css", 1372 | "settings": { 1373 | "foreground": "#FFEB95" 1374 | } 1375 | }, 1376 | { 1377 | "name": "Attribute Name for LESS", 1378 | "scope": "meta.attribute-selector.less entity.other.attribute-name.attribute", 1379 | "settings": { 1380 | "foreground": "#F78C6C" 1381 | } 1382 | }, 1383 | { 1384 | "name": "Markdown Headings", 1385 | "scope": [ 1386 | "markup.heading.markdown", 1387 | "markup.heading.setext.1.markdown", 1388 | "markup.heading.setext.2.markdown" 1389 | ], 1390 | "settings": { 1391 | "foreground": "#82b1ff", 1392 | "fontStyle": "bold" 1393 | } 1394 | }, 1395 | { 1396 | "name": "Markdown Italics", 1397 | "scope": "markup.italic.markdown", 1398 | "settings": { 1399 | "foreground": "#93c4ff", 1400 | "fontStyle": "italic" 1401 | } 1402 | }, 1403 | { 1404 | "name": "Markdown Bold", 1405 | "scope": "markup.bold.markdown", 1406 | "settings": { 1407 | "foreground": "#e6cd99", 1408 | "fontStyle": "bold" 1409 | } 1410 | }, 1411 | { 1412 | "name": "Markdown Quote + others", 1413 | "scope": "markup.quote.markdown", 1414 | "settings": { 1415 | "foreground": "#697098", 1416 | "fontStyle": "italic" 1417 | } 1418 | }, 1419 | { 1420 | "name": "Markdown Raw Code + others", 1421 | "scope": "markup.inline.raw.markdown", 1422 | "settings": { 1423 | "foreground": "#80CBC4" 1424 | } 1425 | }, 1426 | { 1427 | "name": "Markdown Links", 1428 | "scope": [ 1429 | "markup.underline.link.markdown", 1430 | "markup.underline.link.image.markdown" 1431 | ], 1432 | "settings": { 1433 | "foreground": "#ff869a" 1434 | } 1435 | }, 1436 | { 1437 | "name": "Markdown Link Title and Description", 1438 | "scope": [ 1439 | "string.other.link.title.markdown", 1440 | "string.other.link.description.markdown" 1441 | ], 1442 | "settings": { 1443 | "foreground": "#d6deeb" 1444 | } 1445 | }, 1446 | { 1447 | "name": "Markdown Punctuation", 1448 | "scope": [ 1449 | "punctuation.definition.string.markdown", 1450 | "punctuation.definition.string.begin.markdown", 1451 | "punctuation.definition.string.end.markdown", 1452 | "meta.link.inline.markdown punctuation.definition.string" 1453 | ], 1454 | "settings": { 1455 | "foreground": "#82b1ff" 1456 | } 1457 | }, 1458 | { 1459 | "name": "Markdown MetaData Punctuation", 1460 | "scope": ["punctuation.definition.metadata.markdown"], 1461 | "settings": { 1462 | "foreground": "#7fdbca" 1463 | } 1464 | }, 1465 | { 1466 | "name": "Markdown List Punctuation", 1467 | "scope": ["beginning.punctuation.definition.list.markdown"], 1468 | "settings": { 1469 | "foreground": "#82b1ff" 1470 | } 1471 | }, 1472 | { 1473 | "name": "Markdown Inline Raw String", 1474 | "scope": "markup.inline.raw.string.markdown", 1475 | "settings": { 1476 | "foreground": "#e6cd99" 1477 | } 1478 | }, 1479 | { 1480 | "name": "PHP Variables", 1481 | "scope": ["variable.other.php", "variable.other.property.php"], 1482 | "settings": { 1483 | "foreground": "#bec5d4" 1484 | } 1485 | }, 1486 | { 1487 | "name": "Support Classes in PHP", 1488 | "scope": "support.class.php", 1489 | "settings": { 1490 | "foreground": "#ffcb8b" 1491 | } 1492 | }, 1493 | { 1494 | "name": "Punctuations in PHP function calls", 1495 | "scope": "meta.function-call.php punctuation", 1496 | "settings": { 1497 | "foreground": "#d6deeb" 1498 | } 1499 | }, 1500 | { 1501 | "name": "PHP Global Variables", 1502 | "scope": "variable.other.global.php", 1503 | "settings": { 1504 | "foreground": "#e6cd99" 1505 | } 1506 | }, 1507 | { 1508 | "name": "Declaration Punctuation in PHP Global Variables", 1509 | "scope": "variable.other.global.php punctuation.definition.variable", 1510 | "settings": { 1511 | "foreground": "#e6cd99" 1512 | } 1513 | }, 1514 | { 1515 | "name": "Language Constants in Python", 1516 | "scope": "constant.language.python", 1517 | "settings": { 1518 | "foreground": "#ff5874" 1519 | } 1520 | }, 1521 | { 1522 | "name": "Python Function Parameter and Arguments", 1523 | "scope": [ 1524 | "variable.parameter.function.python", 1525 | "meta.function-call.arguments.python" 1526 | ], 1527 | "settings": { 1528 | "foreground": "#8df0eb" 1529 | } 1530 | }, 1531 | { 1532 | "name": "Python Function Call", 1533 | "scope": [ 1534 | "meta.function-call.python", 1535 | "meta.function-call.generic.python" 1536 | ], 1537 | "settings": { 1538 | "foreground": "#B2CCD6" 1539 | } 1540 | }, 1541 | { 1542 | "name": "Punctuations in Python", 1543 | "scope": "punctuation.python", 1544 | "settings": { 1545 | "foreground": "#d6deeb" 1546 | } 1547 | }, 1548 | { 1549 | "name": "Decorator Functions in Python", 1550 | "scope": "entity.name.function.decorator.python", 1551 | "settings": { 1552 | "foreground": "#e6cd99" 1553 | } 1554 | }, 1555 | { 1556 | "name": "Python Language Variable", 1557 | "scope": "source.python variable.language.special", 1558 | "settings": { 1559 | "foreground": "#8EACE3" 1560 | } 1561 | }, 1562 | { 1563 | "name": "Python import control keyword", 1564 | "scope": ["keyword.control", "keyword.operator.logical"], 1565 | "settings": { 1566 | "foreground": "#93c4ff", 1567 | "fontStyle": "italic" 1568 | } 1569 | }, 1570 | { 1571 | "name": "SCSS Variable", 1572 | "scope": [ 1573 | "variable.scss", 1574 | "variable.sass", 1575 | "variable.parameter.url.scss", 1576 | "variable.parameter.url.sass" 1577 | ], 1578 | "settings": { 1579 | "foreground": "#e6cd99" 1580 | } 1581 | }, 1582 | { 1583 | "name": "Variables in SASS At-Rules", 1584 | "scope": [ 1585 | "source.css.scss meta.at-rule variable", 1586 | "source.css.sass meta.at-rule variable" 1587 | ], 1588 | "settings": { 1589 | "foreground": "#8df0eb" 1590 | } 1591 | }, 1592 | { 1593 | "name": "Variables in SASS At-Rules", 1594 | "scope": [ 1595 | "source.css.scss meta.at-rule variable", 1596 | "source.css.sass meta.at-rule variable" 1597 | ], 1598 | "settings": { 1599 | "foreground": "#bec5d4" 1600 | } 1601 | }, 1602 | { 1603 | "name": "Attribute Name for SASS", 1604 | "scope": [ 1605 | "meta.attribute-selector.scss entity.other.attribute-name.attribute", 1606 | "meta.attribute-selector.sass entity.other.attribute-name.attribute" 1607 | ], 1608 | "settings": { 1609 | "foreground": "#F78C6C" 1610 | } 1611 | }, 1612 | { 1613 | "name": "Tag names in SASS", 1614 | "scope": ["entity.name.tag.scss", "entity.name.tag.sass"], 1615 | "settings": { 1616 | "foreground": "#7fdbca" 1617 | } 1618 | }, 1619 | { 1620 | "name": "SASS Keyword Other Unit", 1621 | "scope": ["keyword.other.unit.scss", "keyword.other.unit.sass"], 1622 | "settings": { 1623 | "foreground": "#FFEB95" 1624 | } 1625 | }, 1626 | { 1627 | "name": "TypeScript[React] Variables and Object Properties", 1628 | "scope": [ 1629 | "variable.other.readwrite.alias.ts", 1630 | "variable.other.readwrite.alias.tsx", 1631 | "variable.other.readwrite.ts", 1632 | "variable.other.readwrite.tsx", 1633 | "variable.other.object.ts", 1634 | "variable.other.object.tsx", 1635 | "variable.object.property.ts", 1636 | "variable.object.property.tsx", 1637 | "variable.other.ts", 1638 | "variable.other.tsx", 1639 | "variable.tsx", 1640 | "variable.ts" 1641 | ], 1642 | "settings": { 1643 | "foreground": "#d6deeb" 1644 | } 1645 | }, 1646 | { 1647 | "name": "TypeScript[React] Entity Name Types", 1648 | "scope": ["entity.name.type.ts", "entity.name.type.tsx"], 1649 | "settings": { 1650 | "foreground": "#ffcb8b" 1651 | } 1652 | }, 1653 | { 1654 | "name": "TypeScript[React] Node Classes", 1655 | "scope": ["support.class.node.ts", "support.class.node.tsx"], 1656 | "settings": { 1657 | "foreground": "#8df0eb" 1658 | } 1659 | }, 1660 | { 1661 | "name": "TypeScript[React] Entity Name Types as Parameters", 1662 | "scope": [ 1663 | "meta.type.parameters.ts entity.name.type", 1664 | "meta.type.parameters.tsx entity.name.type" 1665 | ], 1666 | "settings": { 1667 | "foreground": "#5f7e97" 1668 | } 1669 | }, 1670 | { 1671 | "name": "TypeScript[React] Import/Export Punctuations", 1672 | "scope": [ 1673 | "meta.import.ts punctuation.definition.block", 1674 | "meta.import.tsx punctuation.definition.block", 1675 | "meta.export.ts punctuation.definition.block", 1676 | "meta.export.tsx punctuation.definition.block" 1677 | ], 1678 | "settings": { 1679 | "foreground": "#d6deeb" 1680 | } 1681 | }, 1682 | { 1683 | "name": "TypeScript[React] Punctuation Decorators", 1684 | "scope": [ 1685 | "meta.decorator punctuation.decorator.ts", 1686 | "meta.decorator punctuation.decorator.tsx" 1687 | ], 1688 | "settings": { 1689 | "foreground": "#8df0eb" 1690 | } 1691 | }, 1692 | { 1693 | "name": "TypeScript[React] Punctuation Decorators", 1694 | "scope": "meta.tag.js meta.jsx.children.tsx", 1695 | "settings": { 1696 | "foreground": "#8df0eb" 1697 | } 1698 | }, 1699 | { 1700 | "name": "YAML Entity Name Tags", 1701 | "scope": "entity.name.tag.yaml", 1702 | "settings": { 1703 | "foreground": "#7fdbca" 1704 | } 1705 | }, 1706 | { 1707 | "name": "JavaScript Variable Other ReadWrite", 1708 | "scope": ["variable.other.readwrite.js", "variable.parameter"], 1709 | "settings": { 1710 | "foreground": "#d7dbe0" 1711 | } 1712 | }, 1713 | { 1714 | "name": "Support Class Component", 1715 | "scope": ["support.class.component.js", "support.class.component.tsx"], 1716 | "settings": { 1717 | "foreground": "#f78c6c", 1718 | "fontStyle": "" 1719 | } 1720 | }, 1721 | { 1722 | "name": "Text nested in React tags", 1723 | "scope": [ 1724 | "meta.jsx.children", 1725 | "meta.jsx.children.js", 1726 | "meta.jsx.children.tsx" 1727 | ], 1728 | "settings": { 1729 | "foreground": "#d6deeb" 1730 | } 1731 | }, 1732 | { 1733 | "name": "TypeScript Classes", 1734 | "scope": "meta.class entity.name.type.class.tsx", 1735 | "settings": { 1736 | "foreground": "#ffcb8b" 1737 | } 1738 | }, 1739 | { 1740 | "name": "TypeScript Entity Name Type", 1741 | "scope": ["entity.name.type.tsx", "entity.name.type.module.tsx"], 1742 | "settings": { 1743 | "foreground": "#ffcb8b" 1744 | } 1745 | }, 1746 | { 1747 | "name": "TypeScript Method Declaration e.g. `constructor`", 1748 | "scope": [ 1749 | "meta.method.declaration storage.type.ts", 1750 | "meta.method.declaration storage.type.tsx" 1751 | ], 1752 | "settings": { 1753 | "foreground": "#8df0eb" 1754 | } 1755 | }, 1756 | { 1757 | "name": "normalize font style of other components", 1758 | "scope": [ 1759 | "comment.line.number-sign.shell", 1760 | "meta.brace", 1761 | "meta.var.expr", 1762 | "keyword.operator.relational", 1763 | "keyword.operator.type", 1764 | "punctuation.terminator.rule.scss", 1765 | "keyword.operator.logical" 1766 | ], 1767 | "settings": { 1768 | "fontStyle": "" 1769 | } 1770 | }, 1771 | { 1772 | "name": "Italicize font style of certain components", 1773 | "scope": [ 1774 | "meta.property-list.css meta.property-value.css variable.other.less", 1775 | "meta.property-list.scss variable.scss", 1776 | "meta.property-list.sass variable.sass", 1777 | "keyword.operator.operator", 1778 | "keyword.operator.or.regexp", 1779 | "keyword.operator.expression.in", 1780 | "keyword", 1781 | "variable.other.readwrite.js", 1782 | "source.css", 1783 | "string.quoted", 1784 | "meta.fstring.python", 1785 | "comment.line" 1786 | ], 1787 | "settings": { 1788 | "fontStyle": "italic" 1789 | } 1790 | } 1791 | ] 1792 | } 1793 | --------------------------------------------------------------------------------