Themes To Die For
Publisher: Alec LarsonThemes in package: 17
A collection of my favorite VS Code themes
A collection of my favorite VS Code themes
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, string.comment | #8A9BB2 | — |
| entity.name.constant, variable.language, keyword.operator.new | #4a4869 | italic |
| variable.other.constant | #000000 | — |
| constant | #3E7058 | — |
| constant.language.null, constant.language.undefined | #6da188 | — |
| punctuation.accessor, punctuation.separator.comma, punctuation.separator.parameter | #4a4869 | — |
| keyword.operator.symbole, keyword.other.mark | #000000 | — |
| entity, entity.name | #994FC7 | — |
| entity.name.type | #B42187 | — |
| entity.name.type.alias, entity.name.type.interface, entity.name.type.class | #994FC7 | — |
| meta.type punctuation.accessor, punctuation.definition.typeparameters, meta.type.parameters punctuation.separator.comma | #000000 | — |
| meta.type storage.modifier | #B42187 | — |
| meta.field.declaration meta.definition.property entity.name, meta.object-literal.key entity.name | #000000 | — |
| meta.object-literal.key entity.name.function | #994FC7 | — |
| meta.type.tuple entity.name.label, punctuation.terminator.statement | #677281 | — |
| variable.parameter.function | #000000 | — |
| entity.name.tag, entity.name.tag support.class.component, support.class.component.astro | #3EA100 | — |
| punctuation.definition.tag | #92BD77 | — |
| keyword | #d73a49 | — |
| storage, storage.type | #d73a49 | — |
| storage.type.function.arrow | #994FC7 | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #000000 | — |
| string, punctuation.definition.string, string punctuation.section.embedded source | #3E7058 | — |
| punctuation.definition.template-expression | #362BCF | — |
| string.unquoted.import.ada | — | — |
| support | #ce6e05 | — |
| support.class | #000000 | — |
| meta.class support.class, meta.class entity.other.inherited-class, meta.interface support.class, meta.interface entity.other.inherited-class | #B42187 | — |
| meta.property-name | #362BCF | — |
| variable | #000000 | — |
| variable.other | #000000 | — |
| variable.object.property | #000000 | — |
| invalid.broken | #b31d28 | bold italic underline |
| invalid.deprecated | #b31d28 | bold italic underline |
| invalid.illegal | #b31d28 | italic underline |
| carriage-return | #d73a49 | italic underline |
| invalid.unimplemented | #b31d28 | bold italic underline |
| message.error | #b31d28 | — |
| string source | #000000 | — |
| string variable | #362BCF | — |
| support.constant | #362BCF | — |
| support.variable | #000000 | — |
| meta.module-reference | #362BCF | — |
| markup.list | #735c0f | — |
| markup.heading, markup.heading entity.name | #362BCF | bold |
| markup.quote | #22863a | — |
| markup.italic | #000000 | italic |
| markup.bold | #000000 | bold |
| markup.raw | #362BCF | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #b31d28 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #22863a | — |
| markup.changed, punctuation.definition.changed | #ce6e05 | — |
| markup.ignored, markup.untracked | #362BCF | — |
| meta.diff.range | #994FC7 | bold |
| meta.diff.header | #362BCF | — |
| meta.separator | #362BCF | bold |
| meta.brace.square | #362BCF | — |
| meta.type meta.brace.square | #c7449f | — |
| meta.output | #362BCF | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #586069 | — |
| brackethighlighter.unmatched | #b31d28 | — |
| sublimelinter.mark.error | #b31d28 | — |
| sublimelinter.mark.warning | #ce6e05 | — |
| sublimelinter.gutter-mark | #959da5 | — |
| constant.other.reference.link, string.other.link | #032f62 | underline |
| meta.function-call support.function, meta.function-call entity.name.function | #362BCF | — |
| keyword.operator, keyword.operator.expression.in | #00954d | — |
| keyword.operator.logical, keyword.operator.assignment, keyword.operator.ternary, keyword.operator.expression, keyword.operator.increment, keyword.operator.decrement, punctuation.separator.label, punctuation.separator.key-value, punctuation.destructuring, punctuation.definition.section, meta.type storage.modifier | #d73a49 | |
| keyword.operator.type, keyword.operator.optional, keyword.operator.definiteassignment, keyword.operator.expression.infer | #e36622 | — |
| meta.var storage.type, keyword.control.flow | #e35f22 | — |
| meta.object.type punctuation.definition.block, meta.object.type keyword.operator.spread, meta.objectliteral meta.object.member meta.block punctuation.definition.block, meta.objectliteral meta.method.declaration meta.block punctuation.definition.block | #000000 | — |
| meta.objectliteral punctuation.definition.block, meta.object keyword.operator.spread | #FF4B00 | — |
| punctuation.section.embedded | #032F62 | — |
| entity.other.attribute-name | #032F62 | — |
| variable.parameter | #316895 | — |
| meta.tag.attributes.tsx keyword.operator.assignment.tsx | #032F62 | — |
| storage.type.class.jsdoc, punctuation.definition.block.tag.jsdoc | #bf6769 | — |
| meta.decorator, meta.decorator variable.other | #358EE8 | — |
| source.json meta.structure.dictionary.json support.type.property-name | #362BCF | — |
| source.json meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary support.type.property-name | #994FC7 | — |
| source.json meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary.json support.type.property-name | #B42187 | — |
| source.json meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary.json support.type.property-name | #362BCF | — |
| source.json meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary.json support.type.property-name | #994FC7 | — |
| source.json meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary meta.structure.dictionary.value meta.structure.dictionary.json support.type.property-name | #B42187 | — |
| punctuation.support.type.property-name | #000000 | — |
| punctuation.definition.array | #FF4B00 | — |
| source.css keyword.other.unit | #3E7058 | — |
| source.css support.constant, source.css meta.property-value | #994FC7 | — |
| source.css support.type.property-name, source.css support.type.vendored | #000000 | — |
| source.css support.function, source.css entity.other.attribute-name.pseudo-class, source.css entity.other.attribute-name.pseudo-element | #362BCF | — |
| source.css punctuation.terminator, source.css punctuation.separator.key-value | #032F62 | — |
| source.css meta.attribute-selector keyword.operator.pattern | #00954d | — |
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}!`;
}