Athena
Publisher: katrinacodesThemes in package: 2
Color themes for those too picky to choose.
Color themes for those too picky to choose.
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 |
|---|---|---|
| keyword.operator.accessor, keyword.operator.class, keyword.operator.assignment, keyword.operator.return-value, keyword.operator.ternary, meta.block, meta.braces, meta.brace.curly, punctuation.definition.block, punctuation.definition.class.begin, punctuation.definition.class.end, punctuation.section.block.begin, punctuation.section.block.end, punctuation.section.braces.begin, punctuation.section.braces.end , punctuation.section.scope, meta.brackets, meta.brace.square, meta.array.empty, punctuation.section.brackets.begin, punctuation.section.brackets.end, punctuation.section.array.begin, punctuation.section.array.end, meta.generic, punctuation.definition.generic.begin, punctuation.definition.generic.end, punctuation.definition.tag, punctuation.definition.entity.begin.bracket.square, punctuation.definition.entity.end.bracket.square, meta.group, meta.parens, meta.paragraph, meta.brace.round, punctuation.definition.arguments.begin, punctuation.definition.arguments.end, punctuation.definition.initializer-list, punctuation.definition.parameters, punctuation.definition.parameters.begin, punctuation.definition.parameters.end, punctuation.section.function, punctuation.section.group.begin, punctuation.section.group.end, punctuation.section.parens.begin, punctuation.section.parens.end, punctuation.section.parameters, punctuation.section.arguments, punctuation.accessor, storage.type.function.arrow, meta.delimiter.comma, meta.function.method.with-arguments, punctuation.separator, punctuation.terminator, meta.cast, punctuation.definition.begin, punctuation.definition.end, source | #000000 | |
| comment, comment.block, comment.block.documentation, comment.line, punctuation.definition.comment | #666666 | italic |
| meta.group.regexp, string, string.regexp, punctuation.definition.group.regexp, punctuation.definition.group.capture.regexp, punctuation.definition.string, constant.language.symbol.hashkey, meta.property-name, support.type.property-name, variable.other.member, meta.object-literal.key | #9147FF | |
| entity.name.function, entity.name.function.constructor, entity.name.function.destructor, entity.name.method, entity.name.selector, entity.other.attribute-name, entity.name.struct, entity.name.enum, entity.name.union, entity.name.trait, entity.name.interface, entity.name.type, meta.function, meta.function-call, meta.method-call, meta.preprocessor.macro, variable.function | #0090F0 | |
| support.function | #0090F0 | italic |
| entity.name.type.class, punctuation.definition.entity | #0090F0 | bold italic |
| entity.name.type.module, entity.name.class, entity.other.inherited-class, meta.module, meta.class, meta.inheritance-clause, meta.namespace-block, meta.other.inherited-class, meta.path, support.other.namespace, meta.at-rule.extend | #0090F0 | italic |
| entity.scope.name, meta.function.parameter.typehinted, support.class, support.class.component.open, support.class.component.close, support.class.builtin, variable.other.class | #0090F0 | italic |
| constant, constant.character, constant.character.escape, constant.language, constant.numeric, constant.numeric.float, constant.numeric.hex, constant.numeric.integer, constant.numeric.octal, constant.other, constant.other.placeholder, constant.regexp, constant.rgb-value, keyword.operator.quantifier.regexp, variable.language, variable.language.self, variable.language.this, variable.other.constant | #F07C00 | |
| support.constant | #F07C00 | italic |
| entity.name.tag, entity.name.section, entity.name.filename.find-in-files | #DB4487 | italic |
| keyword.control, keyword.operator, keyword.operator.new, keyword.operator.arithmetic, keyword.operator.assignment.augmented, keyword.other, punctuation.definition.directive, punctuation.separator.variable, storage, storage.type, storage.type.bool, storage.type.char, storage.type.int, storage.modifier, storage.modifier.const, storage.modifier.inline, storage.modifier.static, storage.modifier.private, storage.modifier.public | #DB4487 | |
| storage.type.class, storage.type.def, storage.type.func, storage.type.function, support.type | #DB4487 | |
| invalid, invalid.deprecated, invalid.illegal | #DB4487 | bold |
| variable | #00BD94 | |
| meta.function.parameters, support.other.variable, variable.parameter, variable.other.readwrite | #00BD94 | italic |
| meta.symbol.clojure | #00BD94 | — |
| entity.global.clojure | #0090F0 | — |
| entity.other.attribute-name.id.css | — | bold italic |
| entity.other.attribute-name.class.css, entity.name.tag.css | — | bold |
| support.type.vendored.property-name.css | #9147FF | italic |
| meta.at-rule.include.scss | #00BD94 | — |
| support.type.property-name.json, punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json | #0090F0 | — |
| JSXNested | #000000 | — |
| punctuation.definition.variable.php | #00BD94 | — |
| source.ruby | #00BD94 | — |
| markup.heading | #DB4487 | |
| markup.list | #0090F0 | |
| markup.underline.link | #9147FF | underline |
| markup.quote | #00BD94 | |
| markup.raw.inline, markup.inline.raw, markup.raw.block, markup.block.raw, markup.fenced_code | #666666 | |
| markup.bold | — | bold |
| markup.italic | — | italic |
| markup.underline | — | underline |
| markup.deleted, markup.deleted.git_gutter | #DB4487 | |
| markup.inserted, markup.inserted.git_gutter | #00BD94 | |
| markup.changed, markup.changed.git_gutter | #00BD94 | |
| markup.ignored.git_gutter | #0090F0 | |
| markup.untracked.git_gutter | #00BD94 | |
| meta.diff, meta.diff.header | #9147FF | |
| constant.numeric.line-number.find-in-files - match | #0090F0 |
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}!`;
}