hasnum@random-theme
Publisher: hasnumThemes in package: 1
a theme
a theme
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 | #40867f | — |
| keyword | #FF75B5 | |
| storage.modifier | #f887bc | — |
| keyword.operator.logical, keyword.operator.comparison | #FFCC95 | — |
| constant | #FFB86C | — |
| Character | #000000 | — |
| constant.character.escape | #45A9F9 | — |
| meta.import,meta.export | #fc5185 | — |
| meta.decorator.ts | #b2deec | — |
| storage.type.interface,storage.type.type,storage.type.enum | #ffa99e | — |
| entity.name.type.interface,entity.name.type.alias,entity.name.type.enum | #15e2bd | — |
| meta.type.declaration | #7eccd4 | — |
| meta.namespace.declaration.ts | #da9ff9 | — |
| storage.type.namespace.ts | #dbabac | — |
| variable | #e47a64 | — |
| source.go | #f59b89 | — |
| variable.parameter | #f38a8a | — |
| meta.object-binding-pattern-variable.js | #FFCC95 | — |
| variable.language.this, variable.interpolation | #FF9AC1 | — |
| variable.other.object | #27d699 | — |
| meta.type.parameters | #d6d2bf | — |
| variable.other.property | #c49aff | — |
| invalid.illegal | — | — |
| invalid.deprecated | — | — |
| string,meta.jsx.children | #62dce2 | — |
| punctuation.separator, punctuation.terminator | #FF9AC1 | — |
| punctuation.definition.template-expression | #FFCC95 | — |
| support.class | #FFCC95 | — |
| support.type.object.module.js | #B084EB | — |
| support.function | #6FC1FF | — |
| entity.other.inherited-class | #FF9AC1 | — |
| entity.name.tag.yaml | #FFCC95 | — |
| meta.decorator punctuation.decorator | #FFB86C | — |
| meta.decorator variable | #6FC1FF | — |
| keyword.other.special-method | #45A9F9 | — |
| keyword.control.at-rule | #B084EB | — |
| keyword.other.important | #FF4B82 | — |
| variable.interpolation | #FF75B5 | — |
| meta.source.handlebars entity.name.tag | #6FC1FF | — |
| punctuation.definition.expression, punctuation.definition.subexpression, punctuation.definition.block.unescaped, punctuation.definition.tag | #ffce99 | italic |
| entity.unescaped.expression | #B084EB | — |
| constant.other.symbol | #1be0c4 | — |
| entity.expression variable.parameter.name | #FFB86C | — |
| entity.expression variable.parameter.value | #6FC1FF | — |
| entity.expression support.function.builtin | #FF9AC1 | — |
| entity.name.tag.html | #FFCC95 | — |
| support.class.component | #ff574b | — |
| entity.other.attribute-name | #e0d866 | — |
| support.constant.property-value.css | #6FC1FF | — |
| markup.bold | #FFB86C | bold |
| punctuation.definition.bold.markdown | #FFCC95 | bold |
| markup.changed | #FF75B5 | — |
| markup.deleted | #FF2C6D | — |
| markup.italic | #FF9AC1 | italic |
| punctuation.definition.italic.markdown | #FF75B5 | italic |
| markup.inserted | #1be0c4 | — |
| punctuation.definition.heading | #1be0c4 | — |
| entity.name.section.markdown | #BBBBBB | — |
| markup.quote | #FFB86C | — |
| markup.inline.raw | #1be0c4 | italic |
| beginning.punctuation.definition.list | #FF75B5 | — |
| markup.fenced_code.block.markdown punctuation.definition.markdown | #757575 | — |
| fenced_code.block.language | #BBBBBB | italic |
| string.other.link | #BBBBBB | |
| meta.link.inline.markdown | #45A9F9 | italic |
| text.html | #9affd7 | — |
| entity.name.type.module | #bc6ff1 | — |
| entity.name.type.class | #ff5e78 | — |
| keyword.control.as.js | #FF9AC1 | — |
| keyword.control.from.js.jsx | #FF9AC1 | — |
| keyword.control.export | #B084EB | — |
| entity.name.tag | #FF2C6D | — |
| variable.language.super.js.jsx | #45A9F9 | — |
| meta.tag.structure.any.html, meta.tag.other.html, entity.name.tag.html, meta.tag.metadata.script.html, entity.name.tag.jade | #FF2C6D | — |
| entity.name.tag.inline.any.html, entity.name.tag.other.html, entity.name.tag.block.any.html,entity.name.tag.template.html,entity.name.tag.script.html,entity.name.tag.style.html | #FF2C6D | — |
| entity.name.tag.css | #FF2C6D | — |
| support.type.property-name.css, support.type.property-name.less | #bb98fc | — |
| meta.property-list.scss | #bb98fc | — |
| variable.scss | #FF9AC1 | — |
| entity.name.tag.reference.scss | #FF2C6D | — |
| keyword.other.unit | #E06C75 | — |
| string.regexp | #6FC1FF | — |
| string.regexp keyword, string.regexp keyword.control | #FF75B5 | — |
| string.regexp keyword.operator | #FF9AC1 | — |
| entity.name.type.instance.jsdoc punctuation.definition | #FFCC95 | italic |
| entity.name.type.instance.jsdoc | #CDCDCD | italic |
| comment.block storage | #FFCC95 | — |
| comment.block storage.custom, variable.other.jsdoc, variable.other.jsdoc punctuation.definition.string | #FF9AC1 | — |
| meta.object.member.js | #ff9a8c | — |
| meta.type.annotation | #43F1FD | italic |
| storage.type.string.go,storage.type.numeric.go,storage.type.boolean.go | #cfc2ab | italic |
| entity.name.package.go | #ff8d60 | — |
| variable.object.property | #FF67E7 | — |
| meta.object-literal.key | #ff9b93 | — |
| new.expr | #eea857 | — |
| meta.var.expr | #e4d985 | — |
| meta.return.type | #43F1FD | italic |
| meta.function, keyword.function.go | #fc49ff | — |
| meta.definition.function | #b2cf9f | — |
| meta.function-call | #55ca9b | — |
| meta.definition.method | — | — |
| meta.method.declaration | #fc9870 | — |
| entity.name.function | #a7a6ff | — |
| storage.type.class.js,storage.type.class.ts,storage.type.class.jsx,storage.type.class.tsx | #fab984 | — |
| storage.type.function.arrow | #87defc | |
| source.ignore | #dabba0 | — |
| support.constant.color.w3c-standard-color-name | #ffffff | — |
| support.type.property-name.json | #E06C75 | — |
| string.quoted.double.json | #98C379 | — |
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}!`;
}