GruvDark Theme
Publisher: Darian ToledoThemes in package: 8
Retro-Modern Groove.
Retro-Modern Groove.
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 |
|---|---|---|
| comment, string.comment, punctuation.definition.comment | #696971 | — |
| variable | #cdc5b8 | — |
| variable, support.variable, meta.definition.variable, meta.function-call.arguments.python | #cdc5b8 | — |
| constant.other.color | #ffffff | — |
| invalid, invalid.illegal | #FF5370 | — |
| keyword, storage.type, storage.modifier | #5B98C9 | — |
| keyword.control, constant.other.color, punctuation, meta.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution, keyword.operator.spread | #5b98c9 | — |
| entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter | #db6a6a | — |
| entity.name.function, meta.function-call, variable.function, support.function, keyword.other.special-method, constant.other.caps.rust, support.function.misc.css | #db6a6a | — |
| string.other.link | #db6a6a | — |
| support.constant, constant.character, constant.escape, variable.parameter, keyword.other.unit, keyword.other, keyword.operator.bitwise.shift.js | #5b98c9 | — |
| string, constant.other.symbol, constant.other.key, entity.other.inherited-class, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js | #C3E88D | — |
| entity.name, support.type, support.class, entity.name.type.class, support.other.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types, support.type.python | #4db0bd | — |
| support.type | #4db0bd | — |
| source.css support.type.property-name, source.sass support.type.property-name, source.scss support.type.property-name, source.less support.type.property-name, source.stylus support.type.property-name, source.postcss support.type.property-name | #4db0bd | — |
| entity.name.module.js, variable.import.parameter.js, variable.other.class.js | #FF5370 | — |
| variable.language | #FF5370 | — |
| entity.name.method.js | #82AAFF | — |
| meta.class-method.js entity.name.function.js, variable.function.constructor | #82AAFF | — |
| text.html.basic entity.other.attribute-name.html, text.html.basic entity.other.attribute-name | #FFCB6B | — |
| entity.other.attribute-name.class | #FFCB6B | — |
| source.sass keyword.control | #82AAFF | — |
| markup.inserted | #C3E88D | — |
| markup.deleted | #FF5370 | — |
| string.regexp | #db6a6a | — |
| constant.character.escape | #db6a6a | — |
| *url*, *link*, *uri* | — | underline |
| tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js | #82AAFF | italic |
| source.js constant.other.object.key.js string.unquoted.label.js | #FF5370 | italic |
| source.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #db6a6a | — |
| punctuation.support.type.property-name.begin.json.comments, punctuation.support.type.property-name.end.json.comments, punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json | #db6a6a | — |
| constant.numeric.json.comments, constant.numeric.json, constant.language.json.comments | #D19A66 | — |
| text.html.markdown, punctuation.definition.list_item.markdown | #cdc5b8 | — |
| entity.name.section.markdown | #d19f66 | — |
| constant.character.entity.named.nbsp.html | #cdc5b8 | — |
| text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown | #65737E | — |
| markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown | #d19f66 | — |
| markup.italic | #db6a6a | italic |
| markup.bold, markup.bold string | #db6a6a | bold |
| markup.bold markup.italic, markup.italic markup.bold, markup.quote markup.bold, markup.bold markup.italic string, markup.italic markup.bold string, markup.quote markup.bold string | #db6a6a | bold |
| markup.underline | #76b568 | underline |
| markup.quote punctuation.definition.blockquote.markdown | #65737E | — |
| markup.quote | — | |
| string.other.link.title.markdown, string.other.link.description.markdown | #CD60B9 | — |
| constant.other.reference.link.markdown | #FFCB6B | — |
| markup.raw.block.fenced.markdown, variable.language.fenced.markdown, punctuation.section.class.end | #CDC5B8 | — |
| variable.language.fenced.markdown | #65737E | — |
| meta.separator | #65737E | bold |
| markup.table | #CDC5B8 | — |
| punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.definition.tag.end.js.jsx, punctuation.definition.tag.begin.js.jsx, punctuation.definition.tag.begin.js, punctuation.definition.tag.end.js | #db6a6a | — |
| punctuation.separator.key-value.html, entity.other.attribute-name.html, entity.other.attribute-name.js.jsx, entity.other.attribute-name.js | #9266da | — |
| text.html.derivative, meta.jsx.children.js.jsx, meta.jsx.children.js | #cdc5b8 | — |
| entity.other.attribute-name.class.css, entity.other.attribute-name.pseudo-class.css, punctuation.definition.entity.css, entity.other.attribute-name | #db6a6a | — |
| support.type.property-name.css, support.type.property-name.media.css | #5b98c9 | — |
| support.function.transform.css | #db6a6a | — |
| constant.numeric.css, keyword.other.unit.percentage.css, keyword.other.unit.px.css, keyword.other.unit.fr.css, keyword.other.unit.vh.css, keyword.other.unit | #D19A66 | — |
| keyword.control.at-rule.media.css, keyword.control.at-rule.import.css, punctuation.definition.keyword.css, keyword.other.important.css | #CD60B9 | — |
| keyword.operator.combinator.css, support.constant.font-name.css, support.constant.color.css, support.constant.color.w3c-standard-color-name.css, support.constant.color.w3c-extended-color-name.css, punctuation.definition.constant.css, constant.other.color.rgb-value.hex.css, meta.property-value.css, meta.property-name.css, support.constant.property-value.css, variable.argument.css, variable.css, keyword.operator.comparison.css | #cdc5b8 | — |
| punctuation, meta.brace.square, meta.brace.round, keyword.operator.access.dot.rust, keyword.operator.namespace.rust | #cdc5b8 | — |
| meta.embedded.line | #76b568 | — |
| punctuation.definition.string, string, constant.character.format.placeholder.other.python | #76b568 | — |
| keyword.operator.assignment, keyword.operator.arithmetic, storage.type.function.arrow, keyword.operator.logical, keyword.operator.comparison, keyword.operator.increment, keyword.operator.decrement, keyword.operator.relational.js, keyword.operator.unpacking.arguments.python, keyword.operator.borrow.and.rust, keyword.operator.ternary.js | #5b98c9 | — |
| storage.type, storage.modifier.mut.rust | #5b98c9 | — |
| keyword.control, keyword.operator, keyword.control.flow, keyword.control.conditional, keyword.control.loop, storage.type.function.js, storage.type.class.js, storage.type.class.python, storage.type.function.python, keyword.other.rust | #CD60B9 | — |
| variable.parameter | #cdc5b8 | — |
| punctuation.definition.template-expression | #DB6A6A | — |
| constant.numeric.decimal, constant.language.boolean.true, constant.language.boolean.false, variable.language.this, constant.language, constant.numeric.dec.python, constant.numeric.hex.rust, constant.numeric | #d19f66 | — |
TypeScript sample highlighted with this variant's colors and tokenColors.
Loading...
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}!`;
}