Bits Theme
Publisher: JoabitsThemes in package: 6
A clean, comprehensive dark theme with bright text and deep backgrounds. Perfect for all languages: JavaScript, TypeScript, React, Next.js, Flutter, Dart, Python, Java, PHP, and more.
A clean, comprehensive dark theme with bright text and deep backgrounds. Perfect for all languages: JavaScript, TypeScript, React, Next.js, Flutter, Dart, Python, Java, PHP, and more.
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 | #6B8A99 | italic |
| invalid, invalid.illegal | #FF6B88 | — |
| storage.type, storage.modifier, keyword.control, keyword.other.template, keyword.other.substitution, keyword.operator.assignment, keyword.operator.logical, support.constant, constant.character, constant.escape, keyword.other.unit, keyword.other | #ff5577 | — |
| keyword.operator | #5dd5ff | — |
| constant.language, constant.other.color | #5dd5ff | — |
| meta.tag, punctuation.definition.tag, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.section.embedded | #cc8800 | — |
| punctuation.separator.comma, punctuation.terminator.statement | #1a1a1a | — |
| entity.name.function, meta.function-call, variable.function, support.function, keyword.other.special-method | #9933CC | — |
| variable.other.readwrite, variable.other.constant, variable.other.object | #1a1a1a | — |
| variable.other.property | #22c0e8 | — |
| variable.other.object.property, meta.block, variable.parameter | #2a5a7a | — |
| support.other.variable, string.other.link | #ff8895 | — |
| string, constant.other.symbol, constant.other.key, entity.other.inherited-class, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js, constant.numeric | #cc8800 | — |
| entity.name, support.type, support.class, support.other.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types | #9933CC | — |
| support.type | #1a6699 | — |
| punctuation.definition.tag, punctuation.definition.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html | #22C0E8 | — |
| entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter | #22C0E8 | — |
| meta.jsx.children | #1a1a1a | — |
| entity.other.attribute-name | #2a5a7a | — |
| source.json meta.structure.dictionary.json support.type.property-name.json | #9933CC | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #2a5a7a | — |
| punctuation.support.type.property-name | #22C0E8 | — |
| source.css support.type.property-name, source.sass support.type.property-name, source.scss support.type.property-name, source.less support.type.property-name, source.stylus support.type.property-name, source.postcss support.type.property-name | #1a6699 | — |
| entity.name.module.js, variable.import.parameter.js, variable.other.class.js | #FF6B88 | — |
| variable.language | #FF6B88 | italic |
| entity.name.method.js | #0066cc | italic |
| meta.class-method.js entity.name.function.js, variable.function.constructor | #0066cc | — |
| entity.other.attribute-name.class | #cc8800 | — |
| source.sass keyword.control | #0066cc | — |
| markup.inserted | #28a745 | — |
| markup.deleted | #FF6B88 | — |
| markup.changed | #9966cc | — |
| string.regexp | #0099aa | — |
| constant.character.escape | #0099aa | — |
| *url*, *link*, *uri* | — | underline |
| source.js constant.other.object.key.js string.unquoted.label.js | #FF6B88 | italic |
| text.html.markdown, punctuation.definition.list_item.markdown | #1a1a1a | — |
| text.html.markdown markup.inline.raw.markdown | #9966cc | — |
| text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown | #6B8A99 | — |
| markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown | #8822BB | — |
| markup.italic | #ff8895 | italic |
| markup.bold, markup.bold string | #ff8895 | bold |
| markup.bold markup.italic, markup.italic markup.bold, markup.quote markup.bold, markup.bold markup.italic string, markup.italic markup.bold string, markup.quote markup.bold string | #ff8895 | bold |
| markup.underline | #cc3300 | underline |
| markup.quote punctuation.definition.blockquote.markdown | #6B8A99 | — |
| markup.quote | — | italic |
| string.other.link.title.markdown | #0066cc | — |
| string.other.link.description.title.markdown | #9966cc | — |
| constant.other.reference.link.markdown | #cc8800 | — |
| markup.raw.block | #9966cc | — |
| markup.raw.block.fenced.markdown | #666666 | — |
| punctuation.definition.fenced.markdown | #666666 | — |
| markup.raw.block.fenced.markdown, variable.language.fenced.markdown, punctuation.section.class.end | #1a1a1a | — |
| variable.language.fenced.markdown | #6B8A99 | — |
| meta.separator | #6B8A99 | bold |
| markup.table | #1a1a1a | — |
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}!`;
}