Vela Spectrum
An inclusive, accessible theme for VS Code with support for dark, light, high contrast, and color vision variations (Protanopia, Deuteranopia, Tritanopia). Designed for clarity, beauty, and universal readability.
An inclusive, accessible theme for VS Code with support for dark, light, high contrast, and color vision variations (Protanopia, Deuteranopia, Tritanopia). Designed for clarity, beauty, and universal readability.
Full workbench mockup using this variant's colors and tokenColors.
Loading...
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| source.rust | #000000 | — |
| keyword.other.rust | #b183f2 | — |
| storage.type.function.rust | #8493ff | — |
| entity.name.function.rust | #8493ff | — |
| entity.name.type.rust, entity.name.enum.rust, entity.name.struct.rust, entity.name.trait.rust | #8493ff | — |
| variable.other.constant.rust | #6caf92 | — |
| keyword.control.match.rust, keyword.control.conditional.rust, keyword.control.loop.rust | #b183f2 | — |
| punctuation.separator.colon.rust, punctuation.separator.arrow.rust, punctuation.separator.double-colon.rust | #7c8186 | — |
| keyword.operator.macro.rust | #8493ff | bold |
| support.type.module.rust | #6fa7c4 | — |
| variable.parameter.rust | #67b27d | — |
| source.go | #000000 | — |
| keyword.other.function.go, keyword.other.method.go | #8493ff | — |
| entity.name.function.go | #8493ff | — |
| storage.type.struct.go, storage.type.interface.go, storage.type.map.go, storage.type.channel.go | #8493ff | — |
| entity.name.type.go | #8493ff | — |
| variable.parameter.go | #67b27d | — |
| keyword.package.go, keyword.import.go, keyword.var.go, keyword.const.go, keyword.type.go | #b183f2 | — |
| keyword.control.go, keyword.control.conditional.go, keyword.control.loop.go | #b183f2 | — |
| keyword.operator.assignment.go | #8493ff | — |
| constant.language.blank.go | #6caf92 | — |
| source.python | #000000 | — |
| keyword.control.flow.python, keyword.control.import.python, keyword.control.def.python | #b183f2 | — |
| entity.name.function.python | #8493ff | — |
| support.function.builtin.python | #8493ff | — |
| entity.name.class.python | #da7ba7 | — |
| variable.parameter.function.language.python | #67b27d | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #67b27d | italic |
| meta.function.decorator.python | #da7ba7 | — |
| meta.function.decorator.python punctuation.definition.decorator.python | #da7ba7 | — |
| constant.language.python | #6caf92 | — |
| variable.language.special.self.python | #6caf92 | italic |
| string.quoted.docstring.multi.python, string.quoted.docstring.single.python | #7c818699 | italic |
| keyword.operator.logical.python, keyword.operator.comparison.python, keyword.operator.arithmetic.python | #8493ff | — |
| punctuation.separator.period.python, punctuation.separator.colon.python | #7c8186 | — |
| source.ts, source.tsx | #000000 | — |
| meta.interface.ts, meta.type.declaration.ts | #8493ff | — |
| entity.name.type.interface.ts, entity.name.type.alias.ts | #8493ff | — |
| meta.enum.member.ts | #6caf92 | — |
| keyword.operator.type.annotation.ts, keyword.operator.type.assertion.ts, keyword.operator.optional.ts | #8493ff | — |
| keyword.operator.expression.as, keyword.operator.expression.is | #8493ff | — |
| support.type.primitive.ts, support.type.builtin.ts | #8493ff | — |
| variable.other.readwrite.alias.ts | #6caf92 | — |
| meta.type.parameters.ts | #8493ff | — |
| keyword.operator.keyof, keyword.operator.typeof, keyword.operator.infer | #b183f2 | — |
| meta.element.jsx, meta.element.tsx | #8493ff | — |
| entity.name.tag.jsx, entity.name.tag.tsx | #8493ff | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #8493ff | — |
| support.constant.property-value.jsx, support.constant.property-value.tsx | #6caf92 | — |
| meta.tag.attributes.jsx, meta.tag.attributes.tsx | #000000 | — |
| punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx, punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx | #e57d62 | — |
| support.function.component.react, support.function.component.nextjs | #8493ff | — |
| variable.other.constant.property.react, variable.other.constant.property.nextjs | #6caf92 | — |
| support.function.react, support.function.nextjs | #8493ff | — |
| variable.other.hook.js, variable.other.hook.ts, variable.other.hook.jsx, variable.other.hook.tsx | #8190fe | bold |
| text.html.vue | #000000 | — |
| meta.tag.block.any.html | #8493ff | — |
| entity.name.tag.block.template.vue | #8493ff | — |
| entity.name.tag.script.vue | #8493ff | — |
| entity.name.tag.style.vue | #8493ff | — |
| variable.other.attribute.vue | #8493ff | — |
| support.attribute.vue | #8493ff | — |
| keyword.control.directive.vue | #b183f2 | — |
| directive.vue | #b183f2 | — |
| punctuation.definition.directive.vue | #7c8186 | — |
| string.template.vue | #6dabaa | — |
| punctuation.embedded.template.vue | #e57d62 | — |
| variable.other.template.vue | #6caf92 | — |
| support.slot.vue | #67b27d | — |
| constant.other.key.vue | #6caf92 | — |
| meta.tag.svelte | #8493ff | — |
| entity.name.tag.svelte | #8493ff | — |
| variable.other.svelte | #6caf92 | — |
| support.function.svelte | #8493ff | — |
| directive.svelte | #b183f2 | — |
| punctuation.definition.directive.svelte | #7c8186 | — |
| string.template.svelte | #6dabaa | — |
| punctuation.embedded.template.svelte | #e57d62 | — |
| entity.name.tag.template.angular, entity.name.tag.component.angular | #8493ff | — |
| variable.other.property.angular | #8493ff | — |
| support.directive.angular | #b183f2 | — |
| support.attribute.angular | #8493ff | — |
| support.function.pure.angular, support.function.async.angular | #8493ff | — |
| string.template.expression.angular | #e57d62 | — |
| support.function.jsx.solid, support.function.hook.solid | #8190fe | bold |
| variable.other.constant.property.solid | #6caf92 | — |
| variable.other.signal.solid | #6caf92 | — |
| support.type.primitive.solid | #8493ff | — |
| support.type.property-name.tailwind, support.type.class-name.tailwind | #8190fe | — |
| support.function.class-name.tailwind | #8190fe | bold |
| variable.other.attribute-name.class.css | #8190fe | — |
| support.type.class-name.unocss, support.type.property-name.unocss | #8190fe | — |
| support.function.class-name.unocss | #8190fe | bold |
| variable.other.attribute-name.class.unocss | #8190fe | — |
| source.graphql | #000000 | — |
| variable.graphql | #6caf92 | — |
| string.graphql | #6dabaa | — |
| support.field.graphql | #8493ff | — |
| support.constant.yaml | #6caf92 | — |
| entity.name.tag.yaml | #8493ff | — |
| constant.other.object.key.json | #8493ff | — |
| terminal.ansiGreen | #287443 | — |
| terminal.ansiRed | #802103 | — |
| debugTokenExpression.name | #6caf92 | — |
| debugTokenExpression.value | #000000 | — |
| editor.suggestWidgetStatusDetailForeground | #252a3099 | — |
| codelens | #252a30cc | — |
| testing.iconPassed | #137d41 | — |
| testing.iconFailed | #e57d62 | — |
| testing.runAction | #8190fe | — |
| constant.other.eslint | #b8655b | — |
| constant.other.pylint | #947e46 | — |
| variable.other.unused.rust | #252a3080 | italic |
| chat.requestBorder | #d1d9e0 | — |
| chat.requestBackground | — | — |
| chat.slashCommandBackground | — | — |
| chat.slashCommandForeground | #8190fe | — |
| chat.avatarBackground | — | — |
| chat.avatarForeground | #000000 | — |
| inlineChat.background | — | — |
| inlineChat.foreground | #000000 | — |
| inlineChat.border | — | — |
| inlineChat.acceptedSuggestionBorder | — | — |
| inlineChat.rejectedSuggestionBorder | — | — |
| editorLightBulb.foreground | #6ca4c2 | — |
| editorLightBulbAutoFix.foreground | #137d4180 | — |
| editorLightBulbAi.foreground | #f285b8 | — |
| comment, punctuation.definition.comment, string.comment | #7c818699 | italic |
| constant, entity.name.constant, variable.other.enummember, variable.language, entity | #6caf92 | — |
| entity.name, meta.export.default, meta.definition.variable | #6caf92 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, meta.object.member, meta.embedded.expression, meta.js.jsx.children | #000000 | — |
| entity.name.tag, support.class.component | #8493ff | — |
| keyword | #b183f2 | — |
| storage | #8493ff | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #bc9a41 | — |
| string punctuation.section.embedded source | #6dabaa | — |
| support | #67b27d99 | — |
| meta.property-name | #8493ff | — |
| variable.other | #6caf92 | — |
| invalid.broken | #e57d62 | italic |
| invalid.deprecated | #bc9a41 | italic |
| invalid.illegal | #e57d62 | italic |
| invalid.unimplemented | #bc9a41 | italic |
| carriage-return | #e57d62 | italic underline |
| message.error | #e57d62 | — |
| string variable | #6caf92 | — |
| source.regexp, string.regexp | #8493ff | — |
| constant.character.escape | #000000 | — |
| string.regexp.character-class, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #8493ff | — |
| string.regexp constant.character.escape | #8493ff | bold |
| support.constant | #67b27d | — |
| support.variable | #6caf92 | — |
| support.type.property-name.json | #8493ff | — |
| meta.module-reference | #6fa7c4 | — |
| punctuation.definition.list.begin.markdown | #7c8186 | — |
| punctuation.definition.list.end.markdown | #7c8186 | — |
| markup.heading, markup.heading entity.name | #8493ff | bold |
| markup.quote | #8493ff | — |
| markup.italic | #bc9a41 | italic |
| markup.bold | #bc9a41 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #8493ff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #e57d62 | — |
| punctuation.section.embedded | #e57d62 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #67b27d | — |
| markup.changed, punctuation.definition.changed | #bc9a41 | — |
| markup.ignored, markup.untracked | #9a9fa5 | — |
| meta.diff.range | #67b27d | bold |
| meta.diff.header | #8493ff | — |
| meta.separator | #8493ff | bold |
| meta.output | #8493ff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #3d444d | — |
| brackethighlighter.unmatched | #e57d62 | — |
| constant.other.reference.link, string.other.link | #8493ff | underline |
| constant.language | #f07366 | |
| support.type.property-name | #8493ff | |
| string | #6dabaa | |
| entity.name.function | #8493ff | |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php, punctuation.definition.parameters.end | #f285b8 | |
| entity.name.type | #8493ff | |
| meta.embedded | #f285b8 | — |
| support.function | #8493ff | — |
| storage.type | #8493ff | — |
| storage.modifier | #bc9a41 | — |
| variable | #6caf92 | — |
| variable.other.readwrite | #6caf92 | — |
| variable.other.readwrite.js | #f285b8 | — |
| variable.other.object | #6caf92 | — |
| variable.other.property.static | #8493ff | bold |
| entity.name.function.arrow | #8493ff | — |
| keyword.operator.expression.ternary | #8493ff | — |
| keyword.operator | #8493ff | |
| support.class | #da7ba7 | |
| punctuation.separator.key-value.html | #f285b8 | |
| punctuation.definition.tag | #f285b8 | |
| punctuation.definition.string.begin.js, punctuation.definition.string.end.js | #f285b8 | |
| punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.definition.string.template.begin.js, punctuation.definition.string.template.end.js | #6eb081 | |
| punctuation.definition.string.begin.sql, punctuation.definition.string.end.sql | #137d41 | |
| keyword.other.DML.sql, source.sql.embedded.php, string.quoted.single.sql.php, string.quoted.single.php | #b9973f | |
| string.quoted.other.backtick.sql | #b9973f | |
| variable.other.property.js, entity.name.function.member | #b9973f | |
| string.quoted.double.html, string.quoted.single.js, string.quoted.double.js, string.template.js | #252a30 | |
| text.html.php | #252a30 | |
| meta.embedded.block.html | #000000 | — |
| punctuation.definition.template-expression.begin | #e57d62 | — |
| punctuation.definition.template-expression.end | #e57d62 | — |
| variable.other.constant, variable.other.constant.object.js, punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js | #6ca4c2 | |
| punctuation.separator.comma.js | #137d41 | |
| punctuation.definition.string.begin.php, punctuation.definition.string.end.php | #f285b8 | |
| punctuation.accessor.js | #000000 | — |
| variable.css | #6eb081 | — |
| variable.argument.css | #6ca4c2 | — |
| constant.other.color.rgb-value, support.constant.property-value | #b9973f | — |
| punctuation.separator.list.comma.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css, meta.function.calc.css, keyword.operator.arithmetic.css, punctuation.definition.entity.css | #137d41 | — |
| punctuation.definition.string.begin.css, punctuation.definition.string.end.css | #f285b8 | — |
| string.quoted.single.css | #252a30 | — |
| keyword.other.unit.px.css, keyword.other.unit.rem.css, keyword.other.unit.em.css, keyword.other.unit.deg.css, keyword.other.unit.ms.css, keyword.other.unit.vw.css, keyword.other.unit.vh.css, keyword.other.unit, keyword.other.unit.s.css | #6ca4c2 | — |
| constant.numeric.css | #b9973f | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.class.css | #8190fe | — |
| entity.name.tag.css | #6ca4c2 | — |
| meta.template.expression | #000000 | — |
| string.template.expression | #6caf92 | — |
| support.type.property-name.css | #8190fe | — |
| entity.other.keyframe-offset.css | #8190fe | — |
| support.constant.vendored.property-value.css, support.constant.font-name.css | #f285b8 | — |
| entity.other.attribute-name.pseudo-element.css | #8190fe | — |
| support.type.property-name.media.css, support.constant.media.css | #6eb081 | — |
| keyword.operator.logical.only.media.css, keyword.operator.logical.and.media.css, string.quoted.double.css | #137d41 | — |
| entity.other.attribute-name.id.css | #8190fe | — |
| support.function.transform.css | #8190fe | — |
| entity.other.keyframe-offset.percentage.css | #f285b8 | — |
| token.info-token | #6fa7c4 | — |
| token.warn-token | #bc9a41 | — |
| token.error-token | #e57d62 | — |
| variable.other.global.php | #6eb081 | — |
| token.debug-token | #6eb081 | — |
| constant.numeric | #f07366 | — |
| meta.structure.dictionary.value.json, meta.structure.dictionary.json, source.json | #d1d9e0 | — |
| storage.type.class.jsdoc | #8493ff | — |
| code-runner.output | #8493ff | — |
Full workbench mockup using this variant's colors and tokenColors.
Loading...
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| source.rust | #f6f8fa | — |
| keyword.other.rust | #c744ff | — |
| storage.type.function.rust | #766eff | — |
| entity.name.function.rust | #766eff | — |
| entity.name.type.rust, entity.name.enum.rust, entity.name.struct.rust, entity.name.trait.rust | #766eff | — |
| variable.other.constant.rust | #00bd85 | — |
| keyword.control.match.rust, keyword.control.conditional.rust, keyword.control.loop.rust | #c744ff | — |
| punctuation.separator.colon.rust, punctuation.separator.arrow.rust, punctuation.separator.double-colon.rust | #78818c | — |
| keyword.operator.macro.rust | #766eff | bold |
| support.type.module.rust | #00ace9 | — |
| variable.parameter.rust | #00c254 | — |
| source.go | #f6f8fa | — |
| keyword.other.function.go, keyword.other.method.go | #766eff | — |
| entity.name.function.go | #766eff | — |
| storage.type.struct.go, storage.type.interface.go, storage.type.map.go, storage.type.channel.go | #766eff | — |
| entity.name.type.go | #766eff | — |
| variable.parameter.go | #00c254 | — |
| keyword.package.go, keyword.import.go, keyword.var.go, keyword.const.go, keyword.type.go | #c744ff | — |
| keyword.control.go, keyword.control.conditional.go, keyword.control.loop.go | #c744ff | — |
| keyword.operator.assignment.go | #766eff | — |
| constant.language.blank.go | #00bd85 | — |
| source.python | #f6f8fa | — |
| keyword.control.flow.python, keyword.control.import.python, keyword.control.def.python | #c744ff | — |
| entity.name.function.python | #766eff | — |
| support.function.builtin.python | #766eff | — |
| entity.name.class.python | #ff3aaf | — |
| variable.parameter.function.language.python | #00c254 | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #00c254 | italic |
| meta.function.decorator.python | #ff3aaf | — |
| meta.function.decorator.python punctuation.definition.decorator.python | #ff3aaf | — |
| constant.language.python | #00bd85 | — |
| variable.language.special.self.python | #00bd85 | italic |
| string.quoted.docstring.multi.python, string.quoted.docstring.single.python | #78818c99 | italic |
| keyword.operator.logical.python, keyword.operator.comparison.python, keyword.operator.arithmetic.python | #766eff | — |
| punctuation.separator.period.python, punctuation.separator.colon.python | #78818c | — |
| source.ts, source.tsx | #f6f8fa | — |
| meta.interface.ts, meta.type.declaration.ts | #766eff | — |
| entity.name.type.interface.ts, entity.name.type.alias.ts | #766eff | — |
| meta.enum.member.ts | #00bd85 | — |
| keyword.operator.type.annotation.ts, keyword.operator.type.assertion.ts, keyword.operator.optional.ts | #766eff | — |
| keyword.operator.expression.as, keyword.operator.expression.is | #766eff | — |
| support.type.primitive.ts, support.type.builtin.ts | #766eff | — |
| variable.other.readwrite.alias.ts | #00bd85 | — |
| meta.type.parameters.ts | #766eff | — |
| keyword.operator.keyof, keyword.operator.typeof, keyword.operator.infer | #c744ff | — |
| meta.element.jsx, meta.element.tsx | #766eff | — |
| entity.name.tag.jsx, entity.name.tag.tsx | #766eff | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #766eff | — |
| support.constant.property-value.jsx, support.constant.property-value.tsx | #00bd85 | — |
| meta.tag.attributes.jsx, meta.tag.attributes.tsx | #f6f8fa | — |
| punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx, punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx | #ff3400 | — |
| support.function.component.react, support.function.component.nextjs | #766eff | — |
| variable.other.constant.property.react, variable.other.constant.property.nextjs | #00bd85 | — |
| support.function.react, support.function.nextjs | #766eff | — |
| variable.other.hook.js, variable.other.hook.ts, variable.other.hook.jsx, variable.other.hook.tsx | #caddff | bold |
| text.html.vue | #f6f8fa | — |
| meta.tag.block.any.html | #766eff | — |
| entity.name.tag.block.template.vue | #766eff | — |
| entity.name.tag.script.vue | #766eff | — |
| entity.name.tag.style.vue | #766eff | — |
| variable.other.attribute.vue | #766eff | — |
| support.attribute.vue | #766eff | — |
| keyword.control.directive.vue | #c744ff | — |
| directive.vue | #c744ff | — |
| punctuation.definition.directive.vue | #78818c | — |
| string.template.vue | #969fab | — |
| punctuation.embedded.template.vue | #ff3400 | — |
| variable.other.template.vue | #00bd85 | — |
| support.slot.vue | #00c254 | — |
| constant.other.key.vue | #00bd85 | — |
| meta.tag.svelte | #766eff | — |
| entity.name.tag.svelte | #766eff | — |
| variable.other.svelte | #00bd85 | — |
| support.function.svelte | #766eff | — |
| directive.svelte | #c744ff | — |
| punctuation.definition.directive.svelte | #78818c | — |
| string.template.svelte | #969fab | — |
| punctuation.embedded.template.svelte | #ff3400 | — |
| entity.name.tag.template.angular, entity.name.tag.component.angular | #766eff | — |
| variable.other.property.angular | #766eff | — |
| support.directive.angular | #c744ff | — |
| support.attribute.angular | #766eff | — |
| support.function.pure.angular, support.function.async.angular | #766eff | — |
| string.template.expression.angular | #ff3400 | — |
| support.function.jsx.solid, support.function.hook.solid | #caddff | bold |
| variable.other.constant.property.solid | #00bd85 | — |
| variable.other.signal.solid | #00bd85 | — |
| support.type.primitive.solid | #766eff | — |
| support.type.property-name.tailwind, support.type.class-name.tailwind | #caddff | — |
| support.function.class-name.tailwind | #caddff | bold |
| variable.other.attribute-name.class.css | #caddff | — |
| support.type.class-name.unocss, support.type.property-name.unocss | #caddff | — |
| support.function.class-name.unocss | #caddff | bold |
| variable.other.attribute-name.class.unocss | #caddff | — |
| source.graphql | #f6f8fa | — |
| variable.graphql | #00bd85 | — |
| string.graphql | #969fab | — |
| support.field.graphql | #766eff | — |
| support.constant.yaml | #00bd85 | — |
| entity.name.tag.yaml | #766eff | — |
| constant.other.object.key.json | #766eff | — |
| terminal.ansiGreen | #00810b | — |
| terminal.ansiRed | #ac0000 | — |
| debugTokenExpression.name | #00bd85 | — |
| debugTokenExpression.value | #f6f8fa | — |
| editor.suggestWidgetStatusDetailForeground | #9198a199 | — |
| codelens | #9198a1cc | — |
| testing.iconPassed | #1dffa2 | — |
| testing.iconFailed | #ff3400 | — |
| testing.runAction | #caddff | — |
| constant.other.eslint | #e5302a | — |
| constant.other.pylint | #a77700 | — |
| variable.other.unused.rust | #9198a180 | italic |
| chat.requestBorder | #3d444d | — |
| chat.requestBackground | — | — |
| chat.slashCommandBackground | — | — |
| chat.slashCommandForeground | #caddff | — |
| chat.avatarBackground | — | — |
| chat.avatarForeground | #f6f8fa | — |
| inlineChat.background | — | — |
| inlineChat.foreground | #f6f8fa | — |
| inlineChat.border | — | — |
| inlineChat.acceptedSuggestionBorder | — | — |
| inlineChat.rejectedSuggestionBorder | — | — |
| editorLightBulb.foreground | #8cffff | — |
| editorLightBulbAutoFix.foreground | #1dffa280 | — |
| editorLightBulbAi.foreground | #ff30c1 | — |
| comment, punctuation.definition.comment, string.comment | #78818c99 | italic |
| constant, entity.name.constant, variable.other.enummember, variable.language, entity | #00bd85 | — |
| entity.name, meta.export.default, meta.definition.variable | #00bd85 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, meta.object.member, meta.embedded.expression, meta.js.jsx.children | #f6f8fa | — |
| entity.name.tag, support.class.component | #766eff | — |
| keyword | #c744ff | — |
| storage | #766eff | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #d88f00 | — |
| string punctuation.section.embedded source | #969fab | — |
| support | #00c25499 | — |
| meta.property-name | #766eff | — |
| variable.other | #00bd85 | — |
| invalid.broken | #ff3400 | italic |
| invalid.deprecated | #d88f00 | italic |
| invalid.illegal | #ff3400 | italic |
| invalid.unimplemented | #d88f00 | italic |
| carriage-return | #ff3400 | italic underline |
| message.error | #ff3400 | — |
| string variable | #00bd85 | — |
| source.regexp, string.regexp | #766eff | — |
| constant.character.escape | #f6f8fa | — |
| string.regexp.character-class, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #766eff | — |
| string.regexp constant.character.escape | #766eff | bold |
| support.constant | #00c254 | — |
| support.variable | #00bd85 | — |
| support.type.property-name.json | #766eff | — |
| meta.module-reference | #00ace9 | — |
| punctuation.definition.list.begin.markdown | #78818c | — |
| punctuation.definition.list.end.markdown | #78818c | — |
| markup.heading, markup.heading entity.name | #766eff | bold |
| markup.quote | #766eff | — |
| markup.italic | #d88f00 | italic |
| markup.bold | #d88f00 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #766eff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #ff3400 | — |
| punctuation.section.embedded | #ff3400 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #00c254 | — |
| markup.changed, punctuation.definition.changed | #d88f00 | — |
| markup.ignored, markup.untracked | #969fab | — |
| meta.diff.range | #00c254 | bold |
| meta.diff.header | #766eff | — |
| meta.separator | #766eff | bold |
| meta.output | #766eff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #3d444d | — |
| brackethighlighter.unmatched | #ff3400 | — |
| constant.other.reference.link, string.other.link | #766eff | underline |
| constant.language | #ff0000 | |
| support.type.property-name | #766eff | |
| string | #969fab | |
| entity.name.function | #766eff | |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php, punctuation.definition.parameters.end | #ff30c1 | |
| entity.name.type | #766eff | |
| meta.embedded | #ff30c1 | — |
| support.function | #766eff | — |
| storage.type | #766eff | — |
| storage.modifier | #d88f00 | — |
| variable | #00bd85 | — |
| variable.other.readwrite | #00bd85 | — |
| variable.other.readwrite.js | #ff30c1 | — |
| variable.other.object | #00bd85 | — |
| variable.other.property.static | #766eff | bold |
| entity.name.function.arrow | #766eff | — |
| keyword.operator.expression.ternary | #766eff | — |
| keyword.operator | #766eff | |
| support.class | #ff3aaf | |
| punctuation.separator.key-value.html | #ff30c1 | |
| punctuation.definition.tag | #ff30c1 | |
| punctuation.definition.string.begin.js, punctuation.definition.string.end.js | #ff30c1 | |
| punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.definition.string.template.begin.js, punctuation.definition.string.template.end.js | #00bf5d | |
| punctuation.definition.string.begin.sql, punctuation.definition.string.end.sql | #1dffa2 | |
| keyword.other.DML.sql, source.sql.embedded.php, string.quoted.single.sql.php, string.quoted.single.php | #fff300 | |
| string.quoted.other.backtick.sql | #fff300 | |
| variable.other.property.js, entity.name.function.member | #fff300 | |
| string.quoted.double.html, string.quoted.single.js, string.quoted.double.js, string.template.js | #9198a1 | |
| text.html.php | #9198a1 | |
| meta.embedded.block.html | #f6f8fa | — |
| punctuation.definition.template-expression.begin | #ff3400 | — |
| punctuation.definition.template-expression.end | #ff3400 | — |
| variable.other.constant, variable.other.constant.object.js, punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js | #8cffff | |
| punctuation.separator.comma.js | #1dffa2 | |
| punctuation.definition.string.begin.php, punctuation.definition.string.end.php | #ff30c1 | |
| punctuation.accessor.js | #f6f8fa | — |
| variable.css | #00bf5d | — |
| variable.argument.css | #8cffff | — |
| constant.other.color.rgb-value, support.constant.property-value | #fff300 | — |
| punctuation.separator.list.comma.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css, meta.function.calc.css, keyword.operator.arithmetic.css, punctuation.definition.entity.css | #1dffa2 | — |
| punctuation.definition.string.begin.css, punctuation.definition.string.end.css | #ff30c1 | — |
| string.quoted.single.css | #9198a1 | — |
| keyword.other.unit.px.css, keyword.other.unit.rem.css, keyword.other.unit.em.css, keyword.other.unit.deg.css, keyword.other.unit.ms.css, keyword.other.unit.vw.css, keyword.other.unit.vh.css, keyword.other.unit, keyword.other.unit.s.css | #8cffff | — |
| constant.numeric.css | #fff300 | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.class.css | #caddff | — |
| entity.name.tag.css | #8cffff | — |
| meta.template.expression | #f6f8fa | — |
| string.template.expression | #00bd85 | — |
| support.type.property-name.css | #caddff | — |
| entity.other.keyframe-offset.css | #caddff | — |
| support.constant.vendored.property-value.css, support.constant.font-name.css | #ff30c1 | — |
| entity.other.attribute-name.pseudo-element.css | #caddff | — |
| support.type.property-name.media.css, support.constant.media.css | #00bf5d | — |
| keyword.operator.logical.only.media.css, keyword.operator.logical.and.media.css, string.quoted.double.css | #1dffa2 | — |
| entity.other.attribute-name.id.css | #caddff | — |
| support.function.transform.css | #caddff | — |
| entity.other.keyframe-offset.percentage.css | #ff30c1 | — |
| token.info-token | #00ace9 | — |
| token.warn-token | #d88f00 | — |
| token.error-token | #ff3400 | — |
| variable.other.global.php | #00bf5d | — |
| token.debug-token | #00bf5d | — |
| constant.numeric | #ff0000 | — |
| meta.structure.dictionary.value.json, meta.structure.dictionary.json, source.json | #3d444d | — |
| storage.type.class.jsdoc | #766eff | — |
| code-runner.output | #766eff | — |
Full workbench mockup using this variant's colors and tokenColors.
Loading...
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| source.rust | #000000 | — |
| keyword.other.rust | #c744ff | — |
| storage.type.function.rust | #766eff | — |
| entity.name.function.rust | #766eff | — |
| entity.name.type.rust, entity.name.enum.rust, entity.name.struct.rust, entity.name.trait.rust | #766eff | — |
| variable.other.constant.rust | #00bd85 | — |
| keyword.control.match.rust, keyword.control.conditional.rust, keyword.control.loop.rust | #c744ff | — |
| punctuation.separator.colon.rust, punctuation.separator.arrow.rust, punctuation.separator.double-colon.rust | #78818c | — |
| keyword.operator.macro.rust | #766eff | bold |
| support.type.module.rust | #00ace9 | — |
| variable.parameter.rust | #00c254 | — |
| source.go | #000000 | — |
| keyword.other.function.go, keyword.other.method.go | #766eff | — |
| entity.name.function.go | #766eff | — |
| storage.type.struct.go, storage.type.interface.go, storage.type.map.go, storage.type.channel.go | #766eff | — |
| entity.name.type.go | #766eff | — |
| variable.parameter.go | #00c254 | — |
| keyword.package.go, keyword.import.go, keyword.var.go, keyword.const.go, keyword.type.go | #c744ff | — |
| keyword.control.go, keyword.control.conditional.go, keyword.control.loop.go | #c744ff | — |
| keyword.operator.assignment.go | #766eff | — |
| constant.language.blank.go | #00bd85 | — |
| source.python | #000000 | — |
| keyword.control.flow.python, keyword.control.import.python, keyword.control.def.python | #c744ff | — |
| entity.name.function.python | #766eff | — |
| support.function.builtin.python | #766eff | — |
| entity.name.class.python | #ff3aaf | — |
| variable.parameter.function.language.python | #00c254 | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #00c254 | italic |
| meta.function.decorator.python | #ff3aaf | — |
| meta.function.decorator.python punctuation.definition.decorator.python | #ff3aaf | — |
| constant.language.python | #00bd85 | — |
| variable.language.special.self.python | #00bd85 | italic |
| string.quoted.docstring.multi.python, string.quoted.docstring.single.python | #78818c99 | italic |
| keyword.operator.logical.python, keyword.operator.comparison.python, keyword.operator.arithmetic.python | #766eff | — |
| punctuation.separator.period.python, punctuation.separator.colon.python | #78818c | — |
| source.ts, source.tsx | #000000 | — |
| meta.interface.ts, meta.type.declaration.ts | #766eff | — |
| entity.name.type.interface.ts, entity.name.type.alias.ts | #766eff | — |
| meta.enum.member.ts | #00bd85 | — |
| keyword.operator.type.annotation.ts, keyword.operator.type.assertion.ts, keyword.operator.optional.ts | #766eff | — |
| keyword.operator.expression.as, keyword.operator.expression.is | #766eff | — |
| support.type.primitive.ts, support.type.builtin.ts | #766eff | — |
| variable.other.readwrite.alias.ts | #00bd85 | — |
| meta.type.parameters.ts | #766eff | — |
| keyword.operator.keyof, keyword.operator.typeof, keyword.operator.infer | #c744ff | — |
| meta.element.jsx, meta.element.tsx | #766eff | — |
| entity.name.tag.jsx, entity.name.tag.tsx | #766eff | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #766eff | — |
| support.constant.property-value.jsx, support.constant.property-value.tsx | #00bd85 | — |
| meta.tag.attributes.jsx, meta.tag.attributes.tsx | #000000 | — |
| punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx, punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx | #ff3400 | — |
| support.function.component.react, support.function.component.nextjs | #766eff | — |
| variable.other.constant.property.react, variable.other.constant.property.nextjs | #00bd85 | — |
| support.function.react, support.function.nextjs | #766eff | — |
| variable.other.hook.js, variable.other.hook.ts, variable.other.hook.jsx, variable.other.hook.tsx | #210061 | bold |
| text.html.vue | #000000 | — |
| meta.tag.block.any.html | #766eff | — |
| entity.name.tag.block.template.vue | #766eff | — |
| entity.name.tag.script.vue | #766eff | — |
| entity.name.tag.style.vue | #766eff | — |
| variable.other.attribute.vue | #766eff | — |
| support.attribute.vue | #766eff | — |
| keyword.control.directive.vue | #c744ff | — |
| directive.vue | #c744ff | — |
| punctuation.definition.directive.vue | #78818c | — |
| string.template.vue | #00b6b7 | — |
| punctuation.embedded.template.vue | #ff3400 | — |
| variable.other.template.vue | #00bd85 | — |
| support.slot.vue | #00c254 | — |
| constant.other.key.vue | #00bd85 | — |
| meta.tag.svelte | #766eff | — |
| entity.name.tag.svelte | #766eff | — |
| variable.other.svelte | #00bd85 | — |
| support.function.svelte | #766eff | — |
| directive.svelte | #c744ff | — |
| punctuation.definition.directive.svelte | #78818c | — |
| string.template.svelte | #00b6b7 | — |
| punctuation.embedded.template.svelte | #ff3400 | — |
| entity.name.tag.template.angular, entity.name.tag.component.angular | #766eff | — |
| variable.other.property.angular | #766eff | — |
| support.directive.angular | #c744ff | — |
| support.attribute.angular | #766eff | — |
| support.function.pure.angular, support.function.async.angular | #766eff | — |
| string.template.expression.angular | #ff3400 | — |
| support.function.jsx.solid, support.function.hook.solid | #210061 | bold |
| variable.other.constant.property.solid | #00bd85 | — |
| variable.other.signal.solid | #00bd85 | — |
| support.type.primitive.solid | #766eff | — |
| support.type.property-name.tailwind, support.type.class-name.tailwind | #210061 | — |
| support.function.class-name.tailwind | #210061 | bold |
| variable.other.attribute-name.class.css | #210061 | — |
| support.type.class-name.unocss, support.type.property-name.unocss | #210061 | — |
| support.function.class-name.unocss | #210061 | bold |
| variable.other.attribute-name.class.unocss | #210061 | — |
| source.graphql | #000000 | — |
| variable.graphql | #00bd85 | — |
| string.graphql | #00b6b7 | — |
| support.field.graphql | #766eff | — |
| support.constant.yaml | #00bd85 | — |
| entity.name.tag.yaml | #766eff | — |
| constant.other.object.key.json | #766eff | — |
| terminal.ansiGreen | #00810b | — |
| terminal.ansiRed | #ac0000 | — |
| debugTokenExpression.name | #00bd85 | — |
| debugTokenExpression.value | #000000 | — |
| editor.suggestWidgetStatusDetailForeground | #252a3099 | — |
| codelens | #252a30cc | — |
| testing.iconPassed | #000400 | — |
| testing.iconFailed | #ff3400 | — |
| testing.runAction | #210061 | — |
| constant.other.eslint | #e5302a | — |
| constant.other.pylint | #a77700 | — |
| variable.other.unused.rust | #252a3080 | italic |
| chat.requestBorder | #d1d9e0 | — |
| chat.requestBackground | — | — |
| chat.slashCommandBackground | — | — |
| chat.slashCommandForeground | #210061 | — |
| chat.avatarBackground | — | — |
| chat.avatarForeground | #000000 | — |
| inlineChat.background | — | — |
| inlineChat.foreground | #000000 | — |
| inlineChat.border | — | — |
| inlineChat.acceptedSuggestionBorder | — | — |
| inlineChat.rejectedSuggestionBorder | — | — |
| editorLightBulb.foreground | #000013 | — |
| editorLightBulbAutoFix.foreground | #00040080 | — |
| editorLightBulbAi.foreground | #ff30c1 | — |
| comment, punctuation.definition.comment, string.comment | #78818c99 | italic |
| constant, entity.name.constant, variable.other.enummember, variable.language, entity | #00bd85 | — |
| entity.name, meta.export.default, meta.definition.variable | #00bd85 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, meta.object.member, meta.embedded.expression, meta.js.jsx.children | #000000 | — |
| entity.name.tag, support.class.component | #766eff | — |
| keyword | #c744ff | — |
| storage | #766eff | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #d88f00 | — |
| string punctuation.section.embedded source | #00b6b7 | — |
| support | #00c25499 | — |
| meta.property-name | #766eff | — |
| variable.other | #00bd85 | — |
| invalid.broken | #ff3400 | italic |
| invalid.deprecated | #d88f00 | italic |
| invalid.illegal | #ff3400 | italic |
| invalid.unimplemented | #d88f00 | italic |
| carriage-return | #ff3400 | italic underline |
| message.error | #ff3400 | — |
| string variable | #00bd85 | — |
| source.regexp, string.regexp | #766eff | — |
| constant.character.escape | #000000 | — |
| string.regexp.character-class, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #766eff | — |
| string.regexp constant.character.escape | #766eff | bold |
| support.constant | #00c254 | — |
| support.variable | #00bd85 | — |
| support.type.property-name.json | #766eff | — |
| meta.module-reference | #00ace9 | — |
| punctuation.definition.list.begin.markdown | #78818c | — |
| punctuation.definition.list.end.markdown | #78818c | — |
| markup.heading, markup.heading entity.name | #766eff | bold |
| markup.quote | #766eff | — |
| markup.italic | #d88f00 | italic |
| markup.bold | #d88f00 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #766eff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #ff3400 | — |
| punctuation.section.embedded | #ff3400 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #00c254 | — |
| markup.changed, punctuation.definition.changed | #d88f00 | — |
| markup.ignored, markup.untracked | #969fab | — |
| meta.diff.range | #00c254 | bold |
| meta.diff.header | #766eff | — |
| meta.separator | #766eff | bold |
| meta.output | #766eff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #3d444d | — |
| brackethighlighter.unmatched | #ff3400 | — |
| constant.other.reference.link, string.other.link | #766eff | underline |
| constant.language | #ff0000 | |
| support.type.property-name | #766eff | |
| string | #00b6b7 | |
| entity.name.function | #766eff | |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php, punctuation.definition.parameters.end | #ff30c1 | |
| entity.name.type | #766eff | |
| meta.embedded | #ff30c1 | — |
| support.function | #766eff | — |
| storage.type | #766eff | — |
| storage.modifier | #d88f00 | — |
| variable | #00bd85 | — |
| variable.other.readwrite | #00bd85 | — |
| variable.other.readwrite.js | #ff30c1 | — |
| variable.other.object | #00bd85 | — |
| variable.other.property.static | #766eff | bold |
| entity.name.function.arrow | #766eff | — |
| keyword.operator.expression.ternary | #766eff | — |
| keyword.operator | #766eff | |
| support.class | #ff3aaf | |
| punctuation.separator.key-value.html | #ff30c1 | |
| punctuation.definition.tag | #ff30c1 | |
| punctuation.definition.string.begin.js, punctuation.definition.string.end.js | #ff30c1 | |
| punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.definition.string.template.begin.js, punctuation.definition.string.template.end.js | #00bf5d | |
| punctuation.definition.string.begin.sql, punctuation.definition.string.end.sql | #000400 | |
| keyword.other.DML.sql, source.sql.embedded.php, string.quoted.single.sql.php, string.quoted.single.php | #001700 | |
| string.quoted.other.backtick.sql | #001700 | |
| variable.other.property.js, entity.name.function.member | #001700 | |
| string.quoted.double.html, string.quoted.single.js, string.quoted.double.js, string.template.js | #252a30 | |
| text.html.php | #252a30 | |
| meta.embedded.block.html | #000000 | — |
| punctuation.definition.template-expression.begin | #ff3400 | — |
| punctuation.definition.template-expression.end | #ff3400 | — |
| variable.other.constant, variable.other.constant.object.js, punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js | #000013 | |
| punctuation.separator.comma.js | #000400 | |
| punctuation.definition.string.begin.php, punctuation.definition.string.end.php | #ff30c1 | |
| punctuation.accessor.js | #000000 | — |
| variable.css | #00bf5d | — |
| variable.argument.css | #000013 | — |
| constant.other.color.rgb-value, support.constant.property-value | #001700 | — |
| punctuation.separator.list.comma.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css, meta.function.calc.css, keyword.operator.arithmetic.css, punctuation.definition.entity.css | #000400 | — |
| punctuation.definition.string.begin.css, punctuation.definition.string.end.css | #ff30c1 | — |
| string.quoted.single.css | #252a30 | — |
| keyword.other.unit.px.css, keyword.other.unit.rem.css, keyword.other.unit.em.css, keyword.other.unit.deg.css, keyword.other.unit.ms.css, keyword.other.unit.vw.css, keyword.other.unit.vh.css, keyword.other.unit, keyword.other.unit.s.css | #000013 | — |
| constant.numeric.css | #001700 | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.class.css | #210061 | — |
| entity.name.tag.css | #000013 | — |
| meta.template.expression | #000000 | — |
| string.template.expression | #00bd85 | — |
| support.type.property-name.css | #210061 | — |
| entity.other.keyframe-offset.css | #210061 | — |
| support.constant.vendored.property-value.css, support.constant.font-name.css | #ff30c1 | — |
| entity.other.attribute-name.pseudo-element.css | #210061 | — |
| support.type.property-name.media.css, support.constant.media.css | #00bf5d | — |
| keyword.operator.logical.only.media.css, keyword.operator.logical.and.media.css, string.quoted.double.css | #000400 | — |
| entity.other.attribute-name.id.css | #210061 | — |
| support.function.transform.css | #210061 | — |
| entity.other.keyframe-offset.percentage.css | #ff30c1 | — |
| token.info-token | #00ace9 | — |
| token.warn-token | #d88f00 | — |
| token.error-token | #ff3400 | — |
| variable.other.global.php | #00bf5d | — |
| token.debug-token | #00bf5d | — |
| constant.numeric | #ff0000 | — |
| meta.structure.dictionary.value.json, meta.structure.dictionary.json, source.json | #d1d9e0 | — |
| storage.type.class.jsdoc | #766eff | — |
| code-runner.output | #766eff | — |
Full workbench mockup using this variant's colors and tokenColors.
Loading...
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| source.rust | #000000 | — |
| keyword.other.rust | #bc6aff | — |
| storage.type.function.rust | #7a84ff | — |
| entity.name.function.rust | #7a84ff | — |
| entity.name.type.rust, entity.name.enum.rust, entity.name.struct.rust, entity.name.trait.rust | #7a84ff | — |
| variable.other.constant.rust | #41b68b | — |
| keyword.control.match.rust, keyword.control.conditional.rust, keyword.control.loop.rust | #bc6aff | — |
| punctuation.separator.colon.rust, punctuation.separator.arrow.rust, punctuation.separator.double-colon.rust | #7a818a | — |
| keyword.operator.macro.rust | #7a84ff | bold |
| support.type.module.rust | #4aaad8 | — |
| variable.parameter.rust | #31bb69 | — |
| source.go | #000000 | — |
| keyword.other.function.go, keyword.other.method.go | #7a84ff | — |
| entity.name.function.go | #7a84ff | — |
| storage.type.struct.go, storage.type.interface.go, storage.type.map.go, storage.type.channel.go | #7a84ff | — |
| entity.name.type.go | #7a84ff | — |
| variable.parameter.go | #31bb69 | — |
| keyword.package.go, keyword.import.go, keyword.var.go, keyword.const.go, keyword.type.go | #bc6aff | — |
| keyword.control.go, keyword.control.conditional.go, keyword.control.loop.go | #bc6aff | — |
| keyword.operator.assignment.go | #7a84ff | — |
| constant.language.blank.go | #41b68b | — |
| source.python | #000000 | — |
| keyword.control.flow.python, keyword.control.import.python, keyword.control.def.python | #bc6aff | — |
| entity.name.function.python | #7a84ff | — |
| support.function.builtin.python | #7a84ff | — |
| entity.name.class.python | #f560ab | — |
| variable.parameter.function.language.python | #31bb69 | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #31bb69 | italic |
| meta.function.decorator.python | #f560ab | — |
| meta.function.decorator.python punctuation.definition.decorator.python | #f560ab | — |
| constant.language.python | #41b68b | — |
| variable.language.special.self.python | #41b68b | italic |
| string.quoted.docstring.multi.python, string.quoted.docstring.single.python | #7a818a99 | italic |
| keyword.operator.logical.python, keyword.operator.comparison.python, keyword.operator.arithmetic.python | #7a84ff | — |
| punctuation.separator.period.python, punctuation.separator.colon.python | #7a818a | — |
| source.ts, source.tsx | #000000 | — |
| meta.interface.ts, meta.type.declaration.ts | #7a84ff | — |
| entity.name.type.interface.ts, entity.name.type.alias.ts | #7a84ff | — |
| meta.enum.member.ts | #41b68b | — |
| keyword.operator.type.annotation.ts, keyword.operator.type.assertion.ts, keyword.operator.optional.ts | #7a84ff | — |
| keyword.operator.expression.as, keyword.operator.expression.is | #7a84ff | — |
| support.type.primitive.ts, support.type.builtin.ts | #7a84ff | — |
| variable.other.readwrite.alias.ts | #41b68b | — |
| meta.type.parameters.ts | #7a84ff | — |
| keyword.operator.keyof, keyword.operator.typeof, keyword.operator.infer | #bc6aff | — |
| meta.element.jsx, meta.element.tsx | #7a84ff | — |
| entity.name.tag.jsx, entity.name.tag.tsx | #7a84ff | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #7a84ff | — |
| support.constant.property-value.jsx, support.constant.property-value.tsx | #41b68b | — |
| meta.tag.attributes.jsx, meta.tag.attributes.tsx | #000000 | — |
| punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx, punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx | #ff6033 | — |
| support.function.component.react, support.function.component.nextjs | #7a84ff | — |
| variable.other.constant.property.react, variable.other.constant.property.nextjs | #41b68b | — |
| support.function.react, support.function.nextjs | #7a84ff | — |
| variable.other.hook.js, variable.other.hook.ts, variable.other.hook.jsx, variable.other.hook.tsx | #8490ff | bold |
| text.html.vue | #000000 | — |
| meta.tag.block.any.html | #7a84ff | — |
| entity.name.tag.block.template.vue | #7a84ff | — |
| entity.name.tag.script.vue | #7a84ff | — |
| entity.name.tag.style.vue | #7a84ff | — |
| variable.other.attribute.vue | #7a84ff | — |
| support.attribute.vue | #7a84ff | — |
| keyword.control.directive.vue | #bc6aff | — |
| directive.vue | #bc6aff | — |
| punctuation.definition.directive.vue | #7a818a | — |
| string.template.vue | #44b1b1 | — |
| punctuation.embedded.template.vue | #ff6033 | — |
| variable.other.template.vue | #41b68b | — |
| support.slot.vue | #31bb69 | — |
| constant.other.key.vue | #41b68b | — |
| meta.tag.svelte | #7a84ff | — |
| entity.name.tag.svelte | #7a84ff | — |
| variable.other.svelte | #41b68b | — |
| support.function.svelte | #7a84ff | — |
| directive.svelte | #bc6aff | — |
| punctuation.definition.directive.svelte | #7a818a | — |
| string.template.svelte | #44b1b1 | — |
| punctuation.embedded.template.svelte | #ff6033 | — |
| entity.name.tag.template.angular, entity.name.tag.component.angular | #7a84ff | — |
| variable.other.property.angular | #7a84ff | — |
| support.directive.angular | #bc6aff | — |
| support.attribute.angular | #7a84ff | — |
| support.function.pure.angular, support.function.async.angular | #7a84ff | — |
| string.template.expression.angular | #ff6033 | — |
| support.function.jsx.solid, support.function.hook.solid | #8490ff | bold |
| variable.other.constant.property.solid | #41b68b | — |
| variable.other.signal.solid | #41b68b | — |
| support.type.primitive.solid | #7a84ff | — |
| support.type.property-name.tailwind, support.type.class-name.tailwind | #8490ff | — |
| support.function.class-name.tailwind | #8490ff | bold |
| variable.other.attribute-name.class.css | #8490ff | — |
| support.type.class-name.unocss, support.type.property-name.unocss | #8490ff | — |
| support.function.class-name.unocss | #8490ff | bold |
| variable.other.attribute-name.class.unocss | #8490ff | — |
| source.graphql | #000000 | — |
| variable.graphql | #41b68b | — |
| string.graphql | #44b1b1 | — |
| support.field.graphql | #7a84ff | — |
| support.constant.yaml | #41b68b | — |
| entity.name.tag.yaml | #7a84ff | — |
| constant.other.object.key.json | #7a84ff | — |
| terminal.ansiGreen | #007c2d | — |
| terminal.ansiRed | #990000 | — |
| debugTokenExpression.name | #41b68b | — |
| debugTokenExpression.value | #000000 | — |
| editor.suggestWidgetStatusDetailForeground | #252a3099 | — |
| codelens | #252a30cc | — |
| testing.iconPassed | #00902d | — |
| testing.iconFailed | #ff6033 | — |
| testing.runAction | #8490ff | — |
| constant.other.eslint | #d14f44 | — |
| constant.other.pylint | #9f7b01 | — |
| variable.other.unused.rust | #252a3080 | italic |
| chat.requestBorder | #d1d9e0 | — |
| chat.requestBackground | — | — |
| chat.slashCommandBackground | — | — |
| chat.slashCommandForeground | #8490ff | — |
| chat.avatarBackground | — | — |
| chat.avatarForeground | #000000 | — |
| inlineChat.background | — | — |
| inlineChat.foreground | #000000 | — |
| inlineChat.border | — | — |
| inlineChat.acceptedSuggestionBorder | — | — |
| inlineChat.rejectedSuggestionBorder | — | — |
| editorLightBulb.foreground | #56b6e4 | — |
| editorLightBulbAutoFix.foreground | #00902d80 | — |
| editorLightBulbAi.foreground | #ff63bd | — |
| comment, punctuation.definition.comment, string.comment | #7a818a99 | italic |
| constant, entity.name.constant, variable.other.enummember, variable.language, entity | #41b68b | — |
| entity.name, meta.export.default, meta.definition.variable | #41b68b | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, meta.object.member, meta.embedded.expression, meta.js.jsx.children | #000000 | — |
| entity.name.tag, support.class.component | #7a84ff | — |
| keyword | #bc6aff | — |
| storage | #7a84ff | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #cb9500 | — |
| string punctuation.section.embedded source | #44b1b1 | — |
| support | #31bb6999 | — |
| meta.property-name | #7a84ff | — |
| variable.other | #41b68b | — |
| invalid.broken | #ff6033 | italic |
| invalid.deprecated | #cb9500 | italic |
| invalid.illegal | #ff6033 | italic |
| invalid.unimplemented | #cb9500 | italic |
| carriage-return | #ff6033 | italic underline |
| message.error | #ff6033 | — |
| string variable | #41b68b | — |
| source.regexp, string.regexp | #7a84ff | — |
| constant.character.escape | #000000 | — |
| string.regexp.character-class, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #7a84ff | — |
| string.regexp constant.character.escape | #7a84ff | bold |
| support.constant | #31bb69 | — |
| support.variable | #41b68b | — |
| support.type.property-name.json | #7a84ff | — |
| meta.module-reference | #4aaad8 | — |
| punctuation.definition.list.begin.markdown | #7a818a | — |
| punctuation.definition.list.end.markdown | #7a818a | — |
| markup.heading, markup.heading entity.name | #7a84ff | bold |
| markup.quote | #7a84ff | — |
| markup.italic | #cb9500 | italic |
| markup.bold | #cb9500 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #7a84ff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #ff6033 | — |
| punctuation.section.embedded | #ff6033 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #31bb69 | — |
| markup.changed, punctuation.definition.changed | #cb9500 | — |
| markup.ignored, markup.untracked | #989fa8 | — |
| meta.diff.range | #31bb69 | bold |
| meta.diff.header | #7a84ff | — |
| meta.separator | #7a84ff | bold |
| meta.output | #7a84ff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #3d444d | — |
| brackethighlighter.unmatched | #ff6033 | — |
| constant.other.reference.link, string.other.link | #7a84ff | underline |
| constant.language | #ff463f | |
| support.type.property-name | #7a84ff | |
| string | #44b1b1 | |
| entity.name.function | #7a84ff | |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php, punctuation.definition.parameters.end | #ff63bd | |
| entity.name.type | #7a84ff | |
| meta.embedded | #ff63bd | — |
| support.function | #7a84ff | — |
| storage.type | #7a84ff | — |
| storage.modifier | #cb9500 | — |
| variable | #41b68b | — |
| variable.other.readwrite | #41b68b | — |
| variable.other.readwrite.js | #ff63bd | — |
| variable.other.object | #41b68b | — |
| variable.other.property.static | #7a84ff | bold |
| entity.name.function.arrow | #7a84ff | — |
| keyword.operator.expression.ternary | #7a84ff | — |
| keyword.operator | #7a84ff | |
| support.class | #f560ab | |
| punctuation.separator.key-value.html | #ff63bd | |
| punctuation.definition.tag | #ff63bd | |
| punctuation.definition.string.begin.js, punctuation.definition.string.end.js | #ff63bd | |
| punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.definition.string.template.begin.js, punctuation.definition.string.template.end.js | #46b86f | |
| punctuation.definition.string.begin.sql, punctuation.definition.string.end.sql | #00902d | |
| keyword.other.DML.sql, source.sql.embedded.php, string.quoted.single.sql.php, string.quoted.single.php | #d7a000 | |
| string.quoted.other.backtick.sql | #d7a000 | |
| variable.other.property.js, entity.name.function.member | #d7a000 | |
| string.quoted.double.html, string.quoted.single.js, string.quoted.double.js, string.template.js | #252a30 | |
| text.html.php | #252a30 | |
| meta.embedded.block.html | #000000 | — |
| punctuation.definition.template-expression.begin | #ff6033 | — |
| punctuation.definition.template-expression.end | #ff6033 | — |
| variable.other.constant, variable.other.constant.object.js, punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js | #56b6e4 | |
| punctuation.separator.comma.js | #00902d | |
| punctuation.definition.string.begin.php, punctuation.definition.string.end.php | #ff63bd | |
| punctuation.accessor.js | #000000 | — |
| variable.css | #46b86f | — |
| variable.argument.css | #56b6e4 | — |
| constant.other.color.rgb-value, support.constant.property-value | #d7a000 | — |
| punctuation.separator.list.comma.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css, meta.function.calc.css, keyword.operator.arithmetic.css, punctuation.definition.entity.css | #00902d | — |
| punctuation.definition.string.begin.css, punctuation.definition.string.end.css | #ff63bd | — |
| string.quoted.single.css | #252a30 | — |
| keyword.other.unit.px.css, keyword.other.unit.rem.css, keyword.other.unit.em.css, keyword.other.unit.deg.css, keyword.other.unit.ms.css, keyword.other.unit.vw.css, keyword.other.unit.vh.css, keyword.other.unit, keyword.other.unit.s.css | #56b6e4 | — |
| constant.numeric.css | #d7a000 | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.class.css | #8490ff | — |
| entity.name.tag.css | #56b6e4 | — |
| meta.template.expression | #000000 | — |
| string.template.expression | #41b68b | — |
| support.type.property-name.css | #8490ff | — |
| entity.other.keyframe-offset.css | #8490ff | — |
| support.constant.vendored.property-value.css, support.constant.font-name.css | #ff63bd | — |
| entity.other.attribute-name.pseudo-element.css | #8490ff | — |
| support.type.property-name.media.css, support.constant.media.css | #46b86f | — |
| keyword.operator.logical.only.media.css, keyword.operator.logical.and.media.css, string.quoted.double.css | #00902d | — |
| entity.other.attribute-name.id.css | #8490ff | — |
| support.function.transform.css | #8490ff | — |
| entity.other.keyframe-offset.percentage.css | #ff63bd | — |
| token.info-token | #4aaad8 | — |
| token.warn-token | #cb9500 | — |
| token.error-token | #ff6033 | — |
| variable.other.global.php | #46b86f | — |
| token.debug-token | #46b86f | — |
| constant.numeric | #ff463f | — |
| meta.structure.dictionary.value.json, meta.structure.dictionary.json, source.json | #d1d9e0 | — |
| storage.type.class.jsdoc | #7a84ff | — |
| code-runner.output | #7a84ff | — |
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}