├── .vscodeignore ├── images ├── nb-icon.png └── vscode-netbeans-light-theme.png ├── .vscode └── launch.json ├── README.md ├── LICENSE ├── CHANGELOG.md ├── package.json └── themes ├── NetBeansLight.json └── NetBeansLight.tmTheme /.vscodeignore: -------------------------------------------------------------------------------- 1 | **/.git 2 | .vscode/** 3 | -------------------------------------------------------------------------------- /images/nb-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obrejla/vscode-netbeans-light-theme/HEAD/images/nb-icon.png -------------------------------------------------------------------------------- /images/vscode-netbeans-light-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obrejla/vscode-netbeans-light-theme/HEAD/images/vscode-netbeans-light-theme.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 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NetBeans Light Theme 2 | 3 | This VS Code Theme extension tries to setup editor colors to same colors which are used in default NetBeans IDE light theme. 4 | 5 | Currently supported languages: 6 | - JavaScript (JSON) 7 | - TypeScript 8 | - HTML 9 | - CSS 10 | - Java 11 | 12 | ![VSCode NetBeans Light Theme](./images/vscode-netbeans-light-theme.png) 13 | 14 | Feel free to file your change requests and issues to [issue tracker](https://github.com/obrejla/vscode-netbeans-light-theme/issues) ;-) 15 | 16 | **Enjoy!** -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Ondrej Brejla 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | ## [2.0.2] 4 | - Fixed thumbnail image path issue. 5 | 6 | ## [2.0.1] 7 | - Editor: Added proper color for line numbers. 8 | - JavaScript: Improved style of static object property. 9 | 10 | ## [2.0.0] 11 | - Used new theming support to be able to theme the editor itself. 12 | - Editor: Added gray indent guides to editor. 13 | 14 | ## [1.1.1] 15 | - JavaScript: Improved styles of function declarations. 16 | 17 | ## [1.1.0] 18 | - Added basic support for TypeScript. 19 | 20 | ## [1.0.6] 21 | - JavaScript: Added handling of '=>' operator. 22 | 23 | ## [1.0.5] 24 | - JavaScript: Added handling of 'instanceof' and 'delete' operators. 25 | 26 | ## [1.0.4] 27 | - JavaScript: Added handling of 'typeof' operator. 28 | 29 | ## [1.0.3] 30 | - Improved handling of opacity of highlighted colors. 31 | 32 | ## [1.0.2] 33 | - Fixed problem with selection color opacity during occurrence selection. 34 | See: https://github.com/Microsoft/vscode/issues/22324 35 | 36 | ## [1.0.1] 37 | - Fixed minor boilerplate issues. 38 | 39 | ## [1.0.0] 40 | - Added support for JavaScript (and JSON) files 41 | - Added support for HTML files 42 | - Added support for CSS files 43 | - Added support for JAVA files -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "netbeans-light-theme", 3 | "displayName": "NetBeans Light Theme", 4 | "description": "Default light theme used in NetBeans IDE.", 5 | "version": "2.0.2", 6 | "publisher": "obrejla", 7 | "homepage": "https://github.com/obrejla/vscode-netbeans-light-theme", 8 | "license": "See license in LICENSE file.", 9 | "icon": "images/nb-icon.png", 10 | "galleryBanner": { 11 | "color": "#446CB3", 12 | "theme": "dark" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/obrejla/vscode-netbeans-light-theme.git" 17 | }, 18 | "bugs": { 19 | "url": "https://github.com/obrejla/vscode-netbeans-light-theme/issues" 20 | }, 21 | "engines": { 22 | "vscode": "^1.10.0" 23 | }, 24 | "categories": [ 25 | "Themes" 26 | ], 27 | "keywords": [ 28 | "netbeans", 29 | "vscode", 30 | "theme", 31 | "light" 32 | ], 33 | "contributes": { 34 | "themes": [ 35 | { 36 | "label": "NetBeans Light Theme", 37 | "uiTheme": "vs", 38 | "path": "./themes/NetBeansLight.json" 39 | } 40 | ] 41 | } 42 | } -------------------------------------------------------------------------------- /themes/NetBeansLight.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "light", 3 | "colors": { 4 | "editor.background": "#ffffff", 5 | "editor.foreground": "#000000", 6 | "editor.selectionBackground": "#b0c5e3", 7 | "editor.findMatchBackground": "#b0c5e3cc", 8 | "editor.findMatchHighlightBackground": "#ffb442cc", 9 | "editor.lineHighlightBackground": "#e9eff8", 10 | "editorCursor.foreground": "#000000", 11 | "editorWhitespace.foreground": "#ffffff", 12 | "editor.wordHighlightBackground": "#eceba3cc", 13 | "peekViewResult.matchHighlightBackground": "#ffb442cc", 14 | "editorIndentGuide.background": "#D3D3D3", 15 | "editorLineNumber.foreground": "#000000" 16 | }, 17 | "tokenColors": [ 18 | { 19 | "settings": { 20 | "foreground": "#000000ff", 21 | "background": "#ffffffff" 22 | } 23 | }, 24 | { 25 | "name": "Class and Interface Name", 26 | "scope": "entity.name.type.class, entity.name.type.interface", 27 | "settings": { 28 | "fontStyle": "bold", 29 | "foreground": "#000000" 30 | } 31 | }, 32 | { 33 | "name": "Inherited Class Name", 34 | "scope": "entity.other.inherited-class", 35 | "settings": { 36 | "foreground": "#000000" 37 | } 38 | }, 39 | { 40 | "name": "Function Name", 41 | "scope": "entity.name.function,meta.definition.method.ts entity.name.function.ts", 42 | "settings": { 43 | "fontStyle": "bold", 44 | "foreground": "#000000" 45 | } 46 | }, 47 | { 48 | "name": "Constant Other", 49 | "scope": "constant.other", 50 | "settings": { 51 | "fontStyle": "italic", 52 | "foreground": "#009900" 53 | } 54 | }, 55 | { 56 | "name": "Comment", 57 | "scope": "comment,comment.block.documentation.js,comment.line.double-slash.js,entity.name.type.instance.jsdoc,variable.other.jsdoc", 58 | "settings": { 59 | "foreground": "#969696" 60 | } 61 | }, 62 | { 63 | "name": "Comment: Annotations", 64 | "scope": "storage.type.class.jsdoc,keyword.other.documentation", 65 | "settings": { 66 | "fontStyle": "bold", 67 | "foreground": "#969696" 68 | } 69 | }, 70 | { 71 | "name": "Regex", 72 | "scope": "string.regexp.js", 73 | "settings": { 74 | "foreground": "#9933CC" 75 | } 76 | }, 77 | { 78 | "name": "Keywords", 79 | "scope": "keyword,storage,constant.language,entity.name.tag,punctuation.definition.tagstorage.type.function.js,storage.type.js,variable.language.this,variable.language.java,variable.language.super.ts,keyword.control,keyword.operator.new,keyword.operator.expression.typeof.js,keyword.operator.expression.delete.js,keyword.operator.expression.instanceof.js,keyword.other.import,keyword.other.import.static,keyword.other.package,support.type.primitive.ts", 80 | "settings": { 81 | "foreground": "#0000E6" 82 | } 83 | }, 84 | { 85 | "name": "Object Field", 86 | "scope": "support.type.property-name.json,entity.other.attribute-name,meta.object-literal.key,variable.other.property,variable.other.object.property,variable.other.constant.property.js,variable.other.constant.object.property.js,support.variable.property.dom.js,variable.object.property", 87 | "settings": { 88 | "foreground": "#009900" 89 | } 90 | }, 91 | { 92 | "name": "String", 93 | "scope": "string,punctuation.definition.string.begin.js,punctuation.definition.string.end.js,string.quoted.single.js,string.quoted.double.js", 94 | "settings": { 95 | "foreground": "#CE7B00" 96 | } 97 | }, 98 | { 99 | "name": "Separators", 100 | "scope": "punctation,punctuation.terminator.statement.js,punctuation.separator.key-value.js,punctuation.separator.comma.js,punctuation.definition.block.js,punctuation.accessor.js,punctuation.definition.parameters.begin.js,punctuation.definition.parameters.end.js", 101 | "settings": { 102 | "foreground": "#000000" 103 | } 104 | }, 105 | { 106 | "name": "Global", 107 | "scope": "support.variable.dom.ts", 108 | "settings": { 109 | "foreground": "#9F0D79" 110 | } 111 | }, 112 | { 113 | "name": "Operators", 114 | "scope": "keyword.operator,storage.type.function.arrow", 115 | "settings": { 116 | "foreground": "#000000" 117 | } 118 | }, 119 | { 120 | "name": "Identifier", 121 | "scope": "variable,meta.function-call.ts entity.name.function.ts,meta.function-call.js entity.name.function.js,support.function,support.variable.property.js,storage.modifier.import,storage.modifier.package,storage.type.annotation,storage.type.generic,storage.type.object.array,storage.type.java", 122 | "settings": { 123 | "foreground": "#000000", 124 | "fontStyle": "plain" 125 | } 126 | }, 127 | { 128 | "name": "Class Name", 129 | "scope": "support.class.js", 130 | "settings": { 131 | "foreground": "#000000" 132 | } 133 | }, 134 | { 135 | "name": "HTML and XML: Doctype", 136 | "scope": "meta.tag.sgml.doctype.html,meta.tag.sgml.doctype.xml,keyword.other.doctype.xml,variable.language.documentroot.xml", 137 | "settings": { 138 | "foreground": "#628FB5" 139 | } 140 | }, 141 | { 142 | "name": "HTML and XML: Tags", 143 | "scope": "entity.name.tag, punctuation.definition.tag.xml, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html", 144 | "settings": { 145 | "foreground": "#0000E6" 146 | } 147 | }, 148 | { 149 | "name": "CSS: Property Name", 150 | "scope": "support.type.property-name.css", 151 | "settings": { 152 | "foreground": "#0000E6" 153 | } 154 | }, 155 | { 156 | "name": "CSS: Property Value", 157 | "scope": "keyword.other", 158 | "settings": { 159 | "foreground": "#000000" 160 | } 161 | }, 162 | { 163 | "name": "CSS: At Rule", 164 | "scope": "keyword.control.at-rule.keyframes.css", 165 | "settings": { 166 | "fontStyle": "bold", 167 | "foreground": "#000000" 168 | } 169 | }, 170 | { 171 | "scope": "token.info-token", 172 | "settings": { 173 | "foreground": "#316bcd" 174 | } 175 | }, 176 | { 177 | "scope": "token.warn-token", 178 | "settings": { 179 | "foreground": "#cd9731" 180 | } 181 | }, 182 | { 183 | "scope": "token.error-token", 184 | "settings": { 185 | "foreground": "#cd3131" 186 | } 187 | }, 188 | { 189 | "scope": "token.debug-token", 190 | "settings": { 191 | "foreground": "#800080" 192 | } 193 | } 194 | ] 195 | } -------------------------------------------------------------------------------- /themes/NetBeansLight.tmTheme: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | name 6 | NetBeansJS 7 | settings 8 | 9 | 10 | settings 11 | 12 | background 13 | #FFFFFF 14 | caret 15 | #000000 16 | foreground 17 | #000000 18 | invisibles 19 | #FFFFFF 20 | lineHighlight 21 | #E9EFF8 22 | selection 23 | #B0C5E3 24 | findMatchHighlight 25 | #FFB442CC 26 | currentFindMatchHighlight 27 | #B0C5E3CC 28 | wordHighlight 29 | #ECEBA3CC 30 | 31 | 32 | 33 | name 34 | Class and Interface Name 35 | scope 36 | 37 | entity.name.type.class, 38 | entity.name.type.interface 39 | 40 | settings 41 | 42 | fontStyle 43 | bold 44 | foreground 45 | #000000 46 | 47 | 48 | 49 | name 50 | Inherited Class Name 51 | scope 52 | 53 | entity.other.inherited-class 54 | 55 | settings 56 | 57 | foreground 58 | #000000 59 | 60 | 61 | 62 | name 63 | Function Name 64 | scope 65 | 66 | entity.name.function, 67 | meta.definition.method.ts entity.name.function.ts 68 | 69 | settings 70 | 71 | fontStyle 72 | bold 73 | foreground 74 | #000000 75 | 76 | 77 | 78 | name 79 | Constant Other 80 | scope 81 | 82 | constant.other 83 | 84 | settings 85 | 86 | fontStyle 87 | italic 88 | foreground 89 | #009900 90 | 91 | 92 | 93 | name 94 | Comment 95 | scope 96 | 97 | comment, 98 | comment.block.documentation.js, 99 | comment.line.double-slash.js, 100 | entity.name.type.instance.jsdoc, 101 | variable.other.jsdoc 102 | 103 | settings 104 | 105 | foreground 106 | #969696 107 | 108 | 109 | 110 | name 111 | Comment: Annotations 112 | scope 113 | 114 | storage.type.class.jsdoc, 115 | keyword.other.documentation 116 | 117 | settings 118 | 119 | fontStyle 120 | bold 121 | foreground 122 | #969696 123 | 124 | 125 | 126 | name 127 | Regex 128 | scope 129 | string.regexp.js 130 | settings 131 | 132 | foreground 133 | #9933CC 134 | 135 | 136 | 137 | name 138 | Keywords 139 | scope 140 | 141 | keyword, 142 | storage, 143 | constant.language, 144 | entity.name.tag, 145 | punctuation.definition.tag 146 | storage.type.function.js, 147 | storage.type.js, 148 | variable.language.this, 149 | variable.language.java, 150 | variable.language.super.ts, 151 | keyword.control, 152 | keyword.operator.new, 153 | keyword.operator.expression.typeof.js, 154 | keyword.operator.expression.delete.js, 155 | keyword.operator.expression.instanceof.js, 156 | keyword.other.import, 157 | keyword.other.import.static, 158 | keyword.other.package, 159 | support.type.primitive.ts 160 | 161 | settings 162 | 163 | foreground 164 | #0000E6 165 | 166 | 167 | 168 | name 169 | Object Field 170 | scope 171 | 172 | support.type.property-name.json, 173 | entity.other.attribute-name, 174 | meta.object-literal.key, 175 | variable.other.property, 176 | variable.other.object.property, 177 | variable.other.constant.property.js, 178 | variable.other.constant.object.property.js, 179 | support.variable.property.dom.js, 180 | variable.object.property 181 | 182 | settings 183 | 184 | foreground 185 | #009900 186 | 187 | 188 | 189 | name 190 | String 191 | scope 192 | 193 | string, 194 | punctuation.definition.string.begin.js, 195 | punctuation.definition.string.end.js, 196 | string.quoted.single.js, 197 | string.quoted.double.js 198 | 199 | settings 200 | 201 | foreground 202 | #CE7B00 203 | 204 | 205 | 206 | name 207 | Separators 208 | scope 209 | 210 | punctation, 211 | punctuation.terminator.statement.js, 212 | punctuation.separator.key-value.js, 213 | punctuation.separator.comma.js, 214 | punctuation.definition.block.js, 215 | punctuation.accessor.js, 216 | punctuation.definition.parameters.begin.js, 217 | punctuation.definition.parameters.end.js 218 | 219 | settings 220 | 221 | foreground 222 | #000000 223 | 224 | 225 | 226 | name 227 | Global 228 | scope 229 | 230 | support.variable.dom.ts 231 | 232 | settings 233 | 234 | foreground 235 | #9F0D79 236 | 237 | 238 | 239 | name 240 | Operators 241 | scope 242 | 243 | keyword.operator, 244 | storage.type.function.arrow 245 | 246 | settings 247 | 248 | foreground 249 | #000000 250 | 251 | 252 | 253 | name 254 | Identifier 255 | scope 256 | 257 | variable, 258 | meta.function-call.ts entity.name.function.ts, 259 | meta.function-call.js entity.name.function.js, 260 | support.function, 261 | support.variable.property.js, 262 | storage.modifier.import, 263 | storage.modifier.package, 264 | storage.type.annotation, 265 | storage.type.generic, 266 | storage.type.object.array, 267 | storage.type.java 268 | 269 | settings 270 | 271 | foreground 272 | #000000 273 | fontStyle 274 | plain 275 | 276 | 277 | 278 | name 279 | Class Name 280 | scope 281 | support.class.js 282 | settings 283 | 284 | foreground 285 | #000000 286 | 287 | 288 | 289 | name 290 | HTML and XML: Doctype 291 | scope 292 | 293 | meta.tag.sgml.doctype.html, 294 | meta.tag.sgml.doctype.xml, 295 | keyword.other.doctype.xml, 296 | variable.language.documentroot.xml 297 | 298 | settings 299 | 300 | foreground 301 | #628FB5 302 | 303 | 304 | 305 | name 306 | HTML and XML: Tags 307 | scope 308 | 309 | entity.name.tag, 310 | punctuation.definition.tag.xml, 311 | punctuation.definition.tag.html, 312 | punctuation.definition.tag.begin.html, 313 | punctuation.definition.tag.end.html 314 | 315 | settings 316 | 317 | foreground 318 | #0000E6 319 | 320 | 321 | 322 | name 323 | CSS: Property Name 324 | scope 325 | 326 | support.type.property-name.css 327 | 328 | settings 329 | 330 | foreground 331 | #0000E6 332 | 333 | 334 | 335 | name 336 | CSS: Property Value 337 | scope 338 | 339 | keyword.other 340 | 341 | settings 342 | 343 | foreground 344 | #000000 345 | 346 | 347 | 348 | name 349 | CSS: At Rule 350 | scope 351 | 352 | keyword.control.at-rule.keyframes.css 353 | 354 | settings 355 | 356 | fontStyle 357 | bold 358 | foreground 359 | #000000 360 | 361 | 362 | 363 | uuid 364 | D8D5E82E-3D5B-46B5-B38E-8C841C21347D 365 | colorSpaceName 366 | sRGB 367 | semanticClass 368 | theme.light.net_beans_js 369 | author 370 | Ondřej Brejla 371 | 372 | --------------------------------------------------------------------------------