Aesthetic Theme
Publisher: Luis MonsalveThemes in package: 2
A minimal, aesthetic dark theme crafted for a clean coding experience.
A minimal, aesthetic dark theme crafted for a clean coding experience.
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 |
|---|---|---|
| string, constant.other.symbol, constant.other.key, meta.attribute-selector, string constant.character | #009E60 | — |
| comment, punctuation.definition.comment, comment.block.documentation, comment.block.documentation punctuation | #6B7280 | — |
| variable.other.constant, constant.language, constant.numeric, support.constant, constant.other.caps | #fa9f38 | — |
| storage.type, meta.var.expr storage.type, storage.modifier, keyword, keyword.control, keyword.other.important, keyword.control.module.js, keyword.control.import, keyword.control.export, keyword.control.from, keyword.control.default, keyword.operator, meta.import keyword.other, keyword.control.as | #2d69ec | bold |
| keyword.other, keyword.operator.bitwise.shift, punctuation.accessor, expression.embbeded.vue punctuation.definition.tag, punctuation.separator.key-value, text.html.twig meta.tag.inline.any.html, meta.tag.template.value.twig meta.function.arguments.twig, meta.directive.vue punctuation.separator.key-value.html, punctuation.definition.constant.markdown, text.html.vue-html meta.tag, meta.attribute.directive, punctuation.terminator.rule, punctuation.separator.inheritance.php, keyword.other.template, keyword.other.substitution, entity.name.operator, meta.property-list punctuation.separator.key-value, meta.at-rule.mixin punctuation.separator.key-value, meta.at-rule.function variable.parameter.url, meta.embedded.inline.phpx punctuation.definition.tag.begin.html, meta.embedded.inline.phpx punctuation.definition.tag.end.html | #bdc3cc | — |
| keyword.operator.logical, storage.type.function, keyword.operator.bitwise, keyword.operator.ternary, keyword.operator.comparison, keyword.operator.relational, keyword.control.at-rule, keyword.operator.or.regexp | #2d69ec | bold |
| meta.class-method.js entity.name.function.js, entity.name.method.js, variable.function.constructor, keyword.other.special-method, storage.type.cs | #bf88f3 | — |
| meta.object-literal.key, entity.name.type.hcl, string.alias.graphql, string.unquoted.graphql, string.unquoted.alias.graphql, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js, meta.block entity.name.label | #6D90DA | — |
| variable.other.property, support.variable.property, support.variable.property.dom, meta.function-call variable.other.object.property | #6D90DA | — |
| entity.name.function, variable.other.enummember, meta.function-call, meta.function-call entity.name.function, variable.function, meta.definition.method entity.name.function, meta.object-literal entity.name.function | #bf88f3 | — |
| variable.parameter.function.language.special, variable.parameter, meta.function.parameters punctuation.definition.variable, meta.function.parameter variable | #fa9f38 | — |
| support.class, support.type, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, support.type.sys-types, support.variable.dom, support.function, support.constant.math, support.type.object.module, support.constant.json, entity.name.namespace, meta.import.qualifier | #099ec3 | bold |
| variable.other.readwrite.alias, variable.other.constant.object | #bdc3cc | — |
| string.regexp | #11cd8e | — |
| entity.name.section.markdown, punctuation.definition.heading.markdown | #099ec3 | bold |
| markup.heading.setext | #099ec3 | — |
| punctuation.definition.bold.markdown | #2d69ec | — |
| punctuation.definition.list.begin.markdown | #2d69ec | — |
| markup.inline.raw.markdown, markup.inline.raw.string.markdown | #11cd8e | — |
| punctuation.definition.list.markdown | #9CA3AF | — |
| punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.metadata.markdown | #9CA3AF | — |
| punctuation.definition.metadata.markdown, punctuation.definition.link.title.begin.markdown, punctuation.definition.link.title.end.markdown | #9CA3AF | — |
| markup.underline.link.markdown,markup.underline.link.image.markdown | #2d69ec | — |
| string.other.link.title.markdown,string.other.link.description.markdown | #11cd8e | — |
| markup.quote.markdown | #bf88f3 | italic |
| punctuation.definition.quote.begin.markdown | #bf88f3 | — |
| markup.italic.markdown | — | italic |
| meta.separator.markdown | #2d69ec | bold |
| markup.italic.markdown | #099ec3 | italic |
| markup.bold.markdown | #2d69ec | bold |
| markup.strikethrough.markdown | #fa9f38 | — |
| markup.fenced_code.block.markdown | #2d69ec | bold |
| fenced_code.block.language.markdown | #099ec3 | — |
| invalid.deprecated.entity.other.attribute-name.html | #fa9f38 | — |
| constant.character.entity | #099ec3 | bold |
| entity.name.tag | #2d69ec | — |
| entity.other.attribute-name | #fa9f38 | — |
| punctuation.definition.tag.begin, punctuation.definition.tag.end | #2d69ec99 | — |
| comment.block.html | #6B7280 | — |
| support.class.component | #099ec3 | — |
| entity.name.tag.css | #099ec3 | bold |
| entity.other.attribute-name.id | #fa9f38 | bold |
| meta.property-name.scss, support.type.property-name | #2d69ec | — |
| entity.other.attribute-name.class, string.unquoted.less, entity.other.attribute-name.class.css | #009E60 | bold |
| variable.scss, variable.css, variable.less, variable.argument.css, support.other.variable.less, punctuation.definition.variable.less, variable.other.less | #fa9f38 | bold |
| support.constant.property-value, meta.property-value | #099ec3 | normal |
| keyword.other.unit, constant.other.color.rgb-value.hex | #099ec3 | — |
| keyword.operator.css, keyword.operator.less, keyword.operator.scss | #099ec3 | bold |
| support.constant.color.w3c-extended-color-name, support.constant.color.w3c-standard-color-name | #099ec3 | — |
| support.type.vendored.property-name | #099ec3 | — |
| entity.other.attribute-name.pseudo-element, entity.other.attribute-name.parent, entity.other.attribute-name.pseudo-class, entity.name.tag.reference.css, entity.name.tag.reference.scss, entity.name.tag.reference.less | #099ec3 | bold |
| support.function.transform, support.function.calc, support.function.misc | #bf88f3 | — |
| support.constant.font-name | #009E60 | — |
| variable.parameter.css, variable.parameter.scss, variable.parameter.url.css, variable.parameter.url.scss | #099ec3 | — |
| keyword.control.at-rule.forward.scss, keyword.control.at-rule.import.less | #2d69ec | — |
| keyword.control | #2d69ec | bold |
| meta.property-name.scss, meta.property-list | #bf88f3 | — |
| punctuation.terminator.rule.scss, punctuation.separator.list.comma.css, punctuation.separator.delimiter.scss, punctuation.definition.begin.bracket.round.scss, punctuation.section.function.begin.bracket.round.css, punctuation.definition.end.bracket.round.scss, punctuation.section.function.end.bracket.round.css, punctuation.separator.key-value.scss, punctuation.section.function.scss, punctuation.definition.group.begin.less, punctuation.definition.group.end.less, punctuation.definition.block.begin.less, punctuation.separator.less, punctuation.definition.block.end.less, punctuation.section.property-list.begin.bracket.curly.scss, punctuation.section.property-list.end.bracket.curly.scss, punctuation.definition.block.scss, punctuation.terminator.rule.css, punctuation.terminator.rule.less, punctuation.separator.key-value.css, punctuation.section.braces.end.less, punctuation.section.braces.begin.less, punctuation.separator.key-value.less, punctuation.definition.block.begin.bracket.curly.scss, punctuation.definition.block.end.bracket.curly.scss, punctuation.definition.attribute-selector.end.bracket.square.scss, punctuation.definition.attribute-selector.begin.bracket.square.scss, punctuation.definition.media-query.begin.bracket.round.scss, punctuation.definition.media-query.end.bracket.round.scss, punctuation.section.property-list.begin.bracket.curly.css, punctuation.section.property-list.end.bracket.curly.css, punctuation.section.property-list.begin.bracket.curly.less, punctuation.section.property-list.end.bracket.curly.less | #bdc3cc | — |
| meta.at-rule.if, support.type.property-name.media, support.constant.media, meta.at-rule.else | #bdc3cc | — |
| constant.numeric.css, constant.numeric.scss, constant.numeric.less | #bdc3cc | — |
| entity.name.tag.wildcard | #099ec3 | — |
| constant.character.escape | #11cd8e | — |
| constant.language.json | #099ec3 | — |
| support.type.property-name.json | #2d69ec | bold |
| string.quoted.double.json | #009E60 | — |
| support.variable.property.importmeta.ts | #6D90DA | bold |
| keyword.operator.expression.typeof, keyword.operator.type.annotation.ts | #099ec3 | bold |
| variable.other.env | #2d69ec | bold |
| keyword.operator.assignment.env | #bdc3cc | — |
| keyword.operator.access.dot.rust | #bdc3cc | — |
| entity.name.function.macro.rust | #bf88f3 | — |
| variable.other.rust | #fa9f38 | — |
| punctuation.definition.block.sequence.item.yaml | — | bold |
| entity.tag.apacheconf | #099ec3 | — |
| entity.mime-type.apacheconf | #009E60 | — |
| entity.name.function.graphql | #bf88f3 | — |
| variable.parameter.graphql | #fa9f38 | — |
| meta.type.object.graphql | #6D90DA | — |
| keyword.other.DML | #099ec3 | — |
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}!`;
}