LightCattac
Publisher: cattacThemes in package: 1
Warm light theme with pure black text and syntax colours from Modus Operandi Tinted, each at least 7:1 contrast.
Warm light theme with pure black text and syntax colours from Modus Operandi Tinted, each at least 7:1 contrast.
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 | #770000 | — |
| comment.block.documentation, comment.line.documentation, comment.line.double-slash.documentation, comment.line.triple-slash, comment.block.documentation punctuation.definition.comment | #2c3f5e | — |
| storage.type.class.doxygen, storage.type.class.gtkdoc, storage.type.class.jsdoc, comment.block.documentation variable.parameter, comment.block.documentation entity.name.type | #782c8a | — |
| keyword, keyword.control, storage, storage.type, storage.modifier, keyword.operator.new, keyword.operator.delete, keyword.operator.sizeof, keyword.operator.alignof, keyword.operator.typeid, keyword.operator.noexcept, keyword.operator.wordlike, keyword.operator.expression, variable.language, entity.name.tag | #002d9f | — |
| keyword.control.directive, punctuation.definition.directive, keyword.preprocessor | #823d00 | — |
| entity.name.function, entity.name.function.call, entity.name.function.member, variable.function, meta.function-call.generic | #763f58 | — |
| entity.name.function.definition, entity.name.function.constructor, entity.name.function.destructor, meta.definition.function entity.name.function, entity.name.function.preprocessor | #5b2434 | — |
| support.function, support.function.builtin | #6d0840 | — |
| entity.name.type, entity.name.class, entity.other.inherited-class, support.type, support.class, storage.type.primitive, storage.type.built-in | #2c5b09 | — |
| entity.name.namespace, entity.name.scope-resolution, entity.name.type.namespace | #514e64 | — |
| string, punctuation.definition.string, string.quoted.other.lt-gt.include | #005484 | — |
| constant.character.escape, constant.other.placeholder | #87006f | — |
| constant, constant.language, constant.character, support.constant, variable.other.enummember, entity.name.function.macro, entity.name.other.preprocessor.macro | #4f12b1 | — |
| constant.numeric, keyword.other.unit | #000000 | — |
| variable, variable.other, variable.parameter, variable.other.property, variable.other.constant, punctuation.definition.variable | #000000 | — |
| entity.name.variable, support.type.property-name, entity.name.tag.yaml, entity.other.attribute-name | #005b3c | — |
| punctuation, meta.brace, keyword.operator, punctuation.separator, punctuation.terminator, punctuation.accessor, punctuation.definition.tag, storage.modifier.pointer, storage.modifier.reference, entity.name.function.operator | #000000 | — |
| markup.heading, entity.name.section.markdown, punctuation.definition.heading.markdown | #002d9f | bold |
| markup.bold | #000000 | bold |
| markup.italic | #000000 | italic |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw, markup.raw | #2c5b09 | — |
| markup.underline.link, string.other.link, markup.link | #a33f14 | — |
| markup.quote | #625f57 | italic |
| punctuation.definition.list.begin.markdown, beginning.punctuation.definition.list.markdown, meta.separator | #625f57 | — |
| markup.inserted | #0b5c19 | — |
| markup.deleted | #9e141d | — |
| markup.changed | #6c480a | — |
| invalid, invalid.illegal | #9e141d | — |
| invalid.deprecated | #6c480a | strikethrough |
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}!`;
}