Catthode
Publisher: CatthodeThemes in package: 1
A warm OLED black VS Code Theme
A warm OLED black VS Code 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 |
|---|---|---|
| — | #ffffff | — |
| emphasis | — | italic |
| strong | — | bold |
| comment | #b3b3b3 | — |
| constant.character | #eba4be | — |
| constant.character.escape | #eba4be | — |
| constant.language | #eba4be | — |
| constant.numeric | #eba4be | — |
| constant.regexp | #eba4be | — |
| entity.name.class, entity.name.type.class | #fae2c8 | — |
| entity.name.function | #ff9e3b | — |
| entity.name.tag | #ff6b6b | — |
| entity.other.attribute-name | #fae2c8 | — |
| entity.other.inherited-class | #fae2c8 | bold |
| invalid.deprecated | #ffffff | — |
| invalid.illegal | #ffffff | — |
| keyword | #ffb86c | — |
| keyword.operator | #f08d49 | — |
| keyword.other.new | #ffb86c | — |
| markup.bold | — | bold |
| markup.changed | #ffb86c | — |
| markup.deleted | #ff6b6b | — |
| markup.inserted | #b9d665 | — |
| meta.preprocessor | #aee6d6 | — |
| punctuation | #f08d49 | — |
| punctuation.definition.method-parameters, punctuation.definition.function-parameters, punctuation.definition.parameters | #f08d49 | — |
| punctuation.definition.tag | #f08d49 | — |
| punctuation.definition.comment, punctuation.end.definition.comment, punctuation.start.definition.comment | #b3b3b3 | — |
| punctuation.section | #f08d49 | — |
| punctuation.section.embedded.begin, punctuation.section.embedded.end | #f08d49 | — |
| punctuation.terminator | #f08d49 | — |
| punctuation.definition.variable | #f08d49 | — |
| storage | #ffb86c | — |
| string | #b9d665 | — |
| string.regexp | #eba4be | — |
| support.class | #fae2c8 | — |
| support.constant | #eba4be | — |
| support.function | #ff9e3b | — |
| support.function.construct | #ff9e3b | — |
| support.type | #fae2c8 | — |
| support.type.exception | #fae2c8 | — |
| variable.other | #e8e8e8 | — |
| variable.language | #eba4be | — |
| variable.parameter | #e8e8e8 | — |
| source.css constant.other.color.rgb-value | #eba4be | — |
| source.css meta.property-value | #ff9e3b | — |
| source.css keyword.control.at-rule.media, source.css keyword.control.at-rule.media punctuation.definition.keyword | #ffb86c | — |
| source.css punctuation.definition.keyword | #ffb86c | — |
| source.css support.type.property-name | #ffffff | — |
| text.html.markdown markup.fenced_code.block, text.html.markdown markup.fenced_code.block punctuation.definition | #e8e8e8 | — |
| markup.heading | #ffb86c | — |
| text.html.markdown markup.inline.raw, text.html.markdown markup.inline.raw punctuation.definition.raw | #b9d665 | — |
| text.html.markdown markup.italic | — | italic |
| text.html.markdown markup.underline.link | — | underline |
| text.html.markdown beginning.punctuation.definition.list | #ffb86c | — |
| text.html.markdown beginning.punctuation.definition.quote | #fae2c8 | — |
| text.html.markdown markup.quote | #b3b3b3 | — |
| text.html.markdown constant.other.reference.link, text.html.markdown string.other.link.description, text.html.markdown string.other.link.title | #ff9e3b | — |
| text.html.basic constant.character.entity.html | #eba4be | — |
| text.html.basic constant.other.inline-data | #ffb86c | italic |
| text.html.basic meta.tag.sgml.doctype | #b3b3b3 | — |
| text.html.basic punctuation.definition.entity | #f08d49 | — |
| source.ts punctuation.decorator, source.ts meta.decorator variable.other.readwrite, source.ts meta.decorator entity.name.function, source.tsx punctuation.decorator, source.tsx meta.decorator variable.other.readwrite, source.tsx meta.decorator entity.name.function | #ffb86c | — |
| source.ts meta.object-literal.key, source.tsx meta.object-literal.key | #ffffff | — |
| source.ts meta.object-literal.key entity.name.function, source.tsx meta.object-literal.key entity.name.function | #ff9e3b | — |
| source.ts support.class, source.ts support.type, source.ts entity.name.type, source.ts entity.name.class, source.tsx support.class, source.tsx support.type, source.tsx entity.name.type, source.tsx entity.name.class | #fae2c8 | — |
| source.ts support.constant.math, source.ts support.constant.dom, source.ts support.constant.json, source.tsx support.constant.math, source.tsx support.constant.dom, source.tsx support.constant.json | #fae2c8 | — |
| source.ts support.variable, source.tsx support.variable | #ffffff | — |
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}!`;
}