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 | #ffd05e | — |
| punctuation.separator.comma, punctuation.terminator.statement | #F0FBFF | — |
| entity.name.function, meta.function-call, variable.function, support.function, keyword.other.special-method | #22eeff | — |
| variable.other.readwrite, variable.other.constant, variable.other.object | #f0fbff | — |
| variable.other.property | #22c0e8 | — |
| variable.other.object.property, meta.block, variable.parameter | #b8d5e5 | — |
| 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 | #ffe4a3 | — |
| 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 | #22EEFF | — |
| support.type | #C8E5F0 | — |
| 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 | #FFFFFF | — |
| entity.other.attribute-name | #b8d5e5 | — |
| source.json meta.structure.dictionary.json support.type.property-name.json | #22eeff | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #b8d5e5 | — |
| 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 | #C8E5F0 | — |
| entity.name.module.js, variable.import.parameter.js, variable.other.class.js | #FF6B88 | — |
| variable.language | #FF6B88 | italic |
| entity.name.method.js | #99C0FF | italic |
| meta.class-method.js entity.name.function.js, variable.function.constructor | #99C0FF | — |
| entity.other.attribute-name.class | #FFDA88 | — |
| source.sass keyword.control | #99C0FF | — |
| markup.inserted | #D5FFA3 | — |
| markup.deleted | #FF6B88 | — |
| markup.changed | #DDA8FF | — |
| string.regexp | #9FF0FF | — |
| constant.character.escape | #9FF0FF | — |
| *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 | #F5FFFF | — |
| text.html.markdown markup.inline.raw.markdown | #DDA8FF | — |
| text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown | #7A8A99 | — |
| markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown | #D5FFA3 | — |
| 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 | #FFA088 | underline |
| markup.quote punctuation.definition.blockquote.markdown | #7A8A99 | — |
| markup.quote | — | italic |
| string.other.link.title.markdown | #99C0FF | — |
| string.other.link.description.title.markdown | #DDA8FF | — |
| constant.other.reference.link.markdown | #FFDA88 | — |
| markup.raw.block | #DDA8FF | — |
| markup.raw.block.fenced.markdown | #00000050 | — |
| punctuation.definition.fenced.markdown | #00000050 | — |
| markup.raw.block.fenced.markdown, variable.language.fenced.markdown, punctuation.section.class.end | #F5FFFF | — |
| variable.language.fenced.markdown | #7A8A99 | — |
| meta.separator | #7A8A99 | bold |
| markup.table | #F5FFFF | — |
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}!`;
}