Zen Dark Theme
Publisher: Olivier CuenotThemes in package: 1
Dark theme with lots of zen
Dark theme with lots of zen
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 |
|---|---|---|
| — | #808080 | — |
| comment | #4f4e4eff | italic |
| keyword, storage | #5E6C83 | — |
| constant.numeric | #B35BA6 | — |
| constant | #BDA274 | — |
| constant.language | #D4B774 | — |
| variable.language, variable.other | #804B5E | — |
| string | #6B764E | — |
| constant.character.escape, string source | #8e7541ff | — |
| entity.name.function | #96926A | — |
| entity.name.type | #3B5D87 | — |
| entity.other.inherited-class | #71685eff | — |
| variable.parameter | #6f948bff | — |
| storage.type.method | #45464dff | |
| meta.section entity.name.section, declaration.section entity.name.section | #71685eff | |
| support.function | #383d2fff | — |
| support.class, support.type | #9E9473 | — |
| support.constant | #A66A5E | — |
| support.variable | #FCF9F9 | — |
| invalid | #FC0000C4 | — |
| invalid.deprecated | — | underline italic |
| invalid.deprecated.trailing-whitespace | #870c27ff | — |
| meta.tag.preprocessor.xml | #95B7CC | italic |
| meta.tag.sgml.doctype, meta.tag.sgml.doctype entity, meta.tag.preprocessor.xml, meta.tag.preprocessor.xml entity, meta.tag.preprocessor.xml string | #5697B0 | italic |
| text.html.mt meta.tag.sgml.html meta.tag.sgml.doctype.html | #7ed0e6ff | — |
| string.quoted.docinfo.doctype.DTD | #7D403A | italic |
| meta.tag, declaration.tag | #8C7A7287 | — |
| entity.name.tag | #B0A099 | — |
| entity.other.attribute-name | #7587A6 | — |
| text.html.mt meta.tag.any.html string.quoted.double.html | #6B764E | — |
| punctuation.definition.string.begin.html, punctuation.definition.string.end.html | #6B764EA1 | — |
| meta.attribute.unrecognized.*ngIf.html, meta.attribute.unrecognized.*ngFor.html | — | bold |
| text.html.derivative | #C7BA6D | — |
| entity.other.attribute-name.id.css | #CDA869 | bold |
| entity.other.attribute-name.class.css | #9B703F | bold |
| entity.other.less.mixin | #226A84 | — |
| entity.other.attribute-name.pseudo-element.css | #9B703FED | — |
| entity.name.tag.css | #CC7832 | bold |
| entity.other.attribute-name.pseudo-class.css | #9B703F | — |
| meta.preprocessor.at-rule keyword.control.at-rule | #2F6652 | — |
| meta.property-value support.constant.named-color.css, meta.property-value constant | #79B08C | — |
| meta.constructor.argument.css | #358C6B | — |
| support.constant.property-value.css | #6B764E | — |
| constant.other.color.rgb-value.hex.css punctuation.definition.constant.css | #99B5809E | — |
| constant.other.color.rgb-value.hex.css | #609e2eff | — |
| meta.attribute-selector.css string | #3ad40fff | — |
| keyword.other.unit, keyword.other.unit.css, keyword.other.unit.scss | #bf5a35a3 | — |
| constant.numeric.css | #BF5A35 | — |
| punctuation.separator.key-value, punctuation.separator.key-value.css | #3F4040 | — |
| punctuation.terminator.rule, punctuation.terminator.rule.css | #323333 | — |
| support.type.property-name.css | #7587A6 | — |
| support.function.url.css | #838dd6ff | — |
| punctuation.section.function.begin.bracket.round.css, punctuation.section.function.end.bracket.round.css | #53706D | — |
| variable.parameter.url.css | #2f3ebdff | underline |
| punctuation.section.property-list.begin.bracket.curly.css, punctuation.section.property-list.begin.bracket.curly.scss, punctuation.section.property-list.end.bracket.curly.css, punctuation.section.property-list.end.bracket.curly.scss | #615555 | — |
| punctuation.section.function.begin.bracket.round.css, punctuation.section.function.end.bracket.round.css | #6e186b9e | bold |
| entity.name.tag.reference.scss | #B3A354 | bold |
| variable.scss | #c20288ff | italic |
| text.xml | #7587A6 | — |
| entity.name.tag.localname.xml | #6B764E | — |
| punctuation.definition.tag.xml | #6B764EA1 | — |
| support.type.property-name.json, support.type.property-name.json.comments | #787669 | — |
| punctuation.support.type.property-name.begin.json.comments, punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json.comments, punctuation.support.type.property-name.end.json | #4A473D | — |
| string.quoted.double.json, string.quoted.double.json.comments | #65732F | — |
| punctuation.definition.string.begin.json, punctuation.definition.string.begin.json.comments, punctuation.definition.string.end.json, punctuation.definition.string.end.json.comments | #3F452C | — |
| punctuation.separator.dictionary.key-value.json, punctuation.separator.dictionary.key-value.json.comments | #545453 | — |
| punctuation.separator.dictionary.pair.json, punctuation.separator.dictionary.pair.json.comments | #666665 | — |
| constant.language.json, constant.language.json.comments | #7587A6 | — |
| punctuation.definition.array.begin.json, punctuation.definition.array.end.json | #8C1A81 | — |
| punctuation.separator.array.json | #5C1756 | — |
| #D48620CC | — | |
| punctuation.separator.dictionary.pair.json, punctuation.separator.dictionary.pair.json.comments | #694111C4 | — |
| constant.numeric.json | #BF5A35 | — |
| #B09D9D | — | |
| source.js | #B0ACA9 | — |
| keyword.operator.js | #7C5887 | — |
| meta.brace.curly.js | #91677dff | — |
| keyword.control.js | #9F70A1 | — |
| meta.brace.round.js | #B5830E | — |
| punctuation.terminator.statement.js | #B5AAA1CC | — |
| support.function.js | #64B396 | — |
| support.constant.dom.js | #6CCBEB | — |
| meta.class.instance.constructor entity.name.type.instance.js | #32A4D1 | — |
| support.type.primitive.js, support.type.primitive.ts | #82B5E8 | — |
| variable.object.property.js, variable.object.property.ts | #F0E8BD | — |
| storage.modifier.js, storage.modifier.ts | #B0AEAE | — |
| meta.decorator.ts, meta.decorator.ts meta.function-call.ts entity.name.function | #B5B017 | — |
| keyword.control.conditional | #AB8748 | — |
| variable.language.this | #870483 | — |
| meta.definition.method.ts | #DBD8DB | bold |
| meta.function-call.ts entity.name.function | #A37CA2 | — |
| entity.name.type.ts | #6DA2ED | — |
| source.ts string.quoted.single | #548F32 | — |
| variable.parameter.js, variable.parameter.ts | #D4C9D6 | — |
| variable.other.readwrite.ts | #C6BBC7 | — |
| punctuation.definition.typeparameters.begin.ts, punctuation.definition.typeparameters.end.ts | #6DA2EDB0 | — |
| new.expr.ts entity.name.function.ts, new.expr.ts meta.function-call.ts support.class.builtin.ts | #4C95ED | — |
| source.ts meta.class.ts meta.method.declaration.ts storage.type.ts | #FFFFFF | — |
| punctuation.definition.string.begin.ts, punctuation.definition.string.end.ts | #548F32C4 | — |
| entity.name.type.class.ts | #FFFFFF | bold |
| storage.type.class.ts | #fff | — |
| keyword.operator.new.ts | #78DEF5 | — |
| source.ts meta.import.ts string.quoted.single.ts | #888888 | — |
| meta.import.ts variable.other.readwrite.alias.ts | #999999 | — |
| keyword.control.import.ts, keyword.control.from.ts, meta.import.ts punctuation.definition.block.ts | #777777 | — |
| meta.decorator.ts string.quoted.single.ts | #DECA18 | — |
| meta.decorator.ts punctuation.definition.string.begin.ts, meta.decorator.ts punctuation.definition.string.end.ts | #DECA189E | — |
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}!`;
}