Spect
Publisher: Hazeq Bin MohsinThemes in package: 7
✨ Professional icon pack and color theme for a better development experience ✨
✨ Professional icon pack and color theme for a better development experience ✨
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 |
|---|---|---|
| — | #5c6166 | — |
| comment | #8abc4faa | italic |
| string, constant.other.symbol | #f69668 | — |
| string.regexp, constant.character, constant.other | #4cbf99 | — |
| constant.numeric | #8abc4f | — |
| constant.language | #a37acc | — |
| variable, variable.parameter.function-call | #5c6166cc | — |
| variable.member | #f07171 | — |
| variable.language | #55b4d4 | italic |
| storage | #fa8532 | — |
| keyword | #ff6695 | — |
| keyword.operator | #f2a191 | — |
| punctuation.separator, punctuation.terminator | #5c6166b3 | — |
| punctuation.section | #5c6166 | — |
| punctuation.accessor | #f2a191 | — |
| punctuation.definition.template-expression | #fa8532 | — |
| punctuation.section.embedded | #fa8532 | — |
| meta.embedded | #5c6166 | — |
| source.java storage.type, source.haskell storage.type, source.c storage.type | #22a4e6 | — |
| entity.other.inherited-class | #55b4d4 | — |
| storage.type.function | #fa8532 | — |
| source.java storage.type.primitive | #55b4d4 | — |
| entity.name.function | #eba400 | — |
| variable.parameter, meta.parameter | #a37acc | — |
| variable.function, variable.annotation, meta.function-call.generic, support.function.go | #eba400 | — |
| support.function, support.macro | #f07171 | — |
| entity.name.import, entity.name.package | #86b300 | — |
| entity.name | #22a4e6 | — |
| entity.name.tag, meta.tag.sgml | #55B4D4 | — |
| support.class.component | #22a4e6 | — |
| punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag | #55b4d480 | — |
| entity.other.attribute-name | #eba400 | — |
| entity.other.attribute-name.pseudo-class | #4cbf99 | — |
| support.constant | #f2a191 | italic |
| support.type, support.class, source.go storage.type | #55b4d4 | — |
| meta.decorator variable.other, meta.decorator punctuation.decorator, storage.type.annotation, entity.name.function.decorator | #e59645 | — |
| invalid | #e65050 | — |
| meta.diff, meta.diff.header | #c594c5 | — |
| source.ruby variable.other.readwrite | #eba400 | — |
| source.css entity.name.tag, source.sass entity.name.tag, source.scss entity.name.tag, source.less entity.name.tag, source.stylus entity.name.tag | #22a4e6 | — |
| source.css support.type, source.sass support.type, source.scss support.type, source.less support.type, source.stylus support.type | #adaeb1 | — |
| support.type.property-name | #55b4d4 | normal |
| constant.numeric.line-number.find-in-files - match | #adaeb1 | — |
| constant.numeric.line-number.match | #fa8532 | — |
| entity.name.filename.find-in-files | #86b300 | — |
| message.error | #e65050 | — |
| markup.heading, markup.heading entity.name | #86b300 | bold |
| markup.underline.link, string.other.link | #55b4d4 | — |
| markup.italic, emphasis | #f07171 | italic |
| markup.bold | #818d9e | bold |
| markup.underline | — | underline |
| markup.italic markup.bold, markup.bold markup.italic | — | bold italic |
| markup.raw | — | — |
| markup.raw.inline | — | — |
| meta.separator | #adaeb1 | bold |
| markup.quote | #818D9Eaa | italic |
| markup.list punctuation.definition.list.begin | #eba400 | — |
| markup.inserted | #6cbf43 | — |
| markup.changed | #478acc | — |
| markup.deleted | #ff7383 | — |
| markup.strike | #e59645 | — |
| markup.strong | — | bold |
| markup.table | #55b4d4 | — |
| text.html.markdown markup.inline.raw | #f2a191 | — |
| text.html.markdown meta.dummy.line-break | #adaeb1 | — |
| punctuation.definition.markdown | #adaeb1 | — |
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}!`;
}