├── .gitignore ├── icon.png ├── .vscodeignore ├── images ├── closeup.png └── screenshot.png ├── .vscode └── launch.json ├── package.json ├── CHANGELOG.md ├── visual.test.js ├── README.md └── themes └── Dark++ Italic-color-theme.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .vsix 3 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idbartosz/vscode-darkpp-italic/HEAD/icon.png -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | .gitignore 4 | vsc-extension-quickstart.md 5 | -------------------------------------------------------------------------------- /images/closeup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idbartosz/vscode-darkpp-italic/HEAD/images/closeup.png -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idbartosz/vscode-darkpp-italic/HEAD/images/screenshot.png -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension inside a new window 2 | { 3 | "version": "0.1.0", 4 | "configurations": [ 5 | { 6 | "name": "Extension", 7 | "type": "extensionHost", 8 | "request": "launch", 9 | "runtimeExecutable": "${execPath}", 10 | "args": ["--extensionDevelopmentPath=${workspaceRoot}" ] 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "darkpp-italic", 3 | "displayName": "Dark++ Italic", 4 | "description": "Enhanced default VScode Dark+ theme with italic support for Fira Code iScript, Fira Code + Operator Mono fonts, and Copilot hints!", 5 | "version": "0.2.1", 6 | "publisher": "idbartosz", 7 | "engines": { 8 | "vscode": "^1.18.0" 9 | }, 10 | "categories": [ 11 | "Themes" 12 | ], 13 | "contributes": { 14 | "themes": [ 15 | { 16 | "label": "Dark++ Italic", 17 | "uiTheme": "vs-dark", 18 | "path": "./themes/Dark++ Italic-color-theme.json" 19 | } 20 | ] 21 | }, 22 | "repository": { 23 | "type": "git", 24 | "url": "https://github.com/idbartosz/vscode-darkpp-italic.git" 25 | }, 26 | "bugs": { 27 | "url": "https://github.com/idbartosz/vscode-darkpp-italic.git/issues" 28 | }, 29 | "homepage": "https://github.com/idbartosz/vscode-darkpp-italic/blob/master/README.md", 30 | "keywords": [ 31 | "Vscode", 32 | "Dark", 33 | "Theme", 34 | "Dark++", 35 | "Dark plus plus", 36 | "Darkpp", 37 | "Italic" 38 | ], 39 | "icon": "icon.png", 40 | "author": "Bartosz Korczak ", 41 | "license": "MIT" 42 | } 43 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | All notable changes to the "darkpp-italic" extension will be documented in this file. 3 | 4 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) 5 | 6 | ## [Unreleased] 7 | 8 | ## [0.2.1] 2024-06-20 9 | ### Changed 10 | - Update README.md with Copilot instructions, re-organize structure, and update images 11 | 12 | ## [0.2.0] 2020-11-18 13 | ### Fixed 14 | - Align theme with VSCode v1.51.1 15 | ### Changed 16 | - Update README.md, test.js, screenshot and close-up 17 | 18 | ## [0.1.3] 2019-04-17 19 | ### Fixed 20 | - Fix dates in CHANGELOG 21 | 22 | ## [0.1.2] 2019-04-17 23 | ### Changed 24 | - Update CHANGELOG and package file 25 | 26 | ## [0.1.1] 2019-04-17 27 | ### Changed 28 | - Update README with theme setting by Mouli2105 29 | 30 | ## [0.1.0] 2019-04-17 31 | ### Fixed 32 | - Property colors in nested objects 33 | ### Changed 34 | - Change comments color to less distractive one 35 | - Updates in README.md 36 | - Update test.js 37 | - Update screenshot and close-up 38 | - Update in package and minor version bump 39 | ### Added 40 | - VSCode main css screenshot 41 | 42 | ## [0.0.6] 2018-02-12 43 | ### Fixed 44 | - Argument color in decorators 45 | ### Changed 46 | - Update in README.md 47 | - Update screenshot and close-up 48 | 49 | ## [0.0.5] 2018-02-12 50 | ### Added 51 | - Support for italic attribute names 52 | - Close-up screenshot 53 | ### Changed 54 | - Minor updates in README.md 55 | - Update screenshot 56 | 57 | ## [0.0.1] - 2017-12-03 58 | ### Added 59 | - Initial release 60 | -------------------------------------------------------------------------------- /visual.test.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from "react"; 2 | import PropTypes from "prop-types"; 3 | import { connect, bindActionCreators } from "react-redux"; 4 | 5 | import Custom, { badly } from "./Custom"; 6 | import styles from "./Sassy.sass"; // Webpack will help us! 7 | import { getData } from "../actions/fetchData"; 8 | 9 | const moduleGlobal = { 10 | name: "bro", 11 | hasDefault: false 12 | }; 13 | const date = (new Date()).toISOString(); 14 | const regex = /13{2,2}7member\..*/ 15 | 16 | /** 17 | * TODO: Waiting for React hooks to refactor this mess. [13.11.2020]: Legacy, moved to will not do. 18 | * NOTE2: if someone requests TypeScript just switch to Elm or threaten them with ClojureScript 19 | * 20 | * @param {*} forgot Some param I've forgot 21 | */ 22 | @connect( 23 | state => ({ data: state.namedComponent.data }), 24 | dispatch => bindActionCreators({ getMeta }, dispatch) 25 | ) 26 | // Linting error: [ts] Experimental support for decorators is a feature 27 | export default class componentName extends Component { 28 | state = { 29 | thisIsNuts: !!1 + " story" + ` ${moduleGlobal}`, 30 | tooMuchState: this.props.broFist, 31 | data: { data: [{}, {}, {}] } 32 | }; 33 | 34 | static propTypes = { 35 | importantObject: PropTypes.object.with[badly]['nested'].object.shape.types(), 36 | propertyOfMorty: PropTypes.any, 37 | broFist: PropTypes.element 38 | }; 39 | 40 | static fetchData = store => store.dispatch(getData()); 41 | 42 | componentDidMount = () => { 43 | if (im(100) === "sure" && "drunk" !== wifeCall()) this.props.getMeta(); 44 | }; 45 | 46 | asIterableData(data) { 47 | const newData = { ...data } 48 | newData[Symbol.iterator] = function* () { 49 | yield* Object.values(this) 50 | } 51 | 52 | return newData; 53 | } 54 | 55 | render() { 56 | let [yes] = useHookInsideClass() 57 | const { data: { data } } = state; 58 | const optChain = sate?.whatever?.is?.() 59 | yes = `${optChain} safe reassign` 60 | const nullish = optChain ?? yes 61 | 62 | console.log('Debugger? Meh, ', nullish) 63 | window.alert('nullish is: ' + nullish) // alert if too lazy to open console 64 | 65 | const { hidden: probablyNot } = styles 66 | // Indeed there's no comma at line 42. JS and universe doesn't care, k? 67 | const custom = , 68 | fancy =

But will it work?

; 69 | return ( 70 | <> 71 | {/* <- React.Fragment, ofc you knew... */} 72 | {nullish?.length ? nullish : null} 73 |
74 | {custom || fancy} 75 | {/* no render props, no inversion of control === user definitely not pro */} 76 | {this.props.children} 77 |
78 | 79 | ); 80 | } 81 | } 82 | // New line, take a break if you read all those comments 🥕 83 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Dark++ Italic Theme drawing 2 | Enhanced VSCode Dark+ theme with italic support for **Fira Code iScript**, **Fira Code + Operator Mono** fonts, and **Copilot** hints! 3 | 4 | [![Extension version](https://img.shields.io/vscode-marketplace/v/idbartosz.darkpp-italic.svg)](https://marketplace.visualstudio.com/items?itemName=idbartosz.darkpp-italic) 5 | [![Extension installs](https://img.shields.io/vscode-marketplace/i/idbartosz.darkpp-italic.svg)](https://marketplace.visualstudio.com/items?itemName=idbartosz.darkpp-italic) 6 | 7 | --- 8 | 9 | ⭐ Like, star, subscribe, and put a comment down below *...couldn't resist* 10 | 11 | > 🤩 By far the most complete color theme I've used for JavaScript: italic reserved keywords, different color for every possible difference, nice contrast but well balanced color schema,... BIG FAN [~ Anonymous](https://marketplace.visualstudio.com/items?itemName=idbartosz.darkpp-italic&ssr=false#review-details) 12 | 13 | > 😊 Been using this theme since I started using VSCODE and couldn't recommend it more. Keep up the great work! [~ Scott Woeber](https://marketplace.visualstudio.com/items?itemName=idbartosz.darkpp-italic&ssr=false#review-details) 14 | 15 | --- 16 | 17 | ![Theme Screenshot](./images/closeup.png) 18 | ## Comparison 19 | Screenshot of dummy JavaScript/React { **left**: Dark++ Italic, **right**: Dark+ (default) } - zoom in to see the details. 20 | 21 | ![Theme Screenshot](./images/screenshot.png) 22 | ## Install 23 | ### ⚠️ **IMPORTANT NOTES** 24 | --- 25 | - Any major update to VSCode requires re-adding the CSS rules in `workbench.desktop.main.css` 26 | - The first change to the fresh `workbench.desktop.main.css` file will cause VSCode to notify you with a corrupt installation warning - click the gear icon and ignore the message. 27 | --- 28 | ### [+] Theme installation 29 | In VSCode press `ctrl/command + p` to launch the command palette, then run the command: 30 | ``` 31 | ext install idbartosz.darkpp-italic 32 | ``` 33 | 34 | ### [+] Option A: Adding support for **Fira Code iScript**. 35 | 36 | 1. Download [Fira Code iScript](https://github.com/kencrocken/FiraCodeiScript) (free) and copy fonts to your OS font folder. 37 | 2. In VSCode press `ctr + ,` to open `User Settings` then add the following options and save changes. 38 | ``` 39 | { 40 | ... 41 | "workbench.colorTheme": "Dark++ Italic", 42 | "editor.fontFamily": "Fira Code iScript", 43 | "editor.fontLigatures": true, 44 | "terminal.integrated.fontFamily": "monospace", 45 | ... 46 | } 47 | ``` 48 | 3. Tweek font appearance and Copilot hints by editing VSCode internal styles *(optional step)*. 49 | 1. Find in your OS `\resources\app\out\vs\workbench.desktop.main.css` 50 | - MacOS: `/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.css` 51 | - Windows: `C:\Users\\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\workbench.desktop.main.css` 52 | 2. With administrator rights open `workbench.desktop.main.css` and prepend the style below: 53 | ```css 54 | /** 55 | * VSCode will warn you that this change indicates a corrupt installation - click the gear icon and ignore it 56 | * NOTE: whenever you make changes to this file, you must close all VSCode instances to see the changes 57 | */ 58 | 59 | /* Enhance italic fonts styling */ 60 | .mtki { 61 | font-size: 1em; /* use 1.25em to increase italic tokens size, 1.25em might look better on Windows machines */ 62 | font-stretch: ultra-condensed; 63 | } 64 | 65 | 66 | /* BEGIN: Enhance Copilot suggestions styling */ 67 | span.mtk1.ghost-text-decoration, span.mtk1.ghost-text { 68 | color: #B0B0B0 !important; 69 | font-style: normal !important; 70 | } 71 | 72 | :nth-last-child(1 of span.mtk1.ghost-text-decoration)::after { 73 | content: ' {Copilot}'; 74 | color: #FF69B4; 75 | font-style: italic; 76 | } 77 | /* END: Enhance Copilot suggestions styling */ 78 | 79 | /*!-------------------------------------------------------- 80 | * Copyright (C) Microsoft Corporation. All rights reserved. 81 | ... 82 | ``` 83 | 3. Close and reopen VSCode. 84 | 85 | 86 | ### [+] Option B: Adding support for **Fira Code** and **Operator Mono**. 87 | 88 | 1. Download [Fira Code](https://github.com/tonsky/FiraCode) (free), [Operator Mono](https://www.typography.com/fonts/operator/overview/) (paid) and copy fonts to your OS font folder. 89 | 2. In VSCode press `ctr + ,` to open `User Settings` then add the following options and save changes. 90 | ``` 91 | { 92 | ... 93 | "workbench.colorTheme": "Dark++ Italic", 94 | "editor.fontFamily": "Fira Code", 95 | "editor.fontLigatures": true, 96 | ... 97 | } 98 | ``` 99 | 3. Add support for Operator Mono fonts by editing VSCode internal styles **(required step)**. 100 | 1. Find in your OS `\resources\app\out\vs\workbench.desktop.main.css` 101 | - MacOS: `/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.css` 102 | - Windows: `C:\Users\\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\workbench.desktop.main.css` 103 | 2. With administrator rights open `workbench.desktop.main.css` and prepend the style below: 104 | ```css 105 | /** 106 | * VSCode will warn you that this change indicates a corrupt installation - click the gear icon and ignore it 107 | * NOTE: whenever you make changes to this file, you must close all VSCode instances to see the changes 108 | */ 109 | 110 | .mtki { 111 | font-family: Operator Mono; 112 | } 113 | 114 | /* BEGIN: Enhance Copilot suggestions styling */ 115 | span.mtk1.ghost-text-decoration, span.mtk1.ghost-text { 116 | color: #B0B0B0 !important; 117 | font-style: normal !important; 118 | } 119 | 120 | :nth-last-child(1 of span.mtk1.ghost-text-decoration)::after { 121 | content: ' {Copilot}'; 122 | color: #FF69B4; 123 | font-style: italic; 124 | } 125 | /* END: Enhance Copilot suggestions styling */ 126 | 127 | /*!-------------------------------------------------------- 128 | * Copyright (C) Microsoft Corporation. All rights reserved. 129 | ... 130 | ``` 131 | 3. Close and reopen VSCode. 132 | 133 | ## Changelog 134 | You can take a look at the changelog [here](./CHANGELOG.md). 135 | 136 | ## Special thanks to 137 | - You for using and appreciating this theme! ❤️ 138 | - @tonsky for [Fira Code](https://github.com/tonsky/FiraCode) "monospaced font with programming ligatures" 139 | - @kencrocken for [Fira Code iScript](https://github.com/kencrocken/FiraCodeiScript) "A font mashup to be used in code editors, displaying a script typeface for the italic font style" 140 | - all contributors to the topic ["Free alternative to Operator Mono Italic Theme for VSCode"](https://github.com/mikaelbr/open-source-ideas/issues/10) 141 | -------------------------------------------------------------------------------- /themes/Dark++ Italic-color-theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dark++ Italic", 3 | "type": "dark", 4 | "colors": { 5 | "activityBarBadge.background": "#007acc", 6 | "editor.background": "#1e1e1e", 7 | "editor.foreground": "#d4d4d4", 8 | "editor.inactiveSelectionBackground": "#3a3d41", 9 | "editor.selectionHighlightBackground": "#add6ff26", 10 | "editorIndentGuide.activeBackground": "#707070", 11 | "editorIndentGuide.background": "#404040", 12 | "input.placeholderForeground": "#a6a6a6", 13 | "list.dropBackground": "#383b3d", 14 | "menu.background": "#252526", 15 | "menu.foreground": "#cccccc", 16 | "sideBarSectionHeader.background": "#00000000", 17 | "sideBarSectionHeader.border": "#cccccc33", 18 | "sideBarTitle.foreground": "#bbbbbb", 19 | "statusBarItem.remoteBackground": "#16825d", 20 | "statusBarItem.remoteForeground": "#ffffff", 21 | "tab.lastPinnedBorder": "#cccccc33" 22 | }, 23 | "tokenColors": [ 24 | { 25 | "scope": ["meta.embedded", "source.groovy.embedded"], 26 | "settings": { 27 | "foreground": "#D4D4D4" 28 | } 29 | }, 30 | { 31 | "scope": "emphasis", 32 | "settings": { 33 | "fontStyle": "italic" 34 | } 35 | }, 36 | { 37 | "scope": "strong", 38 | "settings": { 39 | "fontStyle": "bold" 40 | } 41 | }, 42 | { 43 | "scope": "header", 44 | "settings": { 45 | "foreground": "#000080" 46 | } 47 | }, 48 | { 49 | "scope": "comment", 50 | "settings": { 51 | "foreground": "#757882" 52 | } 53 | }, 54 | { 55 | "scope": "constant.language", 56 | "settings": { 57 | "foreground": "#FFAB40" 58 | } 59 | }, 60 | { 61 | "scope": [ 62 | "constant.numeric", 63 | "variable.other.enummember", 64 | "keyword.operator.plus.exponent", 65 | "keyword.operator.minus.exponent" 66 | ], 67 | "settings": { 68 | "foreground": "#AEEA00" 69 | } 70 | }, 71 | { 72 | "scope": "constant.regexp", 73 | "settings": { 74 | "foreground": "#646695" 75 | } 76 | }, 77 | { 78 | "scope": "entity.name.tag", 79 | "settings": { 80 | "foreground": "#569CD6" 81 | } 82 | }, 83 | { 84 | "scope": "entity.name.tag.css", 85 | "settings": { 86 | "foreground": "#D7BA7D" 87 | } 88 | }, 89 | { 90 | "scope": "entity.other.attribute-name", 91 | "settings": { 92 | "fontStyle": "italic", 93 | "foreground": "#9CDCFE" 94 | } 95 | }, 96 | { 97 | "scope": [ 98 | "entity.other.attribute-name.class.css", 99 | "entity.other.attribute-name.class.mixin.css", 100 | "entity.other.attribute-name.id.css", 101 | "entity.other.attribute-name.parent-selector.css", 102 | "entity.other.attribute-name.pseudo-class.css", 103 | "entity.other.attribute-name.pseudo-element.css", 104 | "source.css.less entity.other.attribute-name.id", 105 | "entity.other.attribute-name.scss" 106 | ], 107 | "settings": { 108 | "foreground": "#D7BA7D" 109 | } 110 | }, 111 | { 112 | "scope": "invalid", 113 | "settings": { 114 | "foreground": "#F44747" 115 | } 116 | }, 117 | { 118 | "scope": "markup.underline", 119 | "settings": { 120 | "fontStyle": "underline" 121 | } 122 | }, 123 | { 124 | "scope": "markup.bold", 125 | "settings": { 126 | "foreground": "#569CD6", 127 | "fontStyle": "bold" 128 | } 129 | }, 130 | { 131 | "scope": "markup.heading", 132 | "settings": { 133 | "foreground": "#569CD6", 134 | "fontStyle": "bold" 135 | } 136 | }, 137 | { 138 | "scope": "markup.italic", 139 | "settings": { 140 | "fontStyle": "italic" 141 | } 142 | }, 143 | { 144 | "scope": "markup.inserted", 145 | "settings": { 146 | "foreground": "#AEEA00" 147 | } 148 | }, 149 | { 150 | "scope": "markup.deleted", 151 | "settings": { 152 | "foreground": "#CDA48C" 153 | } 154 | }, 155 | { 156 | "scope": "markup.changed", 157 | "settings": { 158 | "foreground": "#569CD6" 159 | } 160 | }, 161 | { 162 | "scope": "punctuation.definition.quote.begin.markdown", 163 | "settings": { 164 | "foreground": "#757882" 165 | } 166 | }, 167 | { 168 | "scope": "punctuation.definition.list.begin.markdown", 169 | "settings": { 170 | "foreground": "#6796E6" 171 | } 172 | }, 173 | { 174 | "scope": "markup.inline.raw", 175 | "settings": { 176 | "foreground": "#CDA48C" 177 | } 178 | }, 179 | { 180 | "scope": "punctuation.definition.tag", 181 | "settings": { 182 | "foreground": "#808080" 183 | } 184 | }, 185 | { 186 | "scope": ["meta.preprocessor", "entity.name.function.preprocessor"], 187 | "settings": { 188 | "foreground": "#569CD6" 189 | } 190 | }, 191 | { 192 | "scope": "meta.preprocessor.string", 193 | "settings": { 194 | "foreground": "#CDA48C" 195 | } 196 | }, 197 | { 198 | "scope": "meta.preprocessor.numeric", 199 | "settings": { 200 | "foreground": "#AEEA00" 201 | } 202 | }, 203 | { 204 | "scope": "meta.structure.dictionary.key.python", 205 | "settings": { 206 | "foreground": "#9CDCFE" 207 | } 208 | }, 209 | { 210 | "scope": "meta.diff.header", 211 | "settings": { 212 | "foreground": "#569CD6" 213 | } 214 | }, 215 | { 216 | "scope": "storage", 217 | "settings": { 218 | "foreground": "#569CD6" 219 | } 220 | }, 221 | { 222 | "scope": "storage.type", 223 | "settings": { 224 | "fontStyle": "italic", 225 | "foreground": "#569CD6" 226 | } 227 | }, 228 | { 229 | "scope": ["storage.modifier", "keyword.operator.noexcept"], 230 | "settings": { 231 | "fontStyle": "italic", 232 | "foreground": "#569CD6" 233 | } 234 | }, 235 | { 236 | "scope": ["string", "meta.embedded.assembly"], 237 | "settings": { 238 | "foreground": "#CDA48C" 239 | } 240 | }, 241 | { 242 | "scope": "string.tag", 243 | "settings": { 244 | "foreground": "#CDA48C" 245 | } 246 | }, 247 | { 248 | "scope": "string.value", 249 | "settings": { 250 | "foreground": "#CDA48C" 251 | } 252 | }, 253 | { 254 | "scope": "string.regexp", 255 | "settings": { 256 | "foreground": "#D16969" 257 | } 258 | }, 259 | { 260 | "scope": [ 261 | "punctuation.definition.template-expression.begin", 262 | "punctuation.definition.template-expression.end", 263 | "punctuation.section.embedded" 264 | ], 265 | "settings": { 266 | "fontStyle": "italic", 267 | "foreground": "#F48FB1" 268 | } 269 | }, 270 | { 271 | "scope": ["meta.template.expression"], 272 | "settings": { 273 | "foreground": "#D4D4D4" 274 | } 275 | }, 276 | { 277 | "scope": [ 278 | "support.type.vendored.property-name", 279 | "support.type.property-name", 280 | "variable.css", 281 | "variable.scss", 282 | "variable.other.less", 283 | "source.coffee.embedded" 284 | ], 285 | "settings": { 286 | "foreground": "#9CDCFE" 287 | } 288 | }, 289 | { 290 | "scope": "keyword", 291 | "settings": { 292 | "foreground": "#569CD6" 293 | } 294 | }, 295 | { 296 | "scope": "keyword.control", 297 | "settings": { 298 | "fontStyle": "italic", 299 | "foreground": "#569CD6" 300 | } 301 | }, 302 | { 303 | "scope": "keyword.operator", 304 | "settings": { 305 | "foreground": "#FFD54F" 306 | } 307 | }, 308 | { 309 | "scope": [ 310 | "keyword.operator.new", 311 | "keyword.operator.expression", 312 | "keyword.operator.cast", 313 | "keyword.operator.sizeof", 314 | "keyword.operator.alignof", 315 | "keyword.operator.typeid", 316 | "keyword.operator.alignas", 317 | "keyword.operator.instanceof", 318 | "keyword.operator.logical.python", 319 | "keyword.operator.wordlike" 320 | ], 321 | "settings": { 322 | "fontStyle": "italic", 323 | "foreground": "#FFD54F" 324 | } 325 | }, 326 | { 327 | "scope": "keyword.other.unit", 328 | "settings": { 329 | "foreground": "#AEEA00" 330 | } 331 | }, 332 | { 333 | "scope": [ 334 | "punctuation.section.embedded.begin.php", 335 | "punctuation.section.embedded.end.php" 336 | ], 337 | "settings": { 338 | "foreground": "#569CD6" 339 | } 340 | }, 341 | { 342 | "scope": "support.function.git-rebase", 343 | "settings": { 344 | "foreground": "#9CDCFE" 345 | } 346 | }, 347 | { 348 | "scope": "constant.sha.git-rebase", 349 | "settings": { 350 | "foreground": "#AEEA00" 351 | } 352 | }, 353 | { 354 | "scope": [ 355 | "storage.modifier.import.java", 356 | "variable.language.wildcard.java", 357 | "storage.modifier.package.java" 358 | ], 359 | "settings": { 360 | "foreground": "#D4D4D4" 361 | } 362 | }, 363 | { 364 | "scope": "variable.language", 365 | "settings": { 366 | "fontStyle": "italic", 367 | "foreground": "#569CD6" 368 | } 369 | }, 370 | { 371 | "scope": [ 372 | "entity.name.function", 373 | "support.function", 374 | "support.constant.handlebars", 375 | "source.powershell variable.other.member", 376 | "entity.name.operator.custom-literal" 377 | ], 378 | "settings": { 379 | "foreground": "#FFECB3" 380 | } 381 | }, 382 | { 383 | "scope": [ 384 | "meta.return-type", 385 | "support.class", 386 | "support.type", 387 | "entity.name.type", 388 | "entity.name.namespace", 389 | "entity.other.attribute", 390 | "entity.name.scope-resolution", 391 | "entity.name.class", 392 | "storage.type.numeric.go", 393 | "storage.type.byte.go", 394 | "storage.type.boolean.go", 395 | "storage.type.string.go", 396 | "storage.type.uintptr.go", 397 | "storage.type.error.go", 398 | "storage.type.rune.go", 399 | "storage.type.cs", 400 | "storage.type.generic.cs", 401 | "storage.type.modifier.cs", 402 | "storage.type.variable.cs", 403 | "storage.type.annotation.java", 404 | "storage.type.generic.java", 405 | "storage.type.java", 406 | "storage.type.object.array.java", 407 | "storage.type.primitive.array.java", 408 | "storage.type.primitive.java", 409 | "storage.type.token.java", 410 | "storage.type.groovy", 411 | "storage.type.annotation.groovy", 412 | "storage.type.parameters.groovy", 413 | "storage.type.generic.groovy", 414 | "storage.type.object.array.groovy", 415 | "storage.type.primitive.array.groovy", 416 | "storage.type.primitive.groovy" 417 | ], 418 | "settings": { 419 | "foreground": "#4EC9B0" 420 | } 421 | }, 422 | { 423 | "scope": [ 424 | "meta.type.cast.expr", 425 | "meta.type.new.expr", 426 | "support.constant.math", 427 | "support.constant.dom", 428 | "support.constant.json", 429 | "entity.other.inherited-class" 430 | ], 431 | "settings": { 432 | "foreground": "#4EC9B0" 433 | } 434 | }, 435 | { 436 | "scope": [ 437 | "keyword.control", 438 | "source.cpp keyword.operator.new", 439 | "keyword.operator.delete", 440 | "keyword.other.using", 441 | "keyword.other.operator", 442 | "entity.name.operator" 443 | ], 444 | "settings": { 445 | "foreground": "#CE93D8" 446 | } 447 | }, 448 | { 449 | "scope": [ 450 | "variable", 451 | "meta.definition.variable.name", 452 | "support.variable", 453 | "entity.name.variable", 454 | "meta.decorator variable.other.readwrite" 455 | ], 456 | "settings": { 457 | "foreground": "#9CDCFE" 458 | } 459 | }, 460 | { 461 | "scope": ["variable.other.constant", "variable.other.enummember"], 462 | "settings": { 463 | "foreground": "#4FC1FF" 464 | } 465 | }, 466 | { 467 | "scope": [ 468 | "meta.object-literal.key", 469 | "meta.object-literal.key entity.name.function", 470 | "variable.other.object.property", 471 | "variable.other.property", 472 | "support.variable.property" 473 | ], 474 | "settings": { 475 | "foreground": "#26c6da" 476 | } 477 | }, 478 | { 479 | "scope": [ 480 | "support.constant.property-value", 481 | "support.constant.font-name", 482 | "support.constant.media-type", 483 | "support.constant.media", 484 | "constant.other.color.rgb-value", 485 | "constant.other.rgb-value", 486 | "support.constant.color" 487 | ], 488 | "settings": { 489 | "foreground": "#CDA48C" 490 | } 491 | }, 492 | { 493 | "scope": [ 494 | "punctuation.definition.group.regexp", 495 | "punctuation.definition.group.assertion.regexp", 496 | "punctuation.definition.character-class.regexp", 497 | "punctuation.character.set.begin.regexp", 498 | "punctuation.character.set.end.regexp", 499 | "keyword.operator.negation.regexp", 500 | "support.other.parenthesis.regexp" 501 | ], 502 | "settings": { 503 | "foreground": "#CDA48C" 504 | } 505 | }, 506 | { 507 | "scope": [ 508 | "constant.character.character-class.regexp", 509 | "constant.other.character-class.set.regexp", 510 | "constant.other.character-class.regexp", 511 | "constant.character.set.regexp" 512 | ], 513 | "settings": { 514 | "foreground": "#D16969" 515 | } 516 | }, 517 | { 518 | "scope": ["keyword.operator.or.regexp", "keyword.control.anchor.regexp"], 519 | "settings": { 520 | "foreground": "#FFECB3" 521 | } 522 | }, 523 | { 524 | "scope": "keyword.operator.quantifier.regexp", 525 | "settings": { 526 | "foreground": "#D7BA7D" 527 | } 528 | }, 529 | { 530 | "scope": "constant.character", 531 | "settings": { 532 | "foreground": "#569CD6" 533 | } 534 | }, 535 | { 536 | "scope": "constant.character.escape", 537 | "settings": { 538 | "foreground": "#D7BA7D" 539 | } 540 | }, 541 | { 542 | "scope": "entity.name.label", 543 | "settings": { 544 | "foreground": "#C8C8C8" 545 | } 546 | }, 547 | { 548 | "scope": "token.info-token", 549 | "settings": { 550 | "foreground": "#6796E6" 551 | } 552 | }, 553 | { 554 | "scope": "token.warn-token", 555 | "settings": { 556 | "foreground": "#CD9731" 557 | } 558 | }, 559 | { 560 | "scope": "token.error-token", 561 | "settings": { 562 | "foreground": "#F44747" 563 | } 564 | }, 565 | { 566 | "scope": "token.debug-token", 567 | "settings": { 568 | "foreground": "#B267E6" 569 | } 570 | }, 571 | { 572 | "name": "@Decorator", 573 | "scope": ["meta.decorator punctuation.decorator"], 574 | "settings": { 575 | "fontStyle": "italic" 576 | } 577 | }, 578 | { 579 | "scope": ["keyword.operator.logical", "punctuation.accessor.optional"], 580 | "settings": { 581 | "foreground": "#EC407A" 582 | } 583 | }, 584 | { 585 | "name": "Control flow return", 586 | "scope": "keyword.control.flow", 587 | "settings": { 588 | "foreground": "#F48FB1" 589 | } 590 | }, 591 | { 592 | "scope": "keyword.generator.asterisk", 593 | "settings": { 594 | "foreground": "#FFD54F" 595 | } 596 | }, 597 | { 598 | "scope": "storage.type.function.arrow", 599 | "settings": { 600 | "fontStyle": "" 601 | } 602 | } 603 | ] 604 | } 605 | --------------------------------------------------------------------------------