Alpenglow
Publisher: YukinaThemes in package: 1
Light theme inspired by alpenglow photography.
Light theme inspired by alpenglow photography.
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 |
|---|---|---|
| — | #434958 | — |
| emphasis | — | italic |
| strong | — | bold |
| comment | #64677cbf | — |
| constant.character | #746d11 | — |
| constant.character.escape | #746d11 | — |
| constant.escape | #746d11 | — |
| constant.language | #0e6bb3 | — |
| constant.numeric | #746d11 | — |
| constant.other.color | #434958 | — |
| constant.other.key, constant.other.symbol | #a34c00 | — |
| string constant.other.placeholder | #434958 | — |
| constant.regexp | #746d11 | — |
| entity.name | #0e6bb3 | — |
| entity.name.class, entity.name.type.class | #047500 | — |
| entity.name.enum, entity.name.type.enum | #047500 | — |
| entity.name.function | #746d11 | — |
| entity.name.function.preprocessor | #746d11 | — |
| entity.name.interface, entity.name.type.interface | #047500 | italic |
| entity.name.namespace | #047500 | — |
| entity.name.parameter, entity.name.type.parameter | #047500 | — |
| entity.name.struct, entity.name.type.struct | #047500 | — |
| entity.name.tag | #0e6bb3 | — |
| entity.name.type | #047500 | — |
| entity.other.attribute-name | #434958 | — |
| entity.other.attribute-name.class | #047500 | — |
| entity.other.inherited-class | #047500 | bold |
| invalid | #c32232 | — |
| invalid.deprecated | #434958 | — |
| invalid.illegal | #c32232 | — |
| keyword | #0e6bb3 | — |
| keyword.control | #9836c9 | — |
| keyword.operator.new, keyword.other.new | #0e6bb3 | — |
| keyword.operator | #434958 | — |
| keyword.other | #0e6bb3 | — |
| keyword.other.special-method | #746d11 | — |
| keyword.other.substitution | #434958 | — |
| keyword.other.template | #434958 | — |
| keyword.other.unit | #746d11 | — |
| markup.bold | — | bold |
| markup.bold markup.italic, markup.bold markup.italic string, markup.italic markup.bold, markup.italic markup.bold string, markup.quote markup.bold, markup.quote markup.bold string | #0e6bb3 | bold |
| markup.bold string | #0e6bb3 | bold |
| markup.changed, markup.changed.git_gutter | #746d11 | — |
| markup.deleted, markup.deleted.git_gutter | #c32232 | — |
| markup.inserted, markup.inserted.git_gutter | #047500 | — |
| markup.italic | — | italic |
| markup.quote | #047500 | italic |
| markup.raw, markup.inline.raw, markup.raw.block | #746d11 | — |
| markup.table | #434958 | — |
| markup.underline | — | underline |
| markup.underline.link | #a34c00 | underline |
| meta.function-call | #746d11 | — |
| meta.preprocessor | #0e6bb3 | — |
| meta.separator | #64677c | bold |
| meta.tag, meta.tag.sgml | #0e6bb3 | — |
| punctuation | #434958 | — |
| punctuation.definition.comment, punctuation.end.definition.comment, punctuation.start.definition.comment | #64677cbf | — |
| punctuation.definition.method-parameters, punctuation.definition.function-parameters, punctuation.definition.parameters | #434958 | — |
| punctuation.definition.string.begin, punctuation.definition.string.end | #a34c00 | — |
| punctuation.definition.tag, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html | #434958 | — |
| punctuation.section, punctuation.section.class.end | #434958 | — |
| punctuation.section.embedded.begin, punctuation.section.embedded.end, punctuation.section.embedded | #434958 | — |
| punctuation.terminator | #434958 | — |
| punctuation.definition.variable | #434958 | — |
| storage, storage.type, storage.modifier | #0e6bb3 | — |
| string | #a34c00 | — |
| string.other.link | #a34c00 | — |
| string.regexp | #746d11 | — |
| support.class | #047500 | — |
| support.constant | #434958 | — |
| support.function | #746d11 | — |
| support.function.construct | #746d11 | — |
| support.other.namespace | #047500 | — |
| support.other.variable | #434958 | — |
| support.type, support.type.sys-types | #047500 | — |
| support.type.exception | #047500 | — |
| token.debug-token | #9836c9 | — |
| token.error-token | #c32232 | — |
| token.info-token | #0e6bb3 | — |
| token.warn-token | #746d11 | — |
| *url*, *link*, *uri* | — | underline |
| variable.other, meta.block variable.other | #434958 | — |
| variable.other.constant | #434958 | bold |
| variable.other.enummember | #047500 | bold |
| variable | #434958 | — |
| variable.function, variable.function.constructor | #746d11 | — |
| variable.language | #0e6bb3 | — |
| variable.parameter | #434958 | — |
| source.c keyword.control.directive.conditional.c, source.c punctuation.definition.directive.c, source.cpp keyword.control.directive.conditional.cpp, source.cpp punctuation.definition.directive.cpp | #9836c9 | bold |
| source.cpp entity.name.scope-resolution.cpp | #047500 | — |
| source.c meta.preprocessor.include.c, source.c string.quoted.other.lt-gt.include.c | #a34c00 | — |
| source.c punctuation.separator.pointer-access.c | #0e6bb3 | — |
| source.c storage.type.built-in.primitive.c | #0e6bb3 | — |
| source.cs variable.language.this.cs | #0e6bb3 | — |
| source.css constant.other.color.rgb-value, source.css support.constant.color.w3c-extended-color-name, source.css support.constant.color.w3c-standard-color-name.css | #a34c00 | — |
| support.constant.font-name.css | #a34c00 | — |
| support.constant.property-value.css | #a34c00 | — |
| source.css entity.other.attribute-name | #0e6bb3 | — |
| source.css keyword.other.unit | #746d11 | — |
| source.css keyword.control.at-rule.media | #9836c9 | — |
| source.css punctuation.definition.constant | #a34c00 | — |
| source.css punctuation.definition.keyword | #9836c9 | — |
| source.css support.type.property-name, source.less support.type.property-name, source.postcss support.type.property-name, source.sass support.type.property-name, source.scss support.type.property-name, source.stylus support.type.property-name | #434958 | — |
| source.dart meta.embedded.expression.dart | #434958 | — |
| source.dart storage.modifier.dart | #0e6bb3 | — |
| source.dart storage.type.annotation.dart | #434958 | — |
| source.dart string.interpolated.expression.dart | #434958 | — |
| source.go constant.other.placeholder.go | #746d11 | — |
| text.html.basic entity.other.attribute-name, text.html.basic entity.other.attribute-name.html | #047500 | italic |
| punctuation.definition.entity.html | #a34c00 | — |
| source.java meta.method-call meta.method | #0e6bb3 | — |
| source.java storage.modifier | #0e6bb3 | — |
| source.java storage.modifier.import | #434958 | — |
| source.java storage.modifier.package | #434958 | — |
| source.java storage.type.annotation | #047500 | — |
| source.java storage.type.generic | #047500 | italic |
| source.java storage.type.primitive | #047500 | — |
| source.java variable.language.wildcard.java | #434958 | — |
| source.js constant.other.object.key.js string.unquoted.label.js | #c32232 | italic |
| source.js entity.name.method, entity.name.method.js | #746d11 | italic |
| source.js entity.name.module, entity.name.module.js | #047500 | — |
| source.js string.quoted.template meta.method-call.with-arguments | #434958 | — |
| source.js keyword.operator.expression.instanceof | #0e6bb3 | — |
| meta.class-method.js entity.name.function.js | #746d11 | — |
| meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js | #a34c00 | — |
| source.js meta.object-literal.key | #434958 | — |
| source.js meta.embedded.line meta.brace.square, source.js meta.embedded.line meta.brace.round, source.js string.quoted.template meta.brace.square, source.js string.quoted.template meta.brace.round | #434958 | — |
| source.js string.template meta.template.expression support.variable.property, source.js string.template meta.template.expression variable.other.object | #434958 | — |
| source.js string.quoted.template punctuation.quasi.element.begin, source.js string.quoted.template punctuation.quasi.element.end, source.js string.template punctuation.definition.template-expression | #a34c00 | — |
| source.js support.type.primitive | #047500 | — |
| tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js | #746d11 | italic |
| source.js variable.import.parameter, variable.import.parameter.js | #434958 | — |
| source.js variable.other.class, variable.other.class.js | #047500 | — |
| source.js variable.other.object | #434958 | — |
| source.js variable.other.readwrite.alias | #434958 | — |
| source.json punctuation.support.type.property-name.begin.json, source.json punctuation.support.type.property-name.end.json | #434958 | — |
| source.json support.type.property-name.json | #434958 | — |
| text.log log.constant | #0e6bb3 | — |
| text.log log.date | #047500 | — |
| text.log log.error | #c32232 | — |
| text.log log.info | #466892 | — |
| code.log invalid | #c32232 | — |
| text.log log.string | #a34c00 | — |
| text.log log.warning | #746d11 | — |
| text.html.markdown markup.bold | — | bold |
| markup.heading, markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown | #0e6bb3 | — |
| text.html.markdown markup.inline.raw, text.html.markdown markup.inline.raw punctuation.definition.raw, text.html.markdown markup.inline.raw.markdown | #746d11 | — |
| text.html.markdown markup.italic | — | italic |
| text.html.markdown markup.underline.link | #a34c00 | underline |
| text.html.markdown beginning.punctuation.definition.list | #0e6bb3 | — |
| text.html.markdown punctuation.definition.function.math.tex | #0e6bb3 | — |
| text.html.markdown markup.quote | #047500 | — |
| markup.raw.block.fenced.markdown | #434958 | — |
| text.html.markdown meta.embedded.block.katex | #434958 | — |
| text.html.markdown meta.paragraph | #434958 | — |
| markup.quote punctuation.definition.blockquote.markdown | #64677c | — |
| text.html.markdown punctuation.definition.bold | — | bold |
| punctuation.definition.fenced.markdown | #64677c | — |
| text.html.markdown punctuation.definition.heading | #0e6bb3 | — |
| text.html.markdown punctuation.definition.italic | — | italic |
| text.html.markdown punctuation.definition.list.begin.markdown | #0e6bb3 | — |
| punctuation.definition.list_item.markdown | #434958 | — |
| text.html.markdown punctuation.definition.math.display.markdown | #047500 | — |
| text.html.markdown punctuation.definition.quote.begin.markdown | #047500 | — |
| text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown | #64677c | — |
| text.html.markdown constant.other.reference.link, text.html.markdown string.other.link.description, text.html.markdown string.other.link.title, string.other.link.title.markdown, string.other.link.description.title.markdown, constant.other.reference.link.markdown | #9836c9 | — |
| text.html.markdown | #434958 | — |
| variable.language.fenced.markdown | #64677c | — |
| source.rust meta.attribute, source.rust meta.attribute punctuation, source.rust meta.attribute keyword.operator | #434958 | — |
| source.rust punctuation.definition.interpolation | #434958 | — |
| source.rust meta.interpolation | #434958 | — |
| source.rust meta.macro entity.name.function | #746d11 | bold |
| source.rust punctuation.definition.string | #a34c00 | — |
| source.rust storage.modifier.mut | #0e6bb3 | — |
| source.rust storage.type | #0e6bb3 | — |
| source.rust entity.name.type.trait | #047500 | italic |
| source.sass keyword.control | #746d11 | — |
| source.shell constant.other.option | #0e6bb3 | — |
| source.shell constant.other.option.dash.shell | #0e6bb3 | — |
| text.xml string.unquoted.cdata, text.xml string.unquoted.cdata punctuation.definition.string | #a34c00 | italic |
| text.xml meta.tag.preprocessor | #434958 | — |
| source.yaml entity.name.tag.yaml | #434958 | — |
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}!`;
}