Leo Dark
Publisher: leoshellThemes in package: 1
A calm dark theme, no rainbow noise.
A calm dark theme, no rainbow noise.
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 |
|---|---|---|
| meta.embedded, source.groovy.embedded, string meta.image.inline.markdown, variable.legacy.builtin.python | #D4D4D4 | — |
| emphasis | — | italic |
| strong | — | bold |
| header | #000080 | — |
| comment | #649158 | — |
| constant.language | #5996db | — |
| constant.numeric, variable.other.enummember, keyword.operator.plus.exponent, keyword.operator.minus.exponent | #b5cea8 | — |
| constant.regexp | #646695 | — |
| entity.name.tag | #5996db | — |
| entity.name.tag.css, entity.name.tag.less | #d7ba7d | — |
| entity.other.attribute-name | #9cdcfe | — |
| entity.other.attribute-name.class.css, source.css entity.other.attribute-name.class, entity.other.attribute-name.id.css, entity.other.attribute-name.parent-selector.css, entity.other.attribute-name.parent.less, source.css entity.other.attribute-name.pseudo-class, entity.other.attribute-name.pseudo-element.css, source.css.less entity.other.attribute-name.id, entity.other.attribute-name.scss | #d7ba7d | — |
| invalid | #f44747 | — |
| markup.underline | — | underline |
| markup.bold | #9cdcfe | bold |
| markup.heading | #5996db | bold |
| markup.italic | #9cdcfe | italic |
| markup.strikethrough | — | strikethrough |
| markup.inserted | #b5cea8 | — |
| markup.deleted | #d07e70 | — |
| markup.changed | #5996db | — |
| punctuation.definition.quote.begin.markdown | #6A9955 | — |
| punctuation.definition.list.begin.markdown | #6796e6 | — |
| markup.inline.raw | #ce9178 | — |
| punctuation.definition.tag | #808080 | — |
| meta.preprocessor, entity.name.function.preprocessor | #5996db | — |
| meta.preprocessor.string | #ce9178 | — |
| meta.preprocessor.numeric | #b5cea8 | — |
| meta.structure.dictionary.key.python | #9cdcfe | — |
| meta.diff.header | #5996db | — |
| storage | #5996db | — |
| storage.type | #5996db | — |
| storage.modifier, keyword.operator.noexcept | #5996db | — |
| string, meta.embedded.assembly | #ce9178 | — |
| string.tag | #ce9178 | — |
| string.value | #ce9178 | — |
| string.regexp | #d16969 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #5996db | — |
| meta.template.expression | #d4d4d4 | — |
| support.type.vendored.property-name, support.type.property-name, source.css variable, source.coffee.embedded | #9cdcfe | — |
| keyword | #5996db | — |
| keyword.control | #5996db | — |
| keyword.operator | #d4d4d4 | — |
| keyword.operator.new, keyword.operator.expression, keyword.operator.cast, keyword.operator.sizeof, keyword.operator.alignof, keyword.operator.typeid, keyword.operator.alignas, keyword.operator.instanceof, keyword.operator.logical.python, keyword.operator.wordlike | #5996db | — |
| keyword.other.unit | #b5cea8 | — |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #5996db | — |
| support.function.git-rebase | #9cdcfe | — |
| constant.sha.git-rebase | #b5cea8 | — |
| storage.modifier.import.java, variable.language.wildcard.java, storage.modifier.package.java | #d4d4d4 | — |
| variable.language | #5996db | — |
| entity.name.function | #d4d4d4 | — |
| support.function | #9cdcfe | — |
| string, punctuation.definition.string | #dec078 | — |
| markup.inline.raw, markup.inline.raw.string.markdown, punctuation.definition.raw.markdown | #dec078 | — |
| punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.link.title.begin.markdown, punctuation.definition.link.title.end.markdown, punctuation.definition.link.begin.markdown, punctuation.definition.link.end.markdown, punctuation.definition.metadata.markdown, punctuation.definition.constant.begin.markdown, punctuation.definition.constant.end.markdown, punctuation.separator.table.markdown, punctuation.definition.table.markdown | #d4d4d4 | bold |
| markup.underline.link.markdown, markup.underline.link.image.markdown, markup.underline.link, string.other.link.dest.markdown, string.other.link.description.markdown, string.other.link.title.markdown | #d4d4d4 | — |
| markup.quote, markup.quote.markdown, markup.list.numbered.markdown | #d4d4d4 | — |
| markup.bold.markdown, punctuation.definition.bold.markdown, markup.italic.markdown, punctuation.definition.italic.markdown | #9cdcfe | — |
| markup.heading, markup.heading.markdown, entity.name.section.markdown, punctuation.definition.heading.markdown | #5996db | — |
| punctuation.definition.list.begin.markdown, punctuation.definition.quote.begin.markdown, punctuation.separator.table.markdown, punctuation.definition.table.markdown, punctuation.definition.constant.markdown | #5996db | — |
| punctuation.separator.key-value.markdown | #d4d4d4 | |
| support.type.property-name.json, meta.structure.dictionary.key.json string | #5996db | — |
| keyword, keyword.control, storage, storage.type, storage.modifier, entity.name.tag | #5996db | bold |
| keyword.operator, storage.modifier.pointer, punctuation.vararg-ellipses | #956ccc | bold |
| punctuation.separator, punctuation.terminator, punctuation.accessor, punctuation.access, punctuation.delimiter, punctuation.other.comma, punctuation.other.period, punctuation.other.colon, punctuation.comma, punctuation.semi | #956ccc | bold |
| punctuation.separator.constant.numeric, punctuation.separator.dot.decimal, punctuation.separator.decimal, keyword.operator.plus.exponent, keyword.operator.minus.exponent, keyword.operator.exponent | #b5cea8 | |
| punctuation.section.parens, punctuation.section.brackets, punctuation.section.braces, punctuation.section.block, punctuation.section.group, punctuation.section.arguments, punctuation.section.parameters, punctuation.section.function, punctuation.section.class, punctuation.section.scope, punctuation.section.array, punctuation.section.begin.bracket, punctuation.section.end.bracket, punctuation.section.angle-brackets, punctuation.definition.begin.bracket, punctuation.definition.end.bracket, punctuation.definition.bracket, punctuation.definition.parameters, punctuation.definition.arguments, punctuation.definition.typeparameters, punctuation.definition.array, punctuation.definition.dictionary, punctuation.brackets, punctuation.bracket, meta.brace.round, meta.brace.square, meta.brace.curly, meta.brace.angle | #956ccc | bold |
| punctuation.definition.block.ts, punctuation.definition.block.tsx, punctuation.definition.block.js, punctuation.definition.binding-pattern, punctuation.definition.imports, punctuation.parenthesis.begin.python, punctuation.parenthesis.end.python, punctuation.definition.list.begin.python, punctuation.definition.list.end.python, punctuation.definition.dict, punctuation.definition.inheritance, punctuation.section.method, punctuation.section.try, punctuation.section.catch, punctuation.section.finally, punctuation.section.enum, punctuation.section.inner-class, punctuation.section.module, punctuation.section.array-initializer, punctuation.definition.annotation-arguments, punctuation.section.property-list, punctuation.section.media, punctuation.section.keyframes, punctuation.section.supports, punctuation.section.document, punctuation.definition.media-query, punctuation.definition.map, punctuation.definition.condition, punctuation.definition.pseudo-class, punctuation.definition.attribute-selector, punctuation.definition.entity.begin.bracket.square.css, punctuation.definition.entity.end.bracket.square.css, punctuation.section.collection-type, punctuation.definition.type.begin.swift, punctuation.definition.type.end.swift, punctuation.definition.subshell, punctuation.definition.logical-expression, punctuation.section.arithmetic, punctuation.section.parenthese, punctuation.definition.sequence, punctuation.definition.mapping, punctuation.definition.table.toml, punctuation.definition.table.inline.toml | #956ccc | bold |
| entity.name.type, entity.name.class, support.class, entity.other.inherited-class | #9cdcfe | — |
| source.go storage.type | #9cdcfe | |
| entity.name.namespace, entity.name.type.namespace, entity.name.type.module, entity.name.type.package, entity.name.scope-resolution, storage.modifier.package, support.other.namespace | #9cdcfe | — |
| variable.other.label, entity.name.label | #9cdcfe | — |
| constant.character.escape | #d5b466 | — |
| keyword.other.unit | #b5cea8 | |
| constant.other.placeholder | #dec078 | — |
| entity.name.function.support.builtin | #9cdcfe | — |
| variable.other.normal.shell, variable.other.special.shell, variable.parameter.positional.shell, punctuation.definition.variable.shell | #56b6c2 | — |
| support.function.builtin.shell, entity.name.function.shell, entity.name.command.shell, meta.function-call.command.shell | #D4D4D4 | — |
| keyword.control.shell | #5996db | — |
| keyword.operator.shell, keyword.operator.logical.shell, keyword.operator.pipe.shell, punctuation.section.array.shell | #956ccc | bold |
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}!`;
}