Full workbench mockup using this variant's colors and tokenColors.
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| comment, comment markup.underline.link, comment string, comment punctuation.definition, comment punctuation, comment text | #b8b1b2 | italic |
| comment storage.type | #b8b1b2 | — |
| comment entity.name.type | #b8b1b2 | — |
| comment variable, comment variable.other | #b8b1b2 | — |
| comment keyword, comment entity.name.tag, entity.name.tag.documentation | #b8b1b2 | — |
| comment keyword.codetag.notation | #afafd6 | — |
| comment.git-status.header.remote | #fd93a3 | — |
| comment.git-status.header.local | #90c8be | — |
| comment.other.git-status.head | #b8b1b2 | — |
| string.quoted.docstring, string.quoted.docstring punctuation.definition | #b8b1b2 | — |
| constant | #a8a9eb | — |
| constant.other | #fff1f3 | — |
| constant.other.caps | #a8a9eb | — |
| constant.other.placeholder | #f38d70 | — |
| constant.other.property | #a8a9eb | — |
| constant.other.citation.latex | #a8a9eb | — |
| constant.other.color | #a8a9eb | — |
| constant.other.character-class.escape | #a8a9eb | — |
| constant.other.key | #a8a9eb | — |
| constant.other.symbol | #f38d70 | — |
| constant.other.elm | #85dacc | — |
| constant.numeric | #a8a9eb | — |
| constant.language | #a8a9eb | — |
| constant.character.escape | #a8a9eb | — |
| constant.numeric.line-number.find-in-files | #9FA4AB | — |
| constant.numeric.line-number.match.find-in-files | #f9cc6c | — |
| entity.name.section | #f9cc6c | — |
| entity.name.function, entity.name.function.templated, entity.name.function.member.static | #adda78 | — |
| entity.name.type.class.templated, entity.name.type.class.generic, entity.name.type.namespace | #85dacc | — |
| entity.name.label | #a8a9eb | — |
| entity.name.function.preprocessor | #85dacc | — |
| entity.name | #adda78 | — |
| entity.name.class | #85dacc | — |
| entity.name.constant | #a8a9eb | — |
| entity.name.namespace | #fff1f3 | — |
| entity.other.inherited-class | #85dacc | italic |
| entity.name.function | #adda78 | — |
| entity.name.tag, entity.name.tag.js.jsx support.class.component.js.jsx, entity.name.tag support.class.component, source.vue support.class.component | #fd6883 | — |
| source.ansible entity.name.tag | #85dacc | — |
| entity.name.function.operator | #fd6883 | — |
| meta.brackets entity.name.function.operator, punctuation.separator entity.name.function.operator | #AFA5A6 | — |
| entity.name.type, entity.name.type.class.reference, entity.name.type.class.value | #85dacc | — |
| entity.other.attribute-name | #85dacc | italic |
| entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector-suffix.css, entity.other.attribute-name.parent-selector-suffix.css punctuation.definition.entity.css, entity.other.attribute-name.css, entity.other.animation-name.css | #adda78 | — |
| entity.other.attribute-name.id.css | #f38d70 | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.pseudo-class.css, entity.other.pseudo-element.css | #85dacc | italic |
| entity.name.function, support.function | #adda78 | — |
| entity.other.git-status.hex | #a8a9eb | — |
| entity.other.jinja2.delimiter | #AFA5A6 | — |
| entity.name.operator.custom-literal | #fff1f3 | — |
| entity.name.operator.custom-literal.string | #f9cc6c | — |
| entity.name.operator.custom-literal.number | #a8a9eb | — |
| entity.name.type.rust | #85dacc | — |
| entity.name.lifetime.rust | #fd6883 | — |
| invalid | #fd6883 | italic underline |
| invalid.deprecated | #f38d70 | italic underline |
| keyword | #fd6883 | — |
| keyword.control | #fd6883 | — |
| keyword.control.directive | #fd6883 | — |
| keyword.operator, keyword.operator.member, keyword.operator.new | #fd6883 | — |
| keyword.other.substitution | #AFA5A6 | — |
| keyword.other.template.begin, keyword.other.template.end | #fd6883 | — |
| keyword.operator.heading.restructuredtext, keyword.operator.table.row.restructuredtext keyword.operator.table.data.restructuredtext | #AFA5A6 | — |
| keyword.other.parenthesis.elm | #AFA5A6 | — |
| keyword.other.fn.rust, keyword.other.rust, keyword.other.unsafe.rust, keyword.other.where.rust | #85dacc | — |
| keyword.control.rust, keyword.operator.misc.rust | #fd6883 | — |
| keyword.declaration.class.ruby, keyword.declaration.function.ruby, keyword.declaration.namespace.ruby | #fd6883 | — |
| markup.italic | — | italic |
| markup.bold | — | bold |
| markup.heading | #f9cc6c | — |
| markup.raw | #f38d70 | — |
| markup.underline | — | underline |
| markup.underline.link | #adda78 | — |
| markup.inserted, markup.inserted punctuation.definition.inserted | #c5ff8f | — |
| markup.deleted, markup.deleted punctuation.definition.deleted | #ff92a8 | — |
| markup.changed, markup.changed punctuation.definition.changed | #f9cc6c | — |
| markup.ignored, markup.ignored punctuation.definition.ignored | #AFA5A6 | — |
| markup.untracked | #AFA5A6 | — |
| markup.quote | — | italic |
| meta.brace.round, meta.brace.square, meta.brace.curly, meta.delimiter.comma.js, meta.function-call.without-arguments.js, meta.function-call.method.without-arguments.js | #AFA5A6 | — |
| meta.function-call.generic.python, support.function.builtin.python | #adda78 | — |
| meta.function-call.python meta.function-call.arguments.python | #fff1f3 | — |
| meta.interpolation | #f38d70 | — |
| meta.instance.constructor | #adda78 | — |
| meta.attribute-with-value.class string, meta.attribute.class.html string | #adda78 | — |
| meta.attribute-with-value.id string, meta.attribute.id.html string | #f38d70 | — |
| source.json meta.mapping.key string | #fff1f3 | — |
| source.yaml meta.mapping.key string | #fd6883 | — |
| meta.object.member | #fff1f3 | — |
| meta.property-list.css variable.other | #f38d70 | — |
| entity.name.constant.preprocessor, meta.preprocessor | #a8a9eb | — |
| meta.diff.git-diff.header | #f9cc6c | — |
| meta.type_params.rust | #fff1f3 | — |
| meta.attribute.rust, meta.annotation.rust, variable.language.rust, variable.annotation.rust, meta.annotation.rust string, meta.annotation.rust keyword, meta.annotation.rust keyword.operator, meta.attribute.rust string | #c3b7b8 | — |
| meta.type variable, meta.type variable.other.readwrite | #a8a9eb | — |
| punctuation | #AFA5A6 | — |
| punctuation.definition.tag, punctuation.definition.tag source, punctuation.definition.group.begin.ruby, punctuation.definition.group.end.ruby, punctuation.definition.group.begin.css, punctuation.definition.group.end.css, punctuation.definition.string.end.html source.css, punctuation.definition.block, punctuation.definition.parameters.begin, punctuation.definition.parameters.end, punctuation.separator.parameter, punctuation.accessor, punctuation.terminator | #AFA5A6 | — |
| punctuation.definition.group | #fff1f3 | — |
| punctuation.definition.comment | #b8b1b2 | — |
| punctuation.definition.variable, punctuation.definition.keyword.scss, punctuation.definition.entity.css | #c3b7b8 | — |
| punctuation.section.embedded, punctuation.section.embedded entity.name.tag, punctuation.section.embedded constant.other, punctuation.section.embedded source, punctuation.section.embedded.begin | #f38d70 | — |
| punctuation.template-string.element.begin, punctuation.template-string.element.end, punctuation.definition.string.template.begin, punctuation.definition.string.template.end, string.quoted.template punctuation.definition.string.begin, string.quoted.template punctuation.definition.string.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end | #fd6883 | — |
| meta.paragraph.markdown meta.dummy.line-break, meta.paragraph.markdown meta.hard-line-break.markdown | — | — |
| markup.underline.link punctuation | #adda78 | — |
| meta.brace.round, meta.brace.square, keyword.operator.type.annotation, meta.type storage.modifier.array | #AFA5A6 | — |
| region.redish | #fd6883 | — |
| region.orangish | #f38d70 | — |
| region.yellowish | #f9cc6c | — |
| region.greenish | #adda78 | — |
| region.bluish | #85dacc | — |
| region.purplish | #a8a9eb | — |
| region.pinkish | #fd6883 | — |
| region.whitish | #FFFFFF | — |
| source | #fff1f3 | — |
| source.scss, source.sass | #AFA5A6 | — |
| source.sass variable.other, source.sass variable.sass, source.scss variable.other, source.scss variable.scss, source.scss variable.sass, source.css variable.other, source.css variable.scss, source.less variable.other, source.less variable.other.less, source.less variable.declaration.less | #f38d70 | italic |
| source.git-show.commit.sha | #a8a9eb | — |
| source.git-show.author, source.git-show.date, source.git-diff.command, source.git-diff.command meta.diff.git-diff.header.from-file, source.git-diff.command meta.diff.git-diff.header.to-file | #AFA5A6 | — |
| source.git-show meta.diff.git-diff.header.extended.index.from-sha, source.git-show meta.diff.git-diff.header.extended.index.to-sha | #a8a9eb | — |
| source.git-show meta.diff.range.unified | #f38d70 | — |
| source.git-show meta.diff.header.from-file, source.git-show meta.diff.header.to-file | #AFA5A6 | — |
| storage | #fd6883 | — |
| storage.type | #85dacc | italic |
| storage.type.extends | #fd6883 | normal |
| storage.type.function.arrow | #fd6883 | normal |
| storage.modifier, storage.type.modifier | #fd6883 | italic |
| storage.class.restructuredtext.ref | #a8a9eb | — |
| storage.modifier.visibility.rust, storage.modifier.lifetime.rust | #fd6883 | — |
| storage.type.rust, storage.modifier.const.rust, storage.modifier.dyn.rust, storage.modifier.mut.rust, storage.modifier.static.rust, keyword.other.rust, keyword.other.where.rust | #fd6883 | — |
| storage.modifier.import.java | #fff1f3 | — |
| string | #f9cc6c | — |
| string.unquoted.label | #fff1f3 | — |
| string source | #fff1f3 | — |
| string source punctuation.section.embedded, string punctuation.definition.string source | #AFA5A6 | — |
| string.other.link.title, string.other.link.description | #fd6883 | — |
| string.other.link.description.title | #85dacc | — |
| string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end | #fd6883 | — |
| string.other.ref, string.other.restructuredtext.ref | #adda78 | — |
| string.other.git-status.help.key | #c3b7b8 | — |
| string.other.git-status.remote | #fd6883 | — |
| support.constant | #85dacc | — |
| support.constant.handlebars | #AFA5A6 | — |
| support.type.vendor-prefix.css | #c3b7b8 | — |
| support.function | #adda78 | — |
| support.macro | #adda78 | — |
| support.function.delimiter.elm | #AFA5A6 | — |
| support.type, entity.name.type.object.console | #85dacc | italic |
| support.variable, support.variable.property | #85dacc | — |
| support.type.property-name | #fff1f3 | normal |
| support.class | #85dacc | — |
| support.constant.core.rust | #a8a9eb | — |
| comment support, comment support.class | #b8b1b2 | — |
| text | #fff1f3 | — |
| text.find-in-files | #fff1f3 | — |
| variable, variable.other | #fff1f3 | — |
| variable.parameter, parameters variable.function | #f38d70 | italic |
| variable.language, variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #c3b7b8 | italic |
| variable.language.arguments | #a8a9eb | — |
| variable.other.class | #85dacc | — |
| variable.other.constant | #a8a9eb | — |
| variable.other.readwrite | #fff1f3 | — |
| variable.other.member | #fff1f3 | — |
| variable.other.enummember | #a8a9eb | — |
| variable.other.property, variable.other.property.static, variable.other.event | #fff1f3 | — |
| variable.function | #adda78 | — |
| variable.other.substitution | #f38d70 | — |
| source.ruby variable.other.readwrite.instance.ruby, source.ruby variable.other.readwrite.class.ruby | #a8a9eb | — |
| source.jinja2 variable.other.jinja2.block | #adda78 | — |
| source.jinja2 variable.other.jinja2 | #f38d70 | — |
TypeScript sample highlighted with this variant's colors and tokenColors.
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}!`;
}