Dobby Theme
Publisher: DobbyThemes in package: 1
A magical dark theme inspired by Neuro Dobby - combining cozy elf vibes with neural network aesthetics
A magical dark theme inspired by Neuro Dobby - combining cozy elf vibes with neural network aesthetics
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 | #7a7b8a | italic |
| string, constant.other.symbol, constant.other.key | #f0c060 | — |
| constant.numeric, constant.language | #00e5ff | — |
| keyword, storage.type | #ff2d95 | — |
| storage.modifier | #ff2d95 | — |
| entity.name.function, support.function, meta.function-call, variable.function | #5b9eff | — |
| entity.name.class, support.class, entity.name.type, support.type, entity.name.trait, entity.name.interface, entity.name.enum, entity.name.struct | #f0c060 | bold |
| variable, variable.other, variable.other.readwrite, variable.other.constant | #e8dcc8 | — |
| variable.parameter, variable.other.parameter | #e8dcc8 | italic |
| entity.name.tag, meta.tag | #ff2d95 | — |
| entity.other.attribute-name, entity.other.attribute-name.class, entity.other.attribute-name.id | #f0c060 | — |
| punctuation, meta.brace, meta.bracket, meta.delimiter | #6a6b7a | — |
| constant.character, constant.escape | #69db7c | — |
| support.function.builtin, support.constant | #b388ff | — |
| invalid, invalid.illegal, invalid.deprecated | #ff6b6b | italic |
| diff.inserted, markup.inserted | #69db7c | — |
| diff.removed, markup.deleted | #ff6b6b | — |
| markup.changed | #f0c060 | — |
| markup.heading, markup.heading entity.name | #f0c060 | bold |
| markup.underline | #00e5ff | — |
| markup.bold | #e8dcc8 | bold |
| markup.italic | #e8dcc8 | italic |
| markup.error, markup.error.inline | #ff6b6b | italic |
| markup.warning | #ffaa55 | italic |
| markup.info | #00e5ff | — |
| meta.diff.header | #b388ff | — |
| source.css entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag | #ff2d95 | — |
| source.css entity.other.attribute-name.class, source.scss entity.other.attribute-name.class, source.less entity.other.attribute-name.class | #f0c060 | — |
| source.css support.constant.property-value, source.scss support.constant.property-value, source.less support.constant.property-value | #00e5ff | — |
| source.js.jsx entity.name.tag, source.tsx entity.name.tag, source.js entity.name.tag | #ff2d95 | — |
| source.js.jsx entity.other.attribute-name, source.tsx entity.other.attribute-name | #f0c060 | — |
| source.python storage.type, source.python entity.name.class, source.python entity.name.function | #5b9eff | — |
| source.go storage.type, source.go entity.name.function | #5b9eff | — |
| source.rust storage.type, source.rust entity.name.type, source.rust entity.name.function | #5b9eff | — |
| source.java storage.type, source.java entity.name.class, source.java entity.name.function | #5b9eff | — |
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}!`;
}