├── .gitignore ├── icon.png ├── src ├── themes │ ├── index.js │ ├── AnOldHope.js │ └── AnOldHopeTatooine.js ├── palette.js ├── helpers │ └── shadeColor.js ├── writeTheme.js ├── getColors.js └── getTokenColors.js ├── installLocal.js ├── .vscode └── launch.json ├── README.md ├── vsc-extension-quickstart.md ├── icon.svg ├── package.json └── legacy ├── AnOldHope.tmTheme └── AnOldHopeLight.tmTheme /.gitignore: -------------------------------------------------------------------------------- 1 | themes/** 2 | *.vsix 3 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dustinsanders/an-old-hope-theme-vscode/HEAD/icon.png -------------------------------------------------------------------------------- /src/themes/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | AnOldHope: require('./AnOldHope'), 3 | AnOldHopeTatooine: require('./AnOldHopeTatooine') 4 | } 5 | -------------------------------------------------------------------------------- /src/palette.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | blue: '#4fb4d8', 3 | green: '#78bd65', 4 | orange: '#ef7c2a', 5 | red: '#eb3d54', 6 | yellow: '#e5cd52', 7 | } 8 | -------------------------------------------------------------------------------- /src/themes/AnOldHope.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | background: '#1c1d21', 3 | comment: '#686b78', 4 | foreground: '#cbcdd2', 5 | selection: '#2F3137', 6 | secondary: '#3f4044', 7 | } 8 | -------------------------------------------------------------------------------- /src/themes/AnOldHopeTatooine.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | background: '#1c1d21', 3 | comment: '#686b78', 4 | foreground: '#cbcdd2', 5 | selection: '#2F3137', 6 | secondary: '#3f4044', 7 | 8 | background: '#FDF6E3', 9 | selection: '#e1dcd0', 10 | foreground: '#1c1d21', 11 | secondary: '#DDD6C1', 12 | } 13 | -------------------------------------------------------------------------------- /installLocal.js: -------------------------------------------------------------------------------- 1 | const { execSync } = require('child_process') 2 | const { name, version} = require('./package.json') 3 | 4 | const vsix = `${name}-${version}.vsix` 5 | 6 | const commands = [ 7 | 'npm run build', 8 | 'vsce package', 9 | `code --install-extension ${vsix}`, 10 | ] 11 | 12 | commands.map( 13 | command => execSync(command, { stdio: 'inherit' }) 14 | ) 15 | -------------------------------------------------------------------------------- /.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": "Launch Extension", 7 | "type": "extensionHost", 8 | "request": "launch", 9 | "runtimeExecutable": "${execPath}", 10 | "args": ["--extensionDevelopmentPath=${workspaceRoot}" ] 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # An Old Hope Theme 2 | ### vscode theme inspired by a galaxy far far away... 3 | ### Port of @JesseLeite's [atom syntax](https://github.com/JesseLeite/an-old-hope-syntax-atom) 4 | 5 | ## Palette 6 | ![palette](https://raw.githubusercontent.com/JesseLeite/an-old-hope-syntax-atom/master/palette.jpg) 7 | 8 | ## 4.0.0 9 | * Color Refinements 10 | * Publishing Italic as separate theme 11 | 12 | ## 3.0.0 13 | * The Dark Version now supports theming, the light version will in a future release 14 | 15 | ## More Information 16 | * [Github](https://github.com/dustinsanders/an-old-hope-theme-vscode) 17 | -------------------------------------------------------------------------------- /src/helpers/shadeColor.js: -------------------------------------------------------------------------------- 1 | module.exports = ( col, amt ) => { 2 | var usePound = false; 3 | 4 | if (col[0] == "#") { 5 | col = col.slice(1); 6 | usePound = true; 7 | } 8 | 9 | var num = parseInt(col, 16); 10 | 11 | var r = (num >> 16) + amt; 12 | 13 | if (r > 255) r = 255; 14 | else if (r < 0) r = 0; 15 | 16 | var b = ((num >> 8) & 0x00FF) + amt; 17 | 18 | if (b > 255) b = 255; 19 | else if (b < 0) b = 0; 20 | 21 | var g = (num & 0x0000FF) + amt; 22 | 23 | if (g > 255) g = 255; 24 | else if (g < 0) g = 0; 25 | 26 | return (usePound ? "#" : "") + (g | (b << 8) | (r << 16)).toString(16); 27 | } 28 | -------------------------------------------------------------------------------- /src/writeTheme.js: -------------------------------------------------------------------------------- 1 | const { writeFileSync } = require('fs') 2 | const themes = require('./themes') 3 | const getColors = require('./getColors') 4 | const getTokenColors = require('./getTokenColors') 5 | const palette = require('./palette') 6 | 7 | const makeGetContent = theme => 8 | useItalics => { 9 | const themeMeta = Object.assign(palette, theme) 10 | const colors = getColors(themeMeta) 11 | const tokenColors = getTokenColors(themeMeta, useItalics) 12 | 13 | const content = { 14 | colors, 15 | tokenColors, 16 | } 17 | 18 | return JSON.stringify(content, null, 2) 19 | } 20 | 21 | const writeTheme = themeKey => { 22 | const theme = themes[themeKey] 23 | const getContent = makeGetContent(theme) 24 | const normal = getContent(false) 25 | const italic = getContent(true) 26 | 27 | writeFileSync(`./themes/${themeKey}.json`, normal) 28 | writeFileSync(`./themes/${themeKey}Italic.json`, italic) 29 | } 30 | 31 | writeTheme('AnOldHope') 32 | -------------------------------------------------------------------------------- /vsc-extension-quickstart.md: -------------------------------------------------------------------------------- 1 | # Welcome to your VS Code Extension 2 | 3 | ## What's in the folder 4 | * This folder contains all of the files necessary for your extension 5 | * `package.json` - this is the manifest file that defines the location of the theme file 6 | and specifies the base theme of the theme 7 | * `themes/AnOldHope.tmTheme` - the color theme definition file 8 | 9 | ## Get up and running straight away 10 | * press `F5` to open a new window with your extension loaded 11 | * open `File > Preferences > Color Themes` and pick your color theme 12 | 13 | ## Make changes 14 | * you can relaunch the extension from the debug toolbar after making changes to the files listed above 15 | * you can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes 16 | 17 | ## Install your extension 18 | * To start using your extension with Visual Studio Code copy it into the /.vscode/extensions folder and restart Code. 19 | * To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension. -------------------------------------------------------------------------------- /icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 14 | 15 | 16 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "an-old-hope-theme-vscode", 3 | "displayName": "An Old Hope Theme", 4 | "description": "vscode theme inspired by a galaxy far far away...", 5 | "version": "4.4.0", 6 | "publisher": "dustinsanders", 7 | "scripts": { 8 | "prebuild": "rm -rf themes && mkdir themes", 9 | "build": "node ./src/writeTheme.js", 10 | "install:local": "node ./installLocal.js" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git@github.com:dustinsanders/an-old-hope-theme-vscode.git" 15 | }, 16 | "engines": { 17 | "vscode": "^1.0.0" 18 | }, 19 | "icon": "icon.png", 20 | "categories": [ 21 | "Themes" 22 | ], 23 | "contributes": { 24 | "themes": [ 25 | { 26 | "label": "An Old Hope", 27 | "uiTheme": "vs-dark", 28 | "path": "./themes/AnOldHope.json" 29 | }, 30 | { 31 | "label": "An Old Hope Italic", 32 | "uiTheme": "vs-dark", 33 | "path": "./themes/AnOldHopeItalic.json" 34 | }, 35 | { 36 | "label": "An Old Hope Classic", 37 | "uiTheme": "vs-dark", 38 | "path": "./legacy/AnOldHope.tmTheme" 39 | }, 40 | { 41 | "label": "An Old Hope Light", 42 | "uiTheme": "vs", 43 | "path": "./legacy/AnOldHopeLight.tmTheme" 44 | } 45 | ] 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/getColors.js: -------------------------------------------------------------------------------- 1 | const shadeColor = require('./helpers/shadeColor') 2 | 3 | module.exports = ({ 4 | background, 5 | blue, 6 | comment, 7 | foreground, 8 | green, 9 | orange, 10 | red, 11 | secondary, 12 | selection, 13 | yellow, 14 | }) => ({ 15 | 'contrastActiveBorder': null, 16 | 'contrastBorder': background, 17 | 'focusBorder': background, 18 | 'foreground': foreground, 19 | 'selection.background': null, 20 | 'errorForeground': red, 21 | 'button.background': foreground, 22 | 'button.foreground': background, 23 | 'button.hoverBackground': foreground, 24 | 'dropdown.background': background, 25 | 'dropdown.border': secondary, 26 | 'dropdown.foreground': foreground, 27 | 'input.background': null, 28 | 'input.border': comment, 29 | 'input.foreground': foreground, 30 | 'input.placeholderForeground': foreground, 31 | 'inputOption.activeBorder': foreground, 32 | 'inputValidation.errorBackground': red, 33 | 'inputValidation.errorBorder': red, 34 | 'inputValidation.infoBackground': blue, 35 | 'inputValidation.infoBorder': blue, 36 | 'inputValidation.warningBackground': orange, 37 | 'inputValidation.warningBorder': orange, 38 | 'scrollbar.shadow': null, 39 | 'scrollbarSlider.activeBackground': secondary, 40 | 'scrollbarSlider.background': `${secondary}80`, 41 | 'scrollbarSlider.hoverBackground': secondary, 42 | 'badge.background': background, 43 | 'badge.foreground': foreground, 44 | 'progressBar.background': blue, 45 | 'list.activeSelectionBackground': secondary, 46 | 'list.activeSelectionForeground': foreground, 47 | 'list.dropBackground': null, 48 | 'list.errorForeground': orange, 49 | 'list.warningForeground': red, 50 | 'list.focusBackground': shadeColor(secondary, 10), 51 | 'list.focusForeground': foreground, 52 | 'list.highlightForeground': foreground, 53 | 'list.hoverBackground': shadeColor(secondary, 10), 54 | 'list.hoverForeground': foreground, 55 | 'list.inactiveSelectionBackground': secondary, 56 | 'list.inactiveSelectionForeground': foreground, 57 | 'activityBar.background': background, 58 | 'activityBar.dropBackground': blue, 59 | 'activityBar.foreground': shadeColor(secondary, 20), 60 | 'activityBar.border': background, 61 | 'activityBarBadge.background': blue, 62 | 'activityBarBadge.foreground': background, 63 | 'sideBar.background': shadeColor(background, -7.5), 64 | 'sideBar.foreground': foreground, 65 | 'sideBar.border': background, 66 | 'sideBarTitle.foreground': foreground, 67 | 'sideBarSectionHeader.background': secondary, 68 | 'sideBarSectionHeader.foreground': foreground, 69 | 'editorGroup.background': null, 70 | 'editorGroup.border': null, 71 | 'editorGroup.dropBackground': null, 72 | 'editorGroupHeader.noTabsBackground': null, 73 | 'editorGroupHeader.tabsBackground': background, 74 | 'editorGroupHeader.tabsBorder': background, 75 | 'tab.activeBackground': shadeColor(background, 5), 76 | 'tab.activeForeground': foreground, 77 | 'tab.border': background, 78 | 'tab.activeBorder': comment, 79 | 'tab.unfocusedActiveBorder': background, 80 | 'tab.inactiveBackground': background, 81 | 'tab.inactiveForeground': comment, 82 | 'tab.unfocusedActiveForeground': null, 83 | 'tab.unfocusedInactiveForeground': null, 84 | 'editor.background': background, 85 | 'editor.foreground': foreground, 86 | 'editorLineNumber.foreground': comment, 87 | 'editorCursor.foreground': blue, 88 | 'editor.selectionBackground': selection, 89 | 'editor.selectionHighlightBackground': selection, 90 | 'editor.inactiveSelectionBackground': shadeColor(selection, -10), 91 | 'editor.wordHighlightBackground': selection, 92 | 'editor.wordHighlightStrongBackground': selection, 93 | 'editor.findMatchBackground': null, 94 | 'editor.findMatchHighlightBackground': selection, 95 | 'editor.findRangeHighlightBackground': selection, 96 | 'editor.hoverHighlightBackground': selection, 97 | 'editor.lineHighlightBackground': selection, 98 | 'editor.lineHighlightBorder': selection, 99 | 'editorLink.activeForeground': shadeColor(blue, 30), 100 | 'editor.rangeHighlightBackground': selection, 101 | 'editorWhitespace.foreground': null, 102 | 'editorIndentGuide.activeBackground': comment, 103 | 'editorIndentGuide.background': secondary, 104 | 'editorRuler.foreground': comment, 105 | 'editorCodeLens.foreground': null, 106 | 'editorBracketMatch.background': null, 107 | 'editorBracketMatch.border': null, 108 | 'editorOverviewRuler.currentContentForeground': blue, 109 | 'editorOverviewRuler.incomingContentForeground': blue, 110 | 'editorOverviewRuler.commonContentForeground': blue, 111 | 'editorOverviewRuler.addedForeground': green, 112 | 'editorOverviewRuler.deletedForeground': red, 113 | 'editorOverviewRuler.errorForeground': red, 114 | 'editorOverviewRuler.modifiedForeground': yellow, 115 | 'editorOverviewRuler.warningForeground': orange, 116 | 'editorError.foreground': red, 117 | 'editorError.border': null, 118 | 'editorWarning.foreground': green, 119 | 'editorWarning.border': null, 120 | 'editorGutter.background': null, 121 | 'editorGutter.modifiedBackground': yellow, 122 | 'editorGutter.addedBackground': green, 123 | 'editorGutter.deletedBackground': red, 124 | 'diffEditor.insertedTextBackground': `${green}25`, 125 | 'diffEditor.insertedTextBorder': `${green}25`, 126 | 'diffEditor.removedTextBackground': `${red}25`, 127 | 'diffEditor.removedTextBorder': `${red}25`, 128 | 'editorWidget.background': background, 129 | 'editorWidget.border': null, 130 | 'editorSuggestWidget.background': null, 131 | 'editorSuggestWidget.border': null, 132 | 'editorSuggestWidget.foreground': null, 133 | 'editorSuggestWidget.highlightForeground': null, 134 | 'editorSuggestWidget.selectedBackground': null, 135 | 'editorHoverWidget.background': background, 136 | 'editorHoverWidget.border': blue, 137 | 'debugExceptionWidget.background': background, 138 | 'debugExceptionWidget.border': blue, 139 | 'editorMarkerNavigation.background': background, 140 | 'editorMarkerNavigationError.background': red, 141 | 'editorMarkerNavigationWarning.background': orange, 142 | 'peekView.border': blue, 143 | 'peekViewEditor.background': null, 144 | 'peekViewEditor.matchHighlightBackground': selection, 145 | 'peekViewResult.background': null, 146 | 'peekViewResult.fileForeground': foreground, 147 | 'peekViewResult.lineForeground': foreground, 148 | 'peekViewResult.matchHighlightBackground': selection, 149 | 'peekViewResult.selectionBackground': null, 150 | 'peekViewResult.selectionForeground': foreground, 151 | 'peekViewTitle.background': background, 152 | 'peekViewTitleDescription.foreground': null, 153 | 'peekViewTitleLabel.foreground': foreground, 154 | 'merge.currentHeaderBackground': blue, 155 | 'merge.currentContentBackground': null, 156 | 'merge.incomingHeaderBackground': blue, 157 | 'merge.incomingContentBackground': null, 158 | 'merge.border': null, 159 | 'panel.background': background, 160 | 'panel.border': secondary, 161 | 'panelTitle.activeBorder': blue, 162 | 'panelTitle.activeForeground': foreground, 163 | 'panelTitle.inactiveForeground': null, 164 | 'statusBar.background': background, 165 | 'statusBar.foreground': comment, 166 | 'statusBar.border': background, 167 | 'statusBar.debuggingBackground': null, 168 | 'statusBar.debuggingForeground': null, 169 | 'statusBar.debuggingBorder': null, 170 | 'statusBar.noFolderForeground': null, 171 | 'statusBar.noFolderBackground': background, 172 | 'statusBar.noFolderBorder': null, 173 | 'statusBarItem.activeBackground': null, 174 | 'statusBarItem.hoverBackground': null, 175 | 'statusBarItem.prominentBackground': null, 176 | 'statusBarItem.prominentHoverBackground': null, 177 | 'titleBar.activeBackground': null, 178 | 'titleBar.activeForeground': foreground, 179 | 'titleBar.inactiveBackground': null, 180 | 'titleBar.inactiveForeground': null, 181 | 'notification.background': background, 182 | 'notification.foreground': foreground, 183 | 'notification.buttonForeground': background, 184 | 'notification.infoBackground': blue, 185 | 'notification.infoForeground': background, 186 | 'notification.warningBackground': orange, 187 | 'notification.warningForeground': background, 188 | 'notification.errorBackground': red, 189 | 'notification.errorForeground': background, 190 | 'extensionButton.prominentForeground': background, 191 | 'extensionButton.prominentBackground': foreground, 192 | 'extensionButton.prominentHoverBackground': foreground, 193 | 'pickerGroup.foreground': blue, 194 | 'pickerGroup.border': null, 195 | 'terminal.ansiWhite': foreground, 196 | 'terminal.ansiBlack': shadeColor(comment, 25), 197 | 'terminal.ansiBlue': blue, 198 | 'terminal.ansiCyan': blue, 199 | 'terminal.ansiGreen': green, 200 | 'terminal.ansiMagenta': red, 201 | 'terminal.ansiRed': red, 202 | 'terminal.ansiYellow': yellow, 203 | 'terminal.ansiBrightWhite': foreground, 204 | 'terminal.ansiBrightBlack': shadeColor(comment, 25), 205 | 'terminal.ansiBrightBlue': blue, 206 | 'terminal.ansiBrightCyan': blue, 207 | 'terminal.ansiBrightGreen': green, 208 | 'terminal.ansiBrightMagenta': green, 209 | 'terminal.ansiBrightRed': red, 210 | 'terminal.ansiBrightYellow': yellow, 211 | 'debugToolBar.background': background, 212 | 'welcomePage.buttonBackground': null, 213 | 'welcomePage.buttonHoverBackground': null, 214 | 'walkThrough.embeddedEditorBackground': null, 215 | 'textLink.foreground': blue, 216 | 'textLink.activeForeground': shadeColor(blue, 30), 217 | 'gitDecoration.modifiedResourceForeground': yellow, 218 | 'gitDecoration.deletedResourceForeground': red, 219 | 'gitDecoration.untrackedResourceForeground': green, 220 | 'textPreformat.foreground': yellow, 221 | }) 222 | -------------------------------------------------------------------------------- /legacy/AnOldHope.tmTheme: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | name 10 | AnOldHope 11 | settings 12 | 13 | 14 | settings 15 | 16 | background 17 | #1C1D21 18 | caret 19 | #4fb4d8 20 | foreground 21 | #cbcdd2 22 | invisibles 23 | #3B3A32 24 | lineHighlight 25 | #2F3137 26 | selection 27 | #2F3137 28 | 29 | 30 | 31 | name 32 | Comment 33 | scope 34 | comment 35 | settings 36 | 37 | foreground 38 | #686B78 39 | 40 | 41 | 42 | name 43 | String 44 | scope 45 | string 46 | settings 47 | 48 | foreground 49 | #4FB4D8 50 | 51 | 52 | 53 | name 54 | Number 55 | scope 56 | constant.numeric 57 | settings 58 | 59 | foreground 60 | #EF7C2A 61 | 62 | 63 | 64 | name 65 | Built-in constant 66 | scope 67 | constant.language 68 | settings 69 | 70 | foreground 71 | #EF7C2A 72 | 73 | 74 | 75 | name 76 | User-defined constant 77 | scope 78 | constant.character, constant.other 79 | settings 80 | 81 | foreground 82 | #EF7C2A 83 | 84 | 85 | 86 | name 87 | Variable 88 | scope 89 | variable 90 | settings 91 | 92 | fontStyle 93 | 94 | foreground 95 | #CBCDD2 96 | 97 | 98 | 99 | name 100 | Keyword 101 | scope 102 | keyword 103 | settings 104 | 105 | foreground 106 | #78BD65 107 | 108 | 109 | 110 | name 111 | Storage 112 | scope 113 | storage 114 | settings 115 | 116 | fontStyle 117 | 118 | foreground 119 | #EB3D54 120 | 121 | 122 | 123 | name 124 | Storage type 125 | scope 126 | storage.type 127 | settings 128 | 129 | foreground 130 | #EB3D54 131 | fontStyle 132 | italic 133 | 134 | 135 | 136 | name 137 | Class name 138 | scope 139 | entity.name.class 140 | settings 141 | 142 | foreground 143 | #E5CD52 144 | 145 | 146 | 147 | name 148 | Inherited class 149 | scope 150 | entity.other.inherited-class 151 | settings 152 | 153 | fontStyle 154 | italic 155 | foreground 156 | #4FB4D8 157 | 158 | 159 | 160 | name 161 | Function name 162 | scope 163 | entity.name.function 164 | settings 165 | 166 | fontStyle 167 | 168 | foreground 169 | #E5CD52 170 | 171 | 172 | 173 | name 174 | Function argument 175 | scope 176 | variable.parameter 177 | settings 178 | 179 | foreground 180 | #E5CD52 181 | fontStyle 182 | italic 183 | 184 | 185 | 186 | name 187 | Tag name 188 | scope 189 | entity.name.tag 190 | settings 191 | 192 | fontStyle 193 | 194 | foreground 195 | #EB3D54 196 | 197 | 198 | 199 | name 200 | Tag attribute 201 | scope 202 | entity.other.attribute-name 203 | settings 204 | 205 | fontStyle 206 | 207 | foreground 208 | #E5CD52 209 | 210 | 211 | 212 | name 213 | Library function 214 | scope 215 | support.function 216 | settings 217 | 218 | fontStyle 219 | 220 | foreground 221 | #E5CD52 222 | 223 | 224 | 225 | name 226 | Library constant 227 | scope 228 | support.constant 229 | settings 230 | 231 | fontStyle 232 | 233 | foreground 234 | #EF7C2A 235 | 236 | 237 | 238 | name 239 | Library class/type 240 | scope 241 | support.type, support.class 242 | settings 243 | 244 | foreground 245 | #eb3d54 246 | 247 | 248 | 249 | name 250 | Library variable 251 | scope 252 | support.other.variable 253 | settings 254 | 255 | foreground 256 | #CBCDD2 257 | 258 | 259 | 260 | name 261 | Invalid 262 | scope 263 | invalid 264 | settings 265 | 266 | background 267 | 268 | fontStyle 269 | italic bold underline 270 | foreground 271 | #EB3D54 272 | 273 | 274 | 275 | name 276 | Invalid deprecated 277 | scope 278 | invalid.deprecated 279 | settings 280 | 281 | background 282 | 283 | foreground 284 | #EB3D54 285 | fontStyle 286 | bold italic underline 287 | 288 | 289 | 290 | name 291 | Lists 292 | scope 293 | markup.list 294 | settings 295 | 296 | foreground 297 | #EB3D54 298 | 299 | 300 | 301 | name 302 | Headings 303 | scope 304 | markup.heading punctuation.definition.heading, entity.name.section 305 | settings 306 | 307 | fontStyle 308 | 309 | foreground 310 | #4FB4D8 311 | 312 | 313 | 314 | name 315 | Support 316 | scope 317 | text.html.markdown meta.paragraph meta.link.inline, text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.begin.markdown, text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.end.markdown 318 | settings 319 | 320 | foreground 321 | #78bd65 322 | 323 | 324 | 325 | name 326 | Quotes 327 | scope 328 | markup.quote 329 | settings 330 | 331 | foreground 332 | #78bd65 333 | 334 | 335 | 336 | name 337 | Bold 338 | scope 339 | markup.bold 340 | settings 341 | 342 | fontStyle 343 | bold 344 | foreground 345 | #e5cd52 346 | 347 | 348 | 349 | name 350 | Italic 351 | scope 352 | markup.italic, punctuation.definition.italic 353 | settings 354 | 355 | fontStyle 356 | italic 357 | foreground 358 | #ef7c2a 359 | 360 | 361 | 362 | name 363 | Link Url 364 | scope 365 | meta.link 366 | settings 367 | 368 | foreground 369 | #78BD65 370 | 371 | 372 | 373 | uuid 374 | D8D5E82E-3D5B-46B5-B38E-8C841C21347D 375 | colorSpaceName 376 | sRGB 377 | semanticClass 378 | theme.dark.an_old_hope 379 | author 380 | Dustin Sanders 381 | 382 | 383 | -------------------------------------------------------------------------------- /legacy/AnOldHopeLight.tmTheme: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | name 10 | AnOldHopeLight 11 | settings 12 | 13 | 14 | settings 15 | 16 | background 17 | #FFFFFF 18 | caret 19 | #4FB4D8 20 | foreground 21 | #1C1D21 22 | invisibles 23 | #c9c9cf 24 | lineHighlight 25 | #EBEBEB 26 | selection 27 | #EBEBEB 28 | 29 | 30 | 31 | name 32 | Comment 33 | scope 34 | comment 35 | settings 36 | 37 | foreground 38 | #686B78 39 | 40 | 41 | 42 | name 43 | String 44 | scope 45 | string 46 | settings 47 | 48 | foreground 49 | #4FB4D8 50 | 51 | 52 | 53 | name 54 | Number 55 | scope 56 | constant.numeric 57 | settings 58 | 59 | foreground 60 | #EF7C2A 61 | 62 | 63 | 64 | name 65 | Built-in constant 66 | scope 67 | constant.language 68 | settings 69 | 70 | foreground 71 | #EF7C2A 72 | 73 | 74 | 75 | name 76 | User-defined constant 77 | scope 78 | constant.character, constant.other 79 | settings 80 | 81 | foreground 82 | #EF7C2A 83 | 84 | 85 | 86 | name 87 | Variable 88 | scope 89 | variable 90 | settings 91 | 92 | fontStyle 93 | 94 | foreground 95 | #1C1D21 96 | 97 | 98 | 99 | name 100 | Keyword 101 | scope 102 | keyword 103 | settings 104 | 105 | foreground 106 | #78BD65 107 | 108 | 109 | 110 | name 111 | Storage 112 | scope 113 | storage 114 | settings 115 | 116 | fontStyle 117 | 118 | foreground 119 | #EB3D54 120 | 121 | 122 | 123 | name 124 | Storage type 125 | scope 126 | storage.type 127 | settings 128 | 129 | foreground 130 | #EB3D54 131 | fontStyle 132 | italic 133 | 134 | 135 | 136 | name 137 | Class name 138 | scope 139 | entity.name.class 140 | settings 141 | 142 | foreground 143 | #E5CD52 144 | 145 | 146 | 147 | name 148 | Inherited class 149 | scope 150 | entity.other.inherited-class 151 | settings 152 | 153 | fontStyle 154 | italic 155 | foreground 156 | #4FB4D8 157 | 158 | 159 | 160 | name 161 | Function name 162 | scope 163 | entity.name.function 164 | settings 165 | 166 | fontStyle 167 | 168 | foreground 169 | #E5CD52 170 | 171 | 172 | 173 | name 174 | Function argument 175 | scope 176 | variable.parameter 177 | settings 178 | 179 | foreground 180 | #E5CD52 181 | fontStyle 182 | italic 183 | 184 | 185 | 186 | name 187 | Tag name 188 | scope 189 | entity.name.tag 190 | settings 191 | 192 | fontStyle 193 | 194 | foreground 195 | #EB3D54 196 | 197 | 198 | 199 | name 200 | Tag attribute 201 | scope 202 | entity.other.attribute-name 203 | settings 204 | 205 | fontStyle 206 | 207 | foreground 208 | #E5CD52 209 | 210 | 211 | 212 | name 213 | Library function 214 | scope 215 | support.function 216 | settings 217 | 218 | fontStyle 219 | 220 | foreground 221 | #E5CD52 222 | 223 | 224 | 225 | name 226 | Library constant 227 | scope 228 | support.constant 229 | settings 230 | 231 | fontStyle 232 | 233 | foreground 234 | #EF7C2A 235 | 236 | 237 | 238 | name 239 | Library class/type 240 | scope 241 | support.type, support.class 242 | settings 243 | 244 | foreground 245 | #eb3d54 246 | 247 | 248 | 249 | name 250 | Library variable 251 | scope 252 | support.other.variable 253 | settings 254 | 255 | foreground 256 | #1C1D21 257 | 258 | 259 | 260 | name 261 | Invalid 262 | scope 263 | invalid 264 | settings 265 | 266 | background 267 | 268 | fontStyle 269 | italic bold underline 270 | foreground 271 | #EB3D54 272 | 273 | 274 | 275 | name 276 | Invalid deprecated 277 | scope 278 | invalid.deprecated 279 | settings 280 | 281 | background 282 | 283 | foreground 284 | #EB3D54 285 | fontStyle 286 | bold italic underline 287 | 288 | 289 | 290 | name 291 | Lists 292 | scope 293 | markup.list 294 | settings 295 | 296 | foreground 297 | #EB3D54 298 | 299 | 300 | 301 | name 302 | Headings 303 | scope 304 | markup.heading punctuation.definition.heading, entity.name.section 305 | settings 306 | 307 | fontStyle 308 | 309 | foreground 310 | #4FB4D8 311 | 312 | 313 | 314 | name 315 | Support 316 | scope 317 | text.html.markdown meta.paragraph meta.link.inline, text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.begin.markdown, text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.end.markdown 318 | settings 319 | 320 | foreground 321 | #78bd65 322 | 323 | 324 | 325 | name 326 | Quotes 327 | scope 328 | markup.quote 329 | settings 330 | 331 | foreground 332 | #78bd65 333 | 334 | 335 | 336 | name 337 | Bold 338 | scope 339 | markup.bold 340 | settings 341 | 342 | fontStyle 343 | bold 344 | foreground 345 | #e5cd52 346 | 347 | 348 | 349 | name 350 | Italic 351 | scope 352 | markup.italic, punctuation.definition.italic 353 | settings 354 | 355 | fontStyle 356 | italic 357 | foreground 358 | #ef7c2a 359 | 360 | 361 | 362 | name 363 | Link Url 364 | scope 365 | meta.link 366 | settings 367 | 368 | foreground 369 | #78BD65 370 | 371 | 372 | 373 | uuid 374 | D8D5E82E-3D5B-46B5-B38E-8C841C21347D 375 | colorSpaceName 376 | sRGB 377 | semanticClass 378 | theme.dark.an_old_hope 379 | author 380 | Dustin Sanders 381 | 382 | 383 | -------------------------------------------------------------------------------- /src/getTokenColors.js: -------------------------------------------------------------------------------- 1 | module.exports = ( 2 | { 3 | background, 4 | blue, 5 | comment, 6 | foreground, 7 | green, 8 | orange, 9 | red, 10 | yellow, 11 | }, 12 | useItalics, 13 | ) => [ 14 | { 15 | 'name': 'Global settings', 16 | 'settings': { 17 | 'background': background, 18 | 'foreground': foreground 19 | } 20 | }, 21 | { 22 | 'name': 'Comment', 23 | 'scope': 'comment', 24 | 'settings': { 25 | 'foreground': comment 26 | } 27 | }, 28 | { 29 | 'name': 'String', 30 | 'scope': 'string', 31 | 'settings': { 32 | 'foreground': blue 33 | } 34 | }, 35 | { 36 | 'name': 'String Quoted', 37 | 'scope': 'string.quoted', 38 | 'settings': { 39 | 'foreground': blue 40 | } 41 | }, 42 | { 43 | 'name': 'Support Constant Math', 44 | 'scope': 'support.constant.math', 45 | 'settings': { 46 | 'foreground': yellow 47 | } 48 | }, 49 | { 50 | 'name': 'Number', 51 | 'scope': [ 52 | 'constant.numeric', 53 | 'constant.character.numeric' 54 | ], 55 | 'settings': { 56 | 'foreground': orange 57 | } 58 | }, 59 | { 60 | 'name': 'Built-in constant', 61 | 'scope': [ 62 | 'constant.language', 63 | 'punctuation.definition.constant', 64 | 'variable.other.constant' 65 | ], 66 | 'settings': { 67 | 'foreground': foreground 68 | } 69 | }, 70 | { 71 | 'name': 'User-defined constant', 72 | 'scope': [ 73 | 'constant.character', 74 | 'constant.other' 75 | ], 76 | 'settings': { 77 | 'foreground': yellow 78 | } 79 | }, 80 | { 81 | 'name': 'Constant Character Escape', 82 | 'scope': 'constant.character.escape', 83 | 'settings': { 84 | 'foreground': orange 85 | } 86 | }, 87 | { 88 | 'name': 'RegExp String', 89 | 'scope': [ 90 | 'string.regexp', 91 | 'string.regexp keyword.other' 92 | ], 93 | 'settings': { 94 | 'foreground': blue 95 | } 96 | }, 97 | { 98 | 'name': 'Comma in functions', 99 | 'scope': 'meta.function punctuation.separator.comma', 100 | 'settings': { 101 | 'foreground': foreground 102 | } 103 | }, 104 | { 105 | 'name': 'Variable', 106 | 'scope': 'variable', 107 | 'settings': { 108 | 'foreground': yellow 109 | } 110 | }, 111 | { 112 | 'name': 'Keyword', 113 | 'scope': [ 114 | 'punctuation.accessor', 115 | 'keyword' 116 | ], 117 | 'settings': { 118 | 'foreground': green 119 | } 120 | }, 121 | { 122 | 'name': 'Storage', 123 | 'scope': 'storage', 124 | 'settings': { 125 | 'foreground': green 126 | } 127 | }, 128 | { 129 | 'name': 'Storage type', 130 | 'scope': [ 131 | 'storage.type', 132 | 'meta.var.expr storage.type', 133 | 'meta.class meta.method.declaration meta.var.expr storage.type.js' 134 | ], 135 | 'settings': { 136 | 'foreground': red 137 | } 138 | }, 139 | { 140 | 'name': 'Class name', 141 | 'scope': [ 142 | 'entity.name.class', 143 | 'meta.class entity.name.type.class' 144 | ], 145 | 'settings': { 146 | 'foreground': yellow 147 | } 148 | }, 149 | { 150 | 'name': 'Inherited class', 151 | 'scope': 'entity.other.inherited-class', 152 | 'settings': { 153 | 'foreground': blue 154 | } 155 | }, 156 | { 157 | 'name': 'Function name', 158 | 'scope': 'entity.name.function', 159 | 'settings': { 160 | 'foreground': yellow 161 | } 162 | }, 163 | { 164 | 'name': 'Function Parameters', 165 | 'scope': 'variable.parameter', 166 | 'settings': { 167 | 'foreground': blue 168 | } 169 | }, 170 | { 171 | 'name': 'Meta Tag', 172 | 'scope': [ 173 | 'punctuation.definition.tag', 174 | 'meta.tag' 175 | ], 176 | 'settings': { 177 | 'foreground': foreground 178 | } 179 | }, 180 | { 181 | 'name': 'HTML Tag names', 182 | 'scope': [ 183 | 'support.class.component', 184 | 'meta.tag.other.html', 185 | 'meta.tag.other.js', 186 | 'meta.tag.other.tsx', 187 | 'meta.tag.tsx', 188 | 'meta.tag.html' 189 | ], 190 | 'settings': { 191 | 'foreground': red 192 | } 193 | }, 194 | { 195 | 'name': 'HTML Tag names', 196 | 'scope': [ 197 | 'entity.name.tag.tsx', 198 | 'entity.name.tag.js', 199 | 'entity.name.tag', 200 | ], 201 | 'settings': { 202 | 'foreground': red 203 | } 204 | }, 205 | { 206 | 'name': 'Tag attribute', 207 | 'scope': 'entity.other.attribute-name', 208 | 'settings': { 209 | 'foreground': yellow 210 | } 211 | }, 212 | { 213 | 'name': 'Entity Name Tag Custom', 214 | 'scope': 'entity.name.tag.custom', 215 | 'settings': { 216 | 'foreground': yellow 217 | } 218 | }, 219 | { 220 | 'name': 'Library (function & constant)', 221 | 'scope': [ 222 | 'support.function', 223 | 'support.constant' 224 | ], 225 | 'settings': { 226 | 'foreground': yellow 227 | } 228 | }, 229 | { 230 | 'name': 'Support Constant Property Value meta', 231 | 'scope': 'support.constant.meta.property-value', 232 | 'settings': { 233 | 'foreground': orange 234 | } 235 | }, 236 | { 237 | 'name': 'Library class/type', 238 | 'scope': [ 239 | 'support.type', 240 | 'support.class' 241 | ], 242 | 'settings': { 243 | 'foreground': yellow 244 | } 245 | }, 246 | { 247 | 'name': 'Support Variable DOM', 248 | 'scope': 'support.variable.dom', 249 | 'settings': { 250 | 'foreground': yellow 251 | } 252 | }, 253 | { 254 | 'name': 'Invalid', 255 | 'scope': 'invalid', 256 | 'settings': { 257 | 'background': red, 258 | 'foreground': foreground 259 | } 260 | }, 261 | { 262 | 'name': 'Invalid deprecated', 263 | 'scope': 'invalid.deprecated', 264 | 'settings': { 265 | 'foreground': foreground, 266 | 'background': red, 267 | } 268 | }, 269 | { 270 | 'name': 'Keyword Operator', 271 | 'scope': 'keyword.operator', 272 | 'settings': { 273 | 'foreground': green 274 | } 275 | }, 276 | { 277 | 'name': 'Keyword Operator Relational', 278 | 'scope': 'keyword.operator.relational', 279 | 'settings': { 280 | 'foreground': green 281 | } 282 | }, 283 | { 284 | 'name': 'Keyword Operator Assignment', 285 | 'scope': 'keyword.operator.assignment', 286 | 'settings': { 287 | 'foreground': green 288 | } 289 | }, 290 | { 291 | 'name': 'Double-Slashed Comment', 292 | 'scope': 'comment.line.double-slash', 293 | 'settings': { 294 | 'foreground': comment 295 | } 296 | }, 297 | { 298 | 'name': 'Null', 299 | 'scope': 'constant.language.null', 300 | 'settings': { 301 | 'foreground': orange 302 | } 303 | }, 304 | { 305 | 'name': 'Meta Brace', 306 | 'scope': 'meta.brace', 307 | 'settings': { 308 | 'foreground': foreground 309 | } 310 | }, 311 | { 312 | 'name': 'Meta Delimiter Period', 313 | 'scope': 'meta.delimiter.period', 314 | 'settings': { 315 | 'foreground': green 316 | } 317 | }, 318 | { 319 | 'name': 'Boolean', 320 | 'scope': 'constant.language.boolean', 321 | 'settings': { 322 | 'foreground': orange 323 | } 324 | }, 325 | { 326 | 'name': 'Object Comma', 327 | 'scope': 'object.comma', 328 | 'settings': { 329 | 'foreground': foreground 330 | } 331 | }, 332 | { 333 | 'name': 'Variable Parameter Function', 334 | 'scope': 'variable.parameter.function', 335 | 'settings': { 336 | 'foreground': orange 337 | } 338 | }, 339 | { 340 | 'name': 'Support Type Property Name & entity name tags', 341 | 'scope': [ 342 | 'support.type.vendored.property-name', 343 | 'support.constant.vendored.property-value', 344 | 'support.type.property-name', 345 | 'meta.property-list entity.name.tag' 346 | ], 347 | 'settings': { 348 | 'foreground': blue 349 | } 350 | }, 351 | { 352 | 'name': 'Entity Name tag reference in stylesheets', 353 | 'scope': 'meta.property-list entity.name.tag.reference', 354 | 'settings': { 355 | 'foreground': red 356 | } 357 | }, 358 | { 359 | 'name': 'Constant Other Color RGB Value Punctuation Definition Constant', 360 | 'scope': 'constant.other.color.rgb-value punctuation.definition.constant', 361 | 'settings': { 362 | 'foreground': orange 363 | } 364 | }, 365 | { 366 | 'name': 'Constant Other Color', 367 | 'scope': 'constant.other.color', 368 | 'settings': { 369 | 'foreground': green 370 | } 371 | }, 372 | { 373 | 'name': 'Keyword Other Unit', 374 | 'scope': 'keyword.other.unit', 375 | 'settings': { 376 | 'foreground': green 377 | } 378 | }, 379 | { 380 | 'name': 'Meta Selector', 381 | 'scope': 'meta.selector', 382 | 'settings': { 383 | 'foreground': green 384 | } 385 | }, 386 | { 387 | 'name': 'Entity Other Attribute Name Id', 388 | 'scope': 'entity.other.attribute-name.id', 389 | 'settings': { 390 | 'foreground': yellow 391 | } 392 | }, 393 | { 394 | 'name': 'Meta Property Name', 395 | 'scope': 'meta.property-name', 396 | 'settings': { 397 | 'foreground': blue 398 | } 399 | }, 400 | { 401 | 'name': 'Doctypes', 402 | 'scope': [ 403 | 'entity.name.tag.doctype', 404 | 'meta.tag.sgml.doctype' 405 | ], 406 | 'settings': { 407 | 'foreground': green 408 | } 409 | }, 410 | { 411 | 'name': 'Punctuation Definition Parameters', 412 | 'scope': 'punctuation.definition.parameters', 413 | 'settings': { 414 | 'foreground': foreground 415 | } 416 | }, 417 | { 418 | 'name': 'Keyword Control Operator', 419 | 'scope': 'keyword.control.operator', 420 | 'settings': { 421 | 'foreground': orange 422 | } 423 | }, 424 | { 425 | 'name': 'Keyword Operator Logical', 426 | 'scope': 'keyword.operator.logical', 427 | 'settings': { 428 | 'foreground': green 429 | } 430 | }, 431 | { 432 | 'name': 'Variable Instances', 433 | 'scope': [ 434 | 'variable.instance', 435 | 'variable.other.instance', 436 | 'variable.reaedwrite.instance', 437 | 'variable.other.readwrite.instance' 438 | ], 439 | 'settings': { 440 | 'foreground': red 441 | } 442 | }, 443 | { 444 | 'name': 'Variable Property Other', 445 | 'scope': [ 446 | 'variable.other.property', 447 | 'variable.other.object.property' 448 | ], 449 | 'settings': { 450 | 'foreground': orange 451 | } 452 | }, 453 | { 454 | 'name': 'Entity Name Function', 455 | 'scope': 'entity.name.function', 456 | 'settings': { 457 | 'foreground': yellow 458 | } 459 | }, 460 | { 461 | 'name': 'Keyword Operator Comparison', 462 | 'scope': 'keyword.operator.comparison', 463 | 'settings': { 464 | 'foreground': green 465 | } 466 | }, 467 | { 468 | 'name': 'Support Constant, `new` keyword, Special Method Keyword', 469 | 'scope': [ 470 | 'support.constant', 471 | 'keyword.other.special-method', 472 | 'keyword.other.new' 473 | ], 474 | 'settings': { 475 | 'foreground': orange 476 | } 477 | }, 478 | { 479 | 'name': 'Support Function', 480 | 'scope': 'support.function', 481 | 'settings': { 482 | 'foreground': orange 483 | } 484 | }, 485 | { 486 | 'name': 'Invalid Broken', 487 | 'scope': 'invalid.broken', 488 | 'settings': { 489 | 'background': red, 490 | 'foreground': background, 491 | } 492 | }, 493 | { 494 | 'name': 'Invalid Unimplemented', 495 | 'scope': 'invalid.unimplemented', 496 | 'settings': { 497 | 'background': orange, 498 | 'foreground': foreground, 499 | } 500 | }, 501 | { 502 | 'name': 'Invalid Illegal', 503 | 'scope': 'invalid.illegal', 504 | 'settings': { 505 | 'foreground': foreground, 506 | 'background': red 507 | } 508 | }, 509 | { 510 | 'name': 'Language Variable', 511 | 'scope': 'variable.language', 512 | 'settings': { 513 | 'foreground': red 514 | } 515 | }, 516 | { 517 | 'name': 'Support Variable Property', 518 | 'scope': 'support.variable.property', 519 | 'settings': { 520 | 'foreground': orange 521 | } 522 | }, 523 | { 524 | 'name': 'Variable Function', 525 | 'scope': 'variable.function', 526 | 'settings': { 527 | 'foreground': yellow 528 | } 529 | }, 530 | { 531 | 'name': 'Variable Interpolation', 532 | 'scope': 'variable.interpolation', 533 | 'settings': { 534 | 'foreground': red 535 | } 536 | }, 537 | { 538 | 'name': 'Meta Function Call', 539 | 'scope': 'meta.function-call', 540 | 'settings': { 541 | 'foreground': yellow 542 | } 543 | }, 544 | { 545 | 'name': 'Punctuation Section Embedded', 546 | 'scope': 'punctuation.section.embedded', 547 | 'settings': { 548 | 'foreground': red 549 | } 550 | }, 551 | { 552 | 'name': 'Template Strings', 553 | 'scope': 'string.template meta.template.expression', 554 | 'settings': { 555 | 'foreground': red 556 | } 557 | }, 558 | { 559 | 'name': 'Italics', 560 | 'scope': 'italic', 561 | 'settings': { 562 | 'foreground': green, 563 | 'fontStyle': 'italic' 564 | } 565 | }, 566 | { 567 | 'name': 'Bold', 568 | 'scope': 'bold', 569 | 'settings': { 570 | 'foreground': yellow, 571 | 'fontStyle': 'bold' 572 | } 573 | }, 574 | { 575 | 'name': 'Quote', 576 | 'scope': 'quote', 577 | 'settings': { 578 | 'foreground': blue, 579 | 'fontStyle': 'italic' 580 | } 581 | }, 582 | { 583 | 'name': 'Raw Code', 584 | 'scope': 'raw', 585 | 'settings': { 586 | 'foreground': blue 587 | } 588 | }, 589 | { 590 | 'name': 'CoffeScript Variable Assignment', 591 | 'scope': 'variable.assignment.coffee', 592 | 'settings': { 593 | 'foreground': orange 594 | } 595 | }, 596 | { 597 | 'name': 'CoffeScript Parameter Function', 598 | 'scope': 'variable.parameter.function.coffee', 599 | 'settings': { 600 | 'foreground': foreground 601 | } 602 | }, 603 | { 604 | 'name': 'CoffeeScript Assignments', 605 | 'scope': 'variable.assignment.coffee', 606 | 'settings': { 607 | 'foreground': orange 608 | } 609 | }, 610 | { 611 | 'name': 'C# Readwrite Variables', 612 | 'scope': 'variable.other.readwrite.cs', 613 | 'settings': { 614 | 'foreground': foreground 615 | } 616 | }, 617 | { 618 | 'name': 'C# Classes & Storage types', 619 | 'scope': [ 620 | 'entity.name.type.class.cs', 621 | 'storage.type.cs' 622 | ], 623 | 'settings': { 624 | 'foreground': yellow 625 | } 626 | }, 627 | { 628 | 'name': 'C# Namespaces', 629 | 'scope': 'entity.name.type.namespace.cs', 630 | 'settings': { 631 | 'foreground': green 632 | } 633 | }, 634 | { 635 | 'name': 'Tag names in Stylesheets', 636 | 'scope': [ 637 | 'entity.name.tag.css', 638 | 'entity.name.tag.less', 639 | 'entity.name.tag.custom.css' 640 | ], 641 | 'settings': { 642 | 'foreground': red 643 | } 644 | }, 645 | { 646 | 'name': 'Wildcard(*) selector in Stylesheets', 647 | 'scope': [ 648 | 'entity.name.tag.wildcard.css', 649 | 'entity.name.tag.wildcard.less', 650 | 'entity.name.tag.wildcard.scss', 651 | 'entity.name.tag.wildcard.sass' 652 | ], 653 | 'settings': { 654 | 'foreground': red 655 | } 656 | }, 657 | { 658 | 'name': 'CSS Keyword Other Unit', 659 | 'scope': 'keyword.other.unit.css', 660 | 'settings': { 661 | 'foreground': green 662 | } 663 | }, 664 | { 665 | 'name': 'Attribute Name for CSS', 666 | 'scope': 'meta.attribute-selector.css entity.other.attribute-name.attribute', 667 | 'settings': { 668 | 'foreground': orange 669 | } 670 | }, 671 | { 672 | 'name': 'Elixir Classes', 673 | 'scope': [ 674 | 'source.elixir support.type.elixir', 675 | 'source.elixir meta.module.elixir entity.name.class.elixir' 676 | ], 677 | 'settings': { 678 | 'foreground': yellow 679 | } 680 | }, 681 | { 682 | 'name': 'Elixir Functions', 683 | 'scope': 'source.elixir entity.name.function', 684 | 'settings': { 685 | 'foreground': yellow 686 | } 687 | }, 688 | { 689 | 'name': 'Elixir Constants', 690 | 'scope': [ 691 | 'source.elixir constant.other.symbol.elixir', 692 | 'source.elixir constant.other.keywords.elixir' 693 | ], 694 | 'settings': { 695 | 'foreground': yellow 696 | } 697 | }, 698 | { 699 | 'name': 'Elixir String Punctuations', 700 | 'scope': 'source.elixir punctuation.definition.string', 701 | 'settings': { 702 | 'foreground': blue 703 | } 704 | }, 705 | { 706 | 'name': 'Elixir', 707 | 'scope': [ 708 | 'source.elixir variable.other.readwrite.module.elixir', 709 | 'source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir' 710 | ], 711 | 'settings': { 712 | 'foreground': yellow 713 | } 714 | }, 715 | { 716 | 'name': 'Elixir Binary Punctuations', 717 | 'scope': 'source.elixir .punctuation.binary.elixir', 718 | 'settings': { 719 | 'foreground': green 720 | } 721 | }, 722 | { 723 | 'name': 'Go Function Calls', 724 | 'scope': 'source.go meta.function-call.go', 725 | 'settings': { 726 | 'foreground': yellow 727 | } 728 | }, 729 | { 730 | 'name': 'ID Attribute Name in HTML', 731 | 'scope': 'entity.other.attribute-name.id.html', 732 | 'settings': { 733 | 'foreground': yellow 734 | } 735 | }, 736 | { 737 | 'name': 'HTML Punctuation Definition Tag', 738 | 'scope': 'punctuation.definition.tag.html', 739 | 'settings': { 740 | 'foreground': orange 741 | } 742 | }, 743 | { 744 | 'name': 'HTML Doctype', 745 | 'scope': 'meta.tag.sgml.doctype.html', 746 | 'settings': { 747 | 'foreground': green 748 | } 749 | }, 750 | { 751 | 'name': 'JavaScript Classes', 752 | 'scope': 'meta.class entity.name.type.class.js', 753 | 'settings': { 754 | 'foreground': yellow 755 | } 756 | }, 757 | { 758 | 'name': 'JavaScript Method Declaration e.g. `constructor`', 759 | 'scope': 'meta.method.declaration storage.type.js', 760 | 'settings': { 761 | 'foreground': yellow, 762 | 'fontStyle': 'normal' 763 | } 764 | }, 765 | { 766 | 'name': 'JavaScript Terminator', 767 | 'scope': 'terminator.js', 768 | 'settings': { 769 | 'foreground': foreground 770 | } 771 | }, 772 | { 773 | 'name': 'JavaScript Meta Punctuation Definition', 774 | 'scope': 'meta.js punctuation.definition.js', 775 | 'settings': { 776 | 'foreground': foreground 777 | } 778 | }, 779 | { 780 | 'name': 'Entity Names in Code Documentations', 781 | 'scope': [ 782 | 'entity.name.type.instance.jsdoc', 783 | 'entity.name.type.instance.phpdoc' 784 | ], 785 | 'settings': { 786 | 'foreground': foreground 787 | } 788 | }, 789 | { 790 | 'name': 'Other Variables in Code Documentations', 791 | 'scope': [ 792 | 'variable.other.jsdoc', 793 | 'variable.other.phpdoc' 794 | ], 795 | 'settings': { 796 | 'foreground': blue 797 | } 798 | }, 799 | { 800 | 'name': 'JavaScript module import', 801 | 'scope': [ 802 | 'variable.other.meta.import.js', 803 | 'meta.import.js variable.other' 804 | ], 805 | 'settings': { 806 | 'foreground': foreground 807 | } 808 | }, 809 | { 810 | 'name': 'JavaScript Variable Parameter Function', 811 | 'scope': 'variable.parameter.function.js', 812 | 'settings': { 813 | 'foreground': blue 814 | } 815 | }, 816 | { 817 | 'name': 'JavaScript Variable Other ReadWrite', 818 | 'scope': 'variable.other.readwrite.js', 819 | 'settings': { 820 | 'foreground': foreground 821 | } 822 | }, 823 | { 824 | 'name': 'JavaScript[React] Variable Other Object', 825 | 'scope': [ 826 | 'variable.other.object.js', 827 | 'variable.other.object.jsx', 828 | 'variable.object.property.js', 829 | 'variable.object.property.jsx' 830 | ], 831 | 'settings': { 832 | 'foreground': foreground 833 | } 834 | }, 835 | { 836 | 'name': 'JavaScript Variables', 837 | 'scope': [ 838 | 'variable.js', 839 | 'variable.other.js' 840 | ], 841 | 'settings': { 842 | 'foreground': foreground 843 | } 844 | }, 845 | { 846 | 'name': 'JavaScript Entity Name Type', 847 | 'scope': [ 848 | 'entity.name.type.js', 849 | 'entity.name.type.module.js' 850 | ], 851 | 'settings': { 852 | 'foreground': yellow 853 | } 854 | }, 855 | { 856 | 'name': 'JavaScript Support Classes', 857 | 'scope': 'support.class.js', 858 | 'settings': { 859 | 'foreground': foreground 860 | } 861 | }, 862 | { 863 | 'name': 'JSON Property Names', 864 | 'scope': 'support.type.property-name.json', 865 | 'settings': { 866 | 'foreground': red 867 | } 868 | }, 869 | { 870 | 'name': 'JSON Support Constants', 871 | 'scope': 'support.constant.json', 872 | 'settings': { 873 | 'foreground': yellow 874 | } 875 | }, 876 | { 877 | 'name': 'JSON Property values (string)', 878 | 'scope': 'meta.structure.dictionary.value.json string.quoted.double', 879 | 'settings': { 880 | 'foreground': blue 881 | } 882 | }, 883 | { 884 | 'name': 'Strings in JSON values', 885 | 'scope': 'string.quoted.double.json punctuation.definition.string.json', 886 | 'settings': { 887 | 'foreground': blue 888 | } 889 | }, 890 | { 891 | 'name': 'Specific JSON Property values like null', 892 | 'scope': 'meta.structure.dictionary.json meta.structure.dictionary.value constant.language', 893 | 'settings': { 894 | 'foreground': orange 895 | } 896 | }, 897 | { 898 | 'name': 'Ruby Variables', 899 | 'scope': 'variable.other.ruby', 900 | 'settings': { 901 | 'foreground': foreground 902 | } 903 | }, 904 | { 905 | 'name': 'Ruby Hashkeys', 906 | 'scope': 'constant.language.symbol.hashkey.ruby', 907 | 'settings': { 908 | 'foreground': orange 909 | } 910 | }, 911 | { 912 | 'name': 'LESS Tag names', 913 | 'scope': 'entity.name.tag.less', 914 | 'settings': { 915 | 'foreground': red 916 | } 917 | }, 918 | { 919 | 'name': 'LESS Keyword Other Unit', 920 | 'scope': 'keyword.other.unit.css', 921 | 'settings': { 922 | 'foreground': green 923 | } 924 | }, 925 | { 926 | 'name': 'Attribute Name for LESS', 927 | 'scope': 'meta.attribute-selector.less entity.other.attribute-name.attribute', 928 | 'settings': { 929 | 'foreground': orange 930 | } 931 | }, 932 | { 933 | 'name': 'Markdown Headings', 934 | 'scope': 'markup.heading.markdown', 935 | 'settings': { 936 | 'foreground': yellow 937 | } 938 | }, 939 | { 940 | 'name': 'Markdown Italics', 941 | 'scope': 'markup.italic.markdown', 942 | 'settings': { 943 | 'foreground': green, 944 | 'fontStyle': 'italic' 945 | } 946 | }, 947 | { 948 | 'name': 'Markdown Bold', 949 | 'scope': 'markup.bold.markdown', 950 | 'settings': { 951 | 'foreground': yellow, 952 | 'fontStyle': 'bold' 953 | } 954 | }, 955 | { 956 | 'name': 'Markdown Quote + others', 957 | 'scope': 'markup.quote.markdown', 958 | 'settings': { 959 | 'foreground': blue, 960 | 'fontStyle': 'italic' 961 | } 962 | }, 963 | { 964 | 'name': 'Markdown Raw Code + others', 965 | 'scope': 'markup.inline.raw.markdown', 966 | 'settings': { 967 | 'foreground': blue 968 | } 969 | }, 970 | { 971 | 'name': 'Markdown Links', 972 | 'scope': [ 973 | 'markup.underline.link.markdown', 974 | 'markup.underline.link.image.markdown' 975 | ], 976 | 'settings': { 977 | 'foreground': blue 978 | } 979 | }, 980 | { 981 | 'name': 'Markdown Link Title and Description', 982 | 'scope': [ 983 | 'string.other.link.title.markdown', 984 | 'string.other.link.description.markdown' 985 | ], 986 | 'settings': { 987 | 'foreground': foreground 988 | } 989 | }, 990 | { 991 | 'name': 'Markdown Punctuation', 992 | 'scope': [ 993 | 'punctuation.definition.string.markdown', 994 | 'punctuation.definition.string.begin.markdown', 995 | 'punctuation.definition.string.end.markdown', 996 | 'meta.link.inline.markdown punctuation.definition.string' 997 | ], 998 | 'settings': { 999 | 'foreground': yellow 1000 | } 1001 | }, 1002 | { 1003 | 'name': 'Markdown MetaData Punctuation', 1004 | 'scope': [ 1005 | 'punctuation.definition.metadata.markdown' 1006 | ], 1007 | 'settings': { 1008 | 'foreground': red 1009 | } 1010 | }, 1011 | { 1012 | 'name': 'Markdown List Punctuation', 1013 | 'scope': [ 1014 | 'beginning.punctuation.definition.list.markdown' 1015 | ], 1016 | 'settings': { 1017 | 'foreground': yellow 1018 | } 1019 | }, 1020 | { 1021 | 'name': 'Support Classes in PHP', 1022 | 'scope': 'support.class.php', 1023 | 'settings': { 1024 | 'foreground': yellow 1025 | } 1026 | }, 1027 | { 1028 | 'name': 'Punctuations in PHP function calls', 1029 | 'scope': 'meta.function-call.php punctuation', 1030 | 'settings': { 1031 | 'foreground': foreground 1032 | } 1033 | }, 1034 | { 1035 | 'name': 'PHP Global Variables', 1036 | 'scope': 'variable.other.global.php', 1037 | 'settings': { 1038 | 'foreground': yellow 1039 | } 1040 | }, 1041 | { 1042 | 'name': 'Declaration Punctuation in PHP Global Variables', 1043 | 'scope': 'variable.other.global.php punctuation.definition.variable', 1044 | 'settings': { 1045 | 'foreground': yellow 1046 | } 1047 | }, 1048 | { 1049 | 'name': 'Language Constants in Python', 1050 | 'scope': 'constant.language.python', 1051 | 'settings': { 1052 | 'foreground': orange 1053 | } 1054 | }, 1055 | { 1056 | 'name': 'Python Function Parameter and Arguments', 1057 | 'scope': [ 1058 | 'variable.parameter.function.python', 1059 | 'meta.function-call.arguments.python' 1060 | ], 1061 | 'settings': { 1062 | 'foreground': blue 1063 | } 1064 | }, 1065 | { 1066 | 'name': 'Punctuations in Python', 1067 | 'scope': 'punctuation.python', 1068 | 'settings': { 1069 | 'foreground': foreground 1070 | } 1071 | }, 1072 | { 1073 | 'name': 'Decorator Functions in Python', 1074 | 'scope': 'entity.name.function.decorator.python', 1075 | 'settings': { 1076 | 'foreground': yellow 1077 | } 1078 | }, 1079 | { 1080 | 'name': 'Variables in SASS At-Rules', 1081 | 'scope': [ 1082 | 'source.css.scss meta.at-rule variable', 1083 | 'source.css.sass meta.at-rule variable' 1084 | ], 1085 | 'settings': { 1086 | 'foreground': yellow 1087 | } 1088 | }, 1089 | { 1090 | 'name': 'Attribute Name for SASS', 1091 | 'scope': [ 1092 | 'meta.attribute-selector.scss entity.other.attribute-name.attribute', 1093 | 'meta.attribute-selector.sass entity.other.attribute-name.attribute' 1094 | ], 1095 | 'settings': { 1096 | 'foreground': orange 1097 | } 1098 | }, 1099 | { 1100 | 'name': 'Tag names in SASS', 1101 | 'scope': [ 1102 | 'entity.name.tag.scss', 1103 | 'entity.name.tag.sass' 1104 | ], 1105 | 'settings': { 1106 | 'foreground': red 1107 | } 1108 | }, 1109 | { 1110 | 'name': 'SASS Keyword Other Unit', 1111 | 'scope': [ 1112 | 'keyword.other.unit.scss', 1113 | 'keyword.other.unit.sass' 1114 | ], 1115 | 'settings': { 1116 | 'foreground': green 1117 | } 1118 | }, 1119 | { 1120 | 'name': 'TypeScript[React] Variables and Object Properties', 1121 | 'scope': [ 1122 | 'variable.other.readwrite.alias.ts', 1123 | 'variable.other.readwrite.alias.tsx', 1124 | 'variable.other.readwrite.ts', 1125 | 'variable.other.readwrite.tsx', 1126 | 'variable.other.object.ts', 1127 | 'variable.other.object.tsx', 1128 | 'variable.object.property.ts', 1129 | 'variable.object.property.tsx', 1130 | 'variable.other.ts', 1131 | 'variable.other.tsx', 1132 | 'variable.tsx', 1133 | 'variable.ts' 1134 | ], 1135 | 'settings': { 1136 | 'foreground': foreground 1137 | } 1138 | }, 1139 | { 1140 | 'name': 'TypeScript[React] Entity Name Types', 1141 | 'scope': [ 1142 | 'entity.name.type.ts', 1143 | 'entity.name.type.tsx' 1144 | ], 1145 | 'settings': { 1146 | 'foreground': yellow 1147 | } 1148 | }, 1149 | { 1150 | 'name': 'TypeScript[React] Node Classes', 1151 | 'scope': [ 1152 | 'support.class.node.ts', 1153 | 'support.class.node.tsx' 1154 | ], 1155 | 'settings': { 1156 | 'foreground': yellow 1157 | } 1158 | }, 1159 | { 1160 | 'name': 'TypeScript[React] Entity Name Types as Parameters', 1161 | 'scope': [ 1162 | 'meta.type.parameters.ts entity.name.type', 1163 | 'meta.type.parameters.tsx entity.name.type' 1164 | ], 1165 | 'settings': { 1166 | 'foreground': foreground 1167 | } 1168 | }, 1169 | { 1170 | 'name': 'TypeScript[React] Import Punctuations', 1171 | 'scope': [ 1172 | 'meta.import.ts punctuation.definition.block', 1173 | 'meta.import.tsx punctuation.definition.block' 1174 | ], 1175 | 'settings': { 1176 | 'foreground': foreground 1177 | } 1178 | }, 1179 | { 1180 | 'name': 'TypeScript[React] Punctuation Decorators', 1181 | 'scope': [ 1182 | 'meta.decorator punctuation.decorator.ts', 1183 | 'meta.decorator punctuation.decorator.tsx' 1184 | ], 1185 | 'settings': { 1186 | 'foreground': yellow 1187 | } 1188 | }, 1189 | { 1190 | 'name': 'TypeScript[React] Punctuation Decorators', 1191 | 'scope': [ 1192 | 'meta.jsx.children.tsx', 1193 | 'meta.tag.js meta.jsx.children.tsx' 1194 | ], 1195 | 'settings': { 1196 | 'foreground': foreground 1197 | } 1198 | }, 1199 | { 1200 | 'name': 'YAML Entity Name Tags', 1201 | 'scope': 'entity.name.tag.yaml', 1202 | 'settings': { 1203 | 'foreground': orange 1204 | } 1205 | }, 1206 | { 1207 | 'name': 'Normalize font style of certain Components', 1208 | 'scope': [ 1209 | 'meta.property-list.css meta.property-value.css variable.other.less', 1210 | 'meta.property-list.scss variable.scss', 1211 | 'meta.property-list.sass variable.sass', 1212 | 'keyword.operator.logical', 1213 | 'keyword.operator.arithmetic', 1214 | 'keyword.operator.bitwise', 1215 | 'keyword.operator.increment', 1216 | 'keyword.operator.ternary', 1217 | 'keyword.operator.comparison', 1218 | 'keyword.operator.assignment', 1219 | 'keyword.operator.operator', 1220 | 'keyword.operator.or.regexp', 1221 | 'punctuation.definintion.string', 1222 | 'punctuation' 1223 | ], 1224 | 'settings': { 1225 | 'fontStyle': 'normal' 1226 | } 1227 | }, 1228 | { 1229 | 'name': 'Italicsify certain tokens', 1230 | 'scope': [ 1231 | 'meta.import.ts meta.block.ts variable.other.readwrite.alias.ts', 1232 | 'meta.import.tsx meta.block.tsx variable.other.readwrite.alias.tsx', 1233 | 'meta.import.js variable.other', 1234 | 'entity.name.function.ts', 1235 | 'entity.name.function.tsx', 1236 | 'support.type.primitive', 1237 | 'entity.name.tag.yaml', 1238 | 'meta.tag.sgml.doctype.html', 1239 | 'entity.name.tag.doctype', 1240 | 'meta.tag.sgml.doctype', 1241 | 'entity.other.attribute-name', 1242 | 'entity.name.tag.custom', 1243 | 'source.js.jsx keyword.control.flow.js', 1244 | 'support.type.property.css', 1245 | 'support.function.basic_functions', 1246 | 'variable.assignment.coffee', 1247 | 'support.function.basic_functions', 1248 | 'keyword.operator.expression.typeof', 1249 | 'keyword.operator.type.annotation', 1250 | 'assignment.coffee', 1251 | 'entity.name.type.ts', 1252 | 'support.constant.math', 1253 | 'meta.object-literal.key', 1254 | 'meta.var.expr storage.type', 1255 | 'parameter', 1256 | 'string', 1257 | 'italic', 1258 | 'quote', 1259 | 'keyword', 1260 | 'storage', 1261 | 'language', 1262 | 'type .function', 1263 | 'type.function', 1264 | 'storage.type.class', 1265 | 'type.var', 1266 | 'meta.parameter', 1267 | 'variable.parameter', 1268 | 'meta.parameters', 1269 | 'keyword.control', 1270 | 'modifier', 1271 | 'this', 1272 | 'comment' 1273 | ], 1274 | 'settings': { 1275 | 'fontStyle': useItalics ? 'italic' : 'normal' 1276 | } 1277 | }, 1278 | ] 1279 | --------------------------------------------------------------------------------