Dessert
Publisher: curtisj44Themes in package: 1
A dark color theme for Visual Studio Code
A dark color theme for Visual Studio Code
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, punctuation.definition.comment | #526652 | — |
| constant | #FA8072 | — |
| entity | #87CEEB | — |
| entity.name.type.class | #87CEEB | — |
| meta.function-call entity.name.function | #eeb681 | — |
| entity.tag.tagbraces.nunjucks | #CE93D8 | — |
| meta.at-rule.keyframes.scss | #87CEEB | — |
| meta.at-rule.keyframes.scss punctuation.section.keyframes | #C0C0C0 | — |
| entity.other.attribute-name.placeholder.css | #CE93D8 | — |
| entity.name.tag, entity.name.tag support.class.component | #EEDC82 | — |
| keyword | #808080 | — |
| keyword.control.filter.nunjucks | #C0C0C0 | — |
| keyword.control.conditional | #BCB8A4 | — |
| keyword.control.switch | #76EEC6 | — |
| keyword.control.loop, keyword.control.trycatch | #BCB8A4 | — |
| keyword.control.at-rule | #EE799F | — |
| keyword.control.at-rule.extend, keyword.control.at-rule.include | #BCB8A4 | — |
| meta.arrow keyword.control.as, meta.function keyword.control.as | #a5cd7c | underline |
| keyword.control.flow, keyword.control.export | #CE93D8 | — |
| keyword.control.type | #a4bda4 | — |
| keyword.operator.assignment, keyword.operator.logical, keyword.operator.relational, keyword.operator.ternary | #EE799F | — |
| keyword.operator.accessor | #C0C0C0 | — |
| keyword.operator.expression.typeof | #EE799F | — |
| meta.type keyword.operator.expression.typeof | #A5CD7C | — |
| keyword.operator.expression | #CE93D8 | — |
| storage.modifier.ts | #8a998a | — |
| storage.modifier.async | #BCB8A4 | — |
| meta.selector.css, meta.selector.css entity.name.tag, entity.name.tag.css, entity.name.tag.reference.scss, entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.class.css | #2B91AF | — |
| entity.name.tag.reference.scss, entity.other.attribute-name.pseudo-element.css | #87CEEB | — |
| meta.property-list.css, support.type.property-name.css | #EEDC82 | — |
| meta.selector.css entity.other.attribute-name.id, entity.other.attribute-name.id.css | #2B91AF | — |
| constant.numeric.css, constant.other.color.rgb-value.hex, keyword.operator.css, keyword.operator.arithmetic.css, meta.property-value, meta.property-value support.constant.property-value | #87CEEB | — |
| keyword.other.important | #D21932 | italic |
| meta.property-value punctuation.separator.list.comma, meta.property-list.scss meta.at-rule.include.scss punctuation.definition.parameters, punctuation.section.function, punctuation.section.property-list, punctuation.separator.delimiter, punctuation.separator.key-value, punctuation.terminator.rule | #C0C0C0 | — |
| meta.at-rule.include.scss | #C0C0C0 | — |
| punctuation.definition.attribute-selector, punctuation.definition.media-query | #C0C0C0 | — |
| keyword.operator.combinator.css, meta.property-list.scss | #87CEEB | — |
| string | #FA8072 | — |
| meta.decorator.tsx string, meta.decorator.tsx constant | #A5CD7C | — |
| meta.type.parameters.tsx string.quoted.double.tsx, meta.type.parameters.tsx string.quoted.single.tsx, meta.type.tuple.tsx string.quoted.double.tsx, meta.type.tuple.tsx string.quoted.single.tsx | #A5CD7C | — |
| string.quoted.double.go entity.name.import.go, meta.import string.quoted, meta.at-rule.import.scss string.quoted.double.scss | #f19898 | — |
| storage.type.variable string | #C0C0C0 | — |
| storage.type.templatetag string.unquoted.tag-string.nunjucks | #76EEC6 | — |
| invalid | #D21932 | — |
| invalid.deprecated | #D2A8A1 | italic |
| invalid.illegal | #EE799F | bold |
| meta.decorator meta.function-call entity.name.function, punctuation.decorator.tsx | #8A998A | — |
| meta.object-literal.key | #2B91AF | — |
| entity.name.type.instance.jsdoc | #a4bda4 | — |
| entity.name.type.module | #7CCD7C | — |
| entity.other.inherited-class | #a4bda4 | — |
| entity.name.type | #a4bda4 | — |
| meta.type.declaration.ts entity.name.function.ts, meta.type.declaration.tsx entity.name.function.tsx | #A4BDA4 | — |
| entity.name.function.scss, variable.parameter.keyframe-list | #CE93D8 | — |
| meta.property-list.scss meta.at-rule.include.scss entity.name.function.scss | #FA8072 | — |
| constant.numeric.css keyword.other.unit | #87CEEB | — |
| punctuation.definition.tag.begin, punctuation.definition.tag.end | #BCB8A4 | — |
| storage | #EE799F | — |
| storage.type.interface, storage.type.type, storage.type.namespace.ts | #A4BDA4 | — |
| storage.type.class.jsdoc | #8a998a | — |
| source.css support.type, source.scss support.type | #2b91af | — |
| support.constant.font-name | #FA8072 | — |
| support.class.component | #EEDC82 | — |
| support.class.console, support.function.console | #76EEC6 | — |
| support.type.property-name.json | #87CEEB | — |
| meta.structure.dictionary.value.json support.type.property-name.json | #FFA54F | — |
| constant.numeric.css | #87CEEB | — |
| meta.selector.css | #87CEEB | — |
| meta.attribute-selector.scss | #fa8072 | — |
| support.type.property-name.css | #EEDC82 | — |
| support.constant.property-value.css | #87CEEB | — |
| support.type.vendored.property-name.css | #BCB8A4 | — |
| variable | #C0C0C0 | — |
| meta.return.type.arrow.tsx variable.object.property.tsx | #A4BDA4 | — |
| meta.type.annotation variable, meta.type.annotation entity, meta.type.annotation punctuation, meta.type.annotation storage, meta.type.declaration variable, meta.interface variable, meta.interface entity | #A4BDA4 | — |
| meta.type.parameters support.type, meta.type.annotation punctuation | #A4BDA4 | — |
| meta.interface entity.name.type.interface, meta.type entity.name.type.alias | #7CCD7C | — |
| meta.field.declaration keyword.operator.optional | #7CCD7C | — |
| meta.function support.type, meta.return.type support.type, meta.type.annotation support.type, meta.type.annotation string | #a5cd7c | — |
| variable.other.jsdoc, variable.other.description.jsdoc | #91998a | — |
| variable.argument.css, variable.css, variable.scss | #FFA54F | — |
| markup.bold | #FFA54F | — |
| markup.heading.markdown heading.1 entity | #87CEEB | — |
| markup.heading.markdown heading.2 entity | #2b91af | — |
| markup.heading.markdown heading.3 entity | #76EEC6 | — |
| markup.heading.markdown punctuation.definition.heading.markdown | #EEDC82 | — |
| punctuation.definition.list.begin.markdown | #EEDC82 | — |
| markup.inline.raw.string | #FFA54F | — |
| markup.deleted | #2b91af | — |
| markup.inserted | #fa8072 | — |
| markup.changed | #87ceeb | — |
| markup.underline | — | underline |
| markup.underline.link | #ee799f | — |
| markup.list | #C0C0C0 | — |
| markup.raw | #eedc82 | — |
| punctuation.definition.quote.begin.markdown markup.quote.markdown markup.quote.markdown text.html.markdown | #f00 | — |
| meta.resultLinePrefix.lineNumber, meta.resultLinePrefix punctuation | #595959 | — |
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}!`;
}