├── .gitignore ├── .vscodeignore ├── icon.png ├── screenshot-v0.4.0.png ├── .vscode └── launch.json ├── colors.sass ├── CHANGELOG.md ├── icon.svg ├── package.json ├── README.md └── themes └── OneDarkTheme-color-theme.json /.gitignore: -------------------------------------------------------------------------------- 1 | *.vsix 2 | -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | colors.sass 3 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azemoh/vscode-onedark/HEAD/icon.png -------------------------------------------------------------------------------- /screenshot-v0.4.0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azemoh/vscode-onedark/HEAD/screenshot-v0.4.0.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": "Launch Extension", 7 | "type": "extensionHost", 8 | "request": "launch", 9 | "runtimeExecutable": "${execPath}", 10 | "args": ["--extensionDevelopmentPath=${workspaceRoot}" ] 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /colors.sass: -------------------------------------------------------------------------------- 1 | // One Dark Colors 2 | 3 | // Default 4 | $plain: #abb2bf 5 | 6 | // Background 7 | $background: #282c34 8 | 9 | // Function params 10 | $pink: #e06c75 11 | 12 | // Classname Identifiers, 13 | $cyan: #56b6c2 14 | 15 | // String 16 | $lime: #98c379 17 | 18 | // Keywords 19 | $purple: #c678dd 20 | 21 | // Numbers, Constants, Harkup attributes 22 | $brown: #d19a66 23 | 24 | // Class name, Namespaces 25 | $gold: #e5c07b 26 | 27 | // Method definations, Function names 28 | $blue: #61afef 29 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## Changelog 2 | 3 | ### v0.5.x 4 | - Convert to json syntax theme. 5 | - Workbench themeing 6 | 7 | #### v0.4.x 8 | - Fix Jade/Pug functions and mixins. 9 | - Highlight for Pug/Jade imports. 10 | - Distinguish selected text from highligted matching text. 11 | - Start migration to use VSCode default JS grammer. - Remove Atom JS Grammer. 12 | 13 | #### v0.3.x 14 | - Improved JavaScript Support - use [Atom JS Grammer][atom-grammer-url] for best result. 15 | - Highlight for JS storege types and entity names. 16 | - Proper Jade string comments 17 | 18 | #### v0.2.x 19 | - Syntax highlight for embeded string. 20 | - Syntax highlight for Logical operators (and, or). 21 | - Syntax highlight for built-in functions. 22 | - Syntax highlight for js "new" keyword. 23 | - Stylesheet string variable. 24 | - Stylesheet functions. 25 | - Fix language variable highlight 26 | - Support for Haml classes and IDs. 27 | - Fix find selection highlight. 28 | - Highlight support variables. 29 | - Improve Java Support 30 | 31 | 32 | [atom-grammer-url]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-atom-grammar 33 | -------------------------------------------------------------------------------- /icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "theme-onedark", 3 | "displayName": "One Dark Theme", 4 | "description": "One Dark Theme based on Atom's One Dark Theme", 5 | "version": "0.6.0", 6 | "publisher": "azemoh", 7 | "author": "Joshua Azemoh (http://azemoh.com)", 8 | "license": "MIT", 9 | "icon": "icon.png", 10 | "engines": { 11 | "vscode": "^1.13.0" 12 | }, 13 | "categories": [ 14 | "Themes" 15 | ], 16 | "contributes": { 17 | "themes": [ 18 | { 19 | "label": "One Dark Theme", 20 | "uiTheme": "vs-dark", 21 | "path": "./themes/OneDarkTheme-color-theme.json" 22 | } 23 | ] 24 | }, 25 | "bugs": { 26 | "url": "https://github.com/azemoh/vscode-onedark/issues" 27 | }, 28 | "homepage": "https://github.com/azemoh/vscode-onedark/blob/master/README.md", 29 | "repository": { 30 | "type": "git", 31 | "url": "https://github.com/azemoh/vscode-onedark.git" 32 | }, 33 | "keywords": [ 34 | "Vscode", 35 | "Theme", 36 | "Onedark" 37 | ], 38 | "__metadata": { 39 | "id": "cc1b9e15-8d4e-43ed-8a31-b81683af6bc4", 40 | "publisherDisplayName": "Joshua Azemoh", 41 | "publisherId": "25cdca6a-b422-4806-9041-a44a52d1a7d5" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # One Dark Theme 2 | 3 | One dark theme for Visual Studio Code, based on Atom's One Dark 4 | 5 | [![Version](https://vsmarketplacebadge.apphb.com/version/azemoh.theme-onedark.svg)](https://marketplace.visualstudio.com/items?itemName=azemoh.theme-onedark) [![Installs](https://vsmarketplacebadge.apphb.com/installs/azemoh.theme-onedark.svg)](https://marketplace.visualstudio.com/items?itemName=azemoh.theme-onedark) [![Ratings](https://vsmarketplacebadge.apphb.com/rating/azemoh.theme-onedark.svg)](https://marketplace.visualstudio.com/items?itemName=azemoh.theme-onedark) [![GitHub stars](https://img.shields.io/github/stars/azemoh/vscode-onedark.svg?style=social&label=Star&maxAge=2592000)](https://github.com/azemoh/vscode-onedark) 6 | 7 | 8 | ## Install 9 | 10 | press `ctl/command + shift + p` to launch the command palette then run 11 | ``` 12 | ext install theme-onedark 13 | ``` 14 | 15 | ## Screenshot 16 | Screenshot of Ruby and JavaScript 17 | 18 | ![Theme Screenshot](screenshot-v0.4.0.png) 19 | 20 | If you like this checkout [One Monokai Theme](https://marketplace.visualstudio.com/items?itemName=azemoh.one-monokai) 21 | 22 | ## Sponsors 23 | 24 |


25 | Eliminate context switching and costly distractions. Create and merge PRs and perform code reviews from inside your IDE while using jump-to-definition, your favorite keybindings, and other IDE favorites.
Learn more

26 | 27 | 28 | ## Changelog 29 | You can take a look at the change log [here](https://github.com/azemoh/vscode-onedark/blob/master/CHANGELOG.md) 30 | 31 | [atom-grammer-url]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-atom-grammar 32 | -------------------------------------------------------------------------------- /themes/OneDarkTheme-color-theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "tokenColors": [ 3 | { 4 | "settings": { 5 | "background": "#282c34", 6 | "foreground": "#abb2bf", 7 | "findHighlight": "#FFE792", 8 | "findHighlightForeground": "#000000", 9 | "selectionBorder": "#222218", 10 | "activeGuide": "#9D550FB0", 11 | "bracketsForeground": "#F8F8F2A5", 12 | "bracketsOptions": "underline", 13 | "bracketContentsForeground": "#F8F8F2A5", 14 | "bracketContentsOptions": "underline", 15 | "tagsOptions": "stippled_underline" 16 | } 17 | }, 18 | { 19 | "name": "Comment", 20 | "scope": "comment", 21 | "settings": { 22 | "foreground": "#5c6370", 23 | "fontStyle": "italic" 24 | } 25 | }, 26 | { 27 | "name": "Comment", 28 | "scope": "html.doctype", 29 | "settings": { 30 | "foreground": "#5c6370", 31 | "fontStyle": "italic" 32 | } 33 | }, 34 | { 35 | "name": "String", 36 | "scope": "string", 37 | "settings": { 38 | "foreground": "#98c379" 39 | } 40 | }, 41 | { 42 | "name": "Embeded String Begin and End", 43 | "scope": [ 44 | "string.embedded.begin", 45 | "string.embedded.end" 46 | ], 47 | "settings": { 48 | "foreground": "#e06c75" 49 | } 50 | }, 51 | { 52 | "name": "Embeded String", 53 | "scope": "string.embedded", 54 | "settings": { 55 | "foreground": "#56b6c2" 56 | } 57 | }, 58 | { 59 | "name": "Number", 60 | "scope": "constant.numeric", 61 | "settings": { 62 | "foreground": "#d19a66" 63 | } 64 | }, 65 | { 66 | "name": "Built-in constant", 67 | "scope": "constant.language", 68 | "settings": { 69 | "foreground": "#d19a66" 70 | } 71 | }, 72 | { 73 | "name": "User-defined constant", 74 | "scope": [ 75 | "constant.character", 76 | "constant.other" 77 | ], 78 | "settings": { 79 | "foreground": "#d19a66" 80 | } 81 | }, 82 | { 83 | "name": "Language Variable", 84 | "scope": "variable.language", 85 | "settings": { 86 | "foreground": "#c678dd" 87 | } 88 | }, 89 | { 90 | "name": "Variable", 91 | "scope": [ 92 | "variable.readwrite", 93 | "variable.block", 94 | "variable.support" 95 | ], 96 | "settings": { 97 | "foreground": "#e06c75" 98 | } 99 | }, 100 | { 101 | "name": "Variable", 102 | "scope": "variable.readwrite.var-single-variable.js", 103 | "settings": { 104 | "foreground": "#d19a66" 105 | } 106 | }, 107 | { 108 | "name": "Variable", 109 | "scope": "variable.readwrite.js", 110 | "settings": { 111 | "foreground": "#abb2bf" 112 | } 113 | }, 114 | { 115 | "name": "Keyword", 116 | "scope": [ 117 | "keyword", 118 | "keyword.operator.logical", 119 | "keyword.operator.constructor", 120 | "keyword.operator.new" 121 | ], 122 | "settings": { 123 | "foreground": "#c678dd" 124 | } 125 | }, 126 | { 127 | "name": "Keyword Operator", 128 | "scope": "keyword.operator", 129 | "settings": { 130 | "foreground": "#61afef" 131 | } 132 | }, 133 | { 134 | "name": "Storage", 135 | "scope": "storage", 136 | "settings": { 137 | "fontStyle": "", 138 | "foreground": "#c678dd" 139 | } 140 | }, 141 | { 142 | "name": "Storage type", 143 | "scope": "storage.type.function", 144 | "settings": { 145 | "foreground": "#c678dd" 146 | } 147 | }, 148 | { 149 | "name": "Class name", 150 | "scope": [ 151 | "entity.name.class", 152 | "entity.name.module", 153 | "entity.name.type" 154 | ], 155 | "settings": { 156 | "foreground": "#e5c07b" 157 | } 158 | }, 159 | { 160 | "name": "Inherited class", 161 | "scope": "entity.other.inherited-class", 162 | "settings": { 163 | "foreground": "#98c379" 164 | } 165 | }, 166 | { 167 | "name": "Tag name", 168 | "scope": "entity.name.tag", 169 | "settings": { 170 | "fontStyle": "", 171 | "foreground": "#e06c75" 172 | } 173 | }, 174 | { 175 | "name": "Tag attribute", 176 | "scope": "entity.other.attribute-name", 177 | "settings": { 178 | "fontStyle": "", 179 | "foreground": "#d19a66" 180 | } 181 | }, 182 | { 183 | "name": "Function name", 184 | "scope": "entity.name.function", 185 | "settings": { 186 | "fontStyle": "", 187 | "foreground": "#61afef" 188 | } 189 | }, 190 | { 191 | "name": "Function argument", 192 | "scope": "variable.parameter", 193 | "settings": { 194 | "fontStyle": "italic", 195 | "foreground": "#e06c75" 196 | } 197 | }, 198 | { 199 | "name": "Function call", 200 | "scope": "entity.name.function-call", 201 | "settings": { 202 | "fontStyle": "", 203 | "foreground": "#abb2bf" 204 | } 205 | }, 206 | { 207 | "name": "Builtin Functions", 208 | "scope": [ 209 | "function.support.builtin", 210 | "function.support.core" 211 | ], 212 | "settings": { 213 | "fontStyle": "", 214 | "foreground": "#56b6c2" 215 | } 216 | }, 217 | { 218 | "name": "Library function", 219 | "scope": "support.function", 220 | "settings": { 221 | "foreground": "#56b6c2" 222 | } 223 | }, 224 | { 225 | "name": "Library constant", 226 | "scope": "support.constant", 227 | "settings": { 228 | "fontStyle": "", 229 | "foreground": "#e5c07b" 230 | } 231 | }, 232 | { 233 | "name": "Library class/type", 234 | "scope": "support.class", 235 | "settings": { 236 | "foreground": "#e5c07b" 237 | } 238 | }, 239 | { 240 | "name": "Library type", 241 | "scope": "support.type", 242 | "settings": { 243 | "foreground": "#e06c75" 244 | } 245 | }, 246 | { 247 | "name": "Json Property", 248 | "scope": "support.dictionary.json", 249 | "settings": { 250 | "foreground": "#e06c75" 251 | } 252 | }, 253 | { 254 | "name": "StyleSheet Property name", 255 | "scope": [ 256 | "support.type.property-name.css", 257 | "support.type.property-name.scss", 258 | "support.type.property-name.less", 259 | "support.type.property-name.sass" 260 | ], 261 | "settings": { 262 | "foreground": "#abb2bf" 263 | } 264 | }, 265 | { 266 | "name": "StyleSheet Property value", 267 | "scope": [ 268 | "support.constant.css", 269 | "support.constant.scss", 270 | "support.constant.less", 271 | "support.constant.sass" 272 | ], 273 | "settings": { 274 | "foreground": "#56b6c2" 275 | } 276 | }, 277 | { 278 | "name": "StyleSheet Variable", 279 | "scope": [ 280 | "variable.css", 281 | "variable.scss", 282 | "variable.less", 283 | "variable.sass" 284 | ], 285 | "settings": { 286 | "foreground": "#e06c75" 287 | } 288 | }, 289 | { 290 | "name": "StyleSheet Variable String", 291 | "scope": [ 292 | "variable.css.string", 293 | "variable.scss.string", 294 | "variable.less.string", 295 | "variable.sass.string" 296 | ], 297 | "settings": { 298 | "foreground": "#98c379" 299 | } 300 | }, 301 | { 302 | "name": "StyleSheet Unit", 303 | "scope": [ 304 | "unit.css", 305 | "unit.scss", 306 | "unit.less", 307 | "unit.sass" 308 | ], 309 | "settings": { 310 | "foreground": "#d19a66" 311 | } 312 | }, 313 | { 314 | "name": "StyleSheet Function", 315 | "scope": [ 316 | "function.css", 317 | "function.scss", 318 | "function.less", 319 | "function.sass" 320 | ], 321 | "settings": { 322 | "foreground": "#56b6c2" 323 | } 324 | }, 325 | { 326 | "name": "Other variable", 327 | "scope": [ 328 | "variable.other.property", 329 | "variable.other.object", 330 | "variable.other.block" 331 | ], 332 | "settings": { 333 | "foreground": "#e06c75" 334 | } 335 | }, 336 | { 337 | "name": "Pug/Jade Import", 338 | "scope": [ 339 | "jade.import.variable", 340 | "pug.import.variable" 341 | ], 342 | "settings": { 343 | "foreground": "#e06c75" 344 | } 345 | }, 346 | { 347 | "name": "Invalid", 348 | "scope": "invalid", 349 | "settings": { 350 | "background": "#c678dd", 351 | "fontStyle": "", 352 | "foreground": "#F8F8F0" 353 | } 354 | }, 355 | { 356 | "name": "Invalid deprecated", 357 | "scope": "invalid.deprecated", 358 | "settings": { 359 | "background": "#56b6c2", 360 | "foreground": "#F8F8F0" 361 | } 362 | }, 363 | { 364 | "name": "JSON String", 365 | "scope": "structure.dictionary.property-name.json", 366 | "settings": { 367 | "foreground": "#e06c75" 368 | } 369 | }, 370 | { 371 | "name": "Link", 372 | "scope": "string.detected-link", 373 | "settings": { 374 | "foreground": "#c678dd" 375 | } 376 | }, 377 | { 378 | "name": "diff.header", 379 | "scope": [ 380 | "meta.diff", 381 | "meta.diff.header" 382 | ], 383 | "settings": { 384 | "foreground": "#75715E" 385 | } 386 | }, 387 | { 388 | "name": "diff.deleted", 389 | "scope": "markup.deleted", 390 | "settings": { 391 | "foreground": "#c678dd" 392 | } 393 | }, 394 | { 395 | "name": "diff.inserted", 396 | "scope": "markup.inserted", 397 | "settings": { 398 | "foreground": "#e5c07b" 399 | } 400 | }, 401 | { 402 | "name": "diff.changed", 403 | "scope": "markup.changed", 404 | "settings": { 405 | "foreground": "#98c379" 406 | } 407 | }, 408 | { 409 | "scope": "constant.numeric.line-number.find-in-files - match", 410 | "settings": { 411 | "foreground": "#56b6c2A0" 412 | } 413 | }, 414 | { 415 | "scope": "entity.name.filename.find-in-files", 416 | "settings": { 417 | "foreground": "#98c379" 418 | } 419 | } 420 | ], 421 | "colors": { 422 | "activityBar.background": "#2F333D", 423 | "activityBar.foreground": "#D7DAE0", 424 | "activityBarBadge.background": "#528bff", 425 | "activityBarBadge.foreground": "#F8FAFD", 426 | "button.background": "#528bff", 427 | "dropdown.background": "#1d1f23", 428 | "diffEditor.insertedTextBackground": "#00809B33", 429 | "dropdown.border": "#181A1F", 430 | "editor.background": "#282c34", 431 | "editorError.foreground": "#c24038", 432 | "editorRuler.foreground": "#484848", 433 | "editor.lineHighlightBackground": "#383E4A", 434 | "editor.selectionBackground": "#3E4451", 435 | "editorCursor.foreground": "#f8f8f0", 436 | "editor.editor.findMatchBackground": "#42557B", 437 | "editor.findMatchHighlightBackground": "#314365", 438 | "editorGroup.background": "#181A1F", 439 | "editorGroup.border": "#181A1F", 440 | "editorGroupHeader.tabsBackground": "#21252B", 441 | "editorIndentGuide.background": "#3B4048", 442 | "editorLineNumber.foreground": "#495162", 443 | "editorWhitespace.foreground": "#3B4048", 444 | "editorHoverWidget.background": "#21252B", 445 | "editorHoverWidget.border": "#181A1F", 446 | "editorSuggestWidget.background": "#21252B", 447 | "editorSuggestWidget.border": "#181A1F", 448 | "editorSuggestWidget.selectedBackground": "#2c313a", 449 | "editorWidget.background": "#21252B", 450 | "input.background": "#1d1f23", 451 | "list.activeSelectionBackground": "#2c313a", 452 | "list.activeSelectionForeground": "#d7dae0", 453 | "list.focusBackground": "#383E4A", 454 | "list.hoverBackground": "#292d35", 455 | "list.highlightForeground": "#C5C5C5", 456 | "list.inactiveSelectionBackground": "#2c313a", 457 | "list.inactiveSelectionForeground": "#d7dae0", 458 | "notification.background": "#21252b", 459 | "scrollbarSlider.background": "#4E566680", 460 | "scrollbarSlider.activeBackground": "#747D9180", 461 | "scrollbarSlider.hoverBackground": "#5A637580", 462 | "sideBar.background": "#21252b", 463 | "sideBarSectionHeader.background": "#282c34", 464 | "statusBar.background": "#21252B", 465 | "statusBar.foreground": "#9da5b4", 466 | "statusBarItem.hoverBackground": "#2c313a", 467 | "statusBar.noFolderBackground": "#21252B", 468 | "statusBar.debuggingBackground": "#21252B", 469 | "tab.activeBackground": "#2c313a", 470 | "tab.border": "#181A1F", 471 | "tab.inactiveBackground": "#21252B", 472 | "titleBar.activeBackground": "#282c34", 473 | "titleBar.activeForeground": "#9da5b4", 474 | "titleBar.inactiveBackground": "#282C34", 475 | "titleBar.inactiveForeground": "#6B717D" 476 | }, 477 | "name": "One Dark Theme" 478 | } --------------------------------------------------------------------------------