tibu-cool-dark
Publisher: TibuDevThemes in package: 1
Tibu Cool Dark Theme
Tibu Cool Dark 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 |
|---|---|---|
| punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.separator.key-value.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html | #89DDFF | — |
| entity.name.tag.html, meta.tag.sgml | #FF5151 | — |
| entity.other.attribute-name.html | #FFCB6B | — |
| text.html.derivative meta.attribute string.quoted | #C3E88D | — |
| source.css entity.name.tag | #89DDFF | — |
| source.css entity.other.attribute-name.class | #017ACE | — |
| source.css entity.other.attribute-name.id, source.css keyword.control.at-rule | #00C79F | — |
| source.css entity.other.attribute-name.pseudo-class | #CF6FCF | — |
| source.css entity.other.attribute-name.pseudo-element | #94D0D2 | — |
| source.css support.type.property-name | #EAD5AA | — |
| source.css support.type.vendored.property-name, source.css support.constant.vendored.property-value | #D5AC84 | — |
| source.css constant.numeric, source.css constant.other.color.rgb-value punctuation.definition.constant | #F78C6C | — |
| source.css keyword.other.unit, source.css constant.other.color | #FFEB95 | — |
| source.css support.constant.property-value, source.css support.function | #8DE794 | — |
| source.css variable.parameter.keyframe-list | #A5D4A0 | — |
| text.html.markdown heading.1 | #89DDFF | — |
| text.html.markdown heading.2 | #017ACE | — |
| text.html.markdown heading | #00C79F | — |
| text.html.markdown markup.inline.raw | #FFFDD0 | — |
| text.html.markdown markup.underline.link | #D5AC84 | — |
| text.html.markdown markup.bold | #FFA228 | bold |
| source.json support.type.property-name | #017ACE | — |
| source.json meta.structure.dictionary.value string.quoted.double | #FFFDD0 | — |
| source.json constant.numeric | #FFA228 | — |
| source.json constant.language.json | #00C79F | — |
| keyword.control.import.js, keyword.control.from.js, keyword.control.import.ts, keyword.control.from.ts | #89DDFF | — |
| meta.import.js variable.other.readwrite, meta.import.ts variable.other.readwrite | #FFFDD0 | — |
| source.js meta.block variable.other.readwrite.alias, source.ts meta.block variable.other.readwrite.alias | #94d0d2 | — |
| meta.import.js string.quoted.single, meta.import.js punctuation.definition.string.begin, meta.import.js punctuation.definition.string.end, meta.import.ts string.quoted.single, meta.import.ts punctuation.definition.string.begin, meta.import.ts punctuation.definition.string.end | #D5AC84 | — |
| punctuation.definition.string, keyword.operator, punctuation.terminator, punctuation.separator, punctuation.accessor, storage.type.function.arrow.js, storage.type.function.arrow.ts | #89DDFF | — |
| source.js punctuation.definition.template-expression, source.ts punctuation.definition.template-expression | #017ACE | — |
| keyword.operator.new.js, keyword.operator.new.ts | #F39652 | — |
| keyword.control.export.js, keyword.control.default.js, keyword.control.flow.js, keyword.control.export.ts, keyword.control.default.ts, keyword.control.flow.ts | #89DDFF | — |
| storage.type.js, storage.type.function.js, storage.type.ts, storage.type.function.ts | #017ACE | — |
| keyword.control.conditional.js, keyword.control.conditional.ts | #017ACE | — |
| meta.var.expr.js keyword.control.flow, storage.modifier.async.js, meta.var.expr.ts keyword.control.flow, storage.modifier.async.ts | #89DDFF | — |
| keyword.control.trycatch.js, keyword.control.trycatch.ts | #89DDFF | — |
| meta.definition.variable.js variable.other.constant.js, meta.definition.variable.js variable.other.readwrite.js, meta.definition.variable.ts variable.other.constant.ts, meta.definition.variable.ts variable.other.readwrite.ts | #FFFDD0 | — |
| variable.other.readwrite.js, variable.other.object.js, variable.other.readwrite.ts, variable.other.object.ts | #FFFDD0 | — |
| meta.block.js variable.other.readwrite.js, meta.block.ts variable.other.readwrite.ts | #FFFDD0 | — |
| meta.definition.function.js, variable.other.constant.js entity.name.function.js, meta.definition.function.ts, variable.other.constant.ts entity.name.function.ts | #D5AC84 | — |
| meta.parameter.object-binding-pattern.js variable.parameter.js, meta.parameter.object-binding-pattern.ts variable.parameter.ts | #94d0d2 | — |
| meta.parameters.js variable.parameter.js, meta.parameters.ts variable.parameter.ts | #CF6FCF | — |
| meta.object-literal.key.js, meta.object-literal.key.ts | #EAD5AA | — |
| meta.object-literal.key.js entity.name.function.js, meta.object-literal.key.ts entity.name.function.ts | #D5AC84 | — |
| meta.object-literal.key.js punctuation.separator.key-value.js, meta.object-literal.key.ts punctuation.separator.key-value.ts | #89DDFF | — |
| meta.object.member.js variable.other.readwrite.js, meta.object.member.ts variable.other.readwrite.ts | #CF6FCF | — |
| meta.object.member.js variable.other.property.js, variable.other.property.js, meta.object.member.ts variable.other.property.ts, meta.object.member.ts variable.other.property.ts | #A5D4A0 | — |
| meta.object.member.js variable.other.object.property.js, variable.other.object.property.js, meta.object.member.ts variable.other.object.property.ts, variable.other.object.property.ts | #8DE794 | — |
| meta.array.literal.js variable.other.object.js, meta.array.literal.ts variable.other.object.ts | #CF6FCF | — |
| meta.array.literal.js variable.other.property.js, meta.array.literal.ts variable.other.property.ts | #E7B6D0 | — |
| meta.array.literal.js variable.other.object.property.js, meta.array.literal.ts variable.other.object.property.ts | #DB93D0 | — |
| meta.function-call.js, meta.function-call.ts | #00C79F | — |
| meta.template.expression.js meta.embedded.line.js, meta.template.expression.ts meta.embedded.line.ts | #94D0D2 | — |
| meta.template.expression.js meta.embedded.line.js variable.other.object.js, meta.template.expression.ts meta.embedded.line.ts variable.other.object.ts | #94D0D2 | — |
| constant.language.boolean.true.js, constant.language.boolean.true.ts | #46cb18 | — |
| constant.language.boolean.false.js, constant.language.boolean.false.ts | #ED3232 | — |
| constant.language.undefined.js, constant.language.null.js, constant.language.undefined.ts, constant.language.null.ts | #FF5151 | — |
| constant.numeric | #ffd155 | — |
| keyword.control.import.js.jsx, keyword.control.from.js.jsx, keyword.control.import.tsx, keyword.control.from.tsx | #89DDFF | — |
| meta.import.js.jsx variable.other.readwrite, meta.import.tsx variable.other.readwrite | #FFFDD0 | — |
| source.js.jsx meta.block variable.other.readwrite.alias, source.tsx meta.block variable.other.readwrite.alias | #94d0d2 | — |
| meta.import.js.jsx string.quoted.single, meta.import.js.jsx punctuation.definition.string.begin, meta.import.js.jsx punctuation.definition.string.end, meta.import.tsx string.quoted.single, meta.import.tsx punctuation.definition.string.begin, meta.import.tsx punctuation.definition.string.end | #D5AC84 | — |
| punctuation.definition.string, keyword.operator, keyword.control, punctuation.terminator, punctuation.separator, punctuation.accessor, storage.type.function.arrow.js.jsx, storage.type.function.arrow.tsx | #89DDFF | — |
| keyword.operator.new.js.jsx, keyword.operator.new.tsx | #F39652 | — |
| keyword.control.export.js.jsx, keyword.control.default.js.jsx, keyword.control.flow.js.jsx, keyword.control.export.tsx, keyword.control.default.tsx, keyword.control.flow.tsx | #89DDFF | — |
| storage.type.js.jsx, storage.type.function.js.jsx, storage.type.tsx, storage.type.function.tsx | #017ACE | — |
| keyword.control.conditional.js.jsx, keyword.control.conditional.tsx | #017ACE | — |
| meta.var.expr.js.jsx keyword.control.flow.js.jsx, storage.modifier.async.js.jsx, meta.var.expr.tsx keyword.control.flow, storage.modifier.async.tsx | #89DDFF | — |
| keyword.control.trycatch.js.jsx, keyword.control.trycatch.tsx | #89DDFF | — |
| meta.definition.variable.js.jsx variable.other.constant.js.jsx, meta.definition.variable.js.jsx variable.other.readwrite.js.jsx, meta.definition.variable.tsx variable.other.constant.tsx, meta.definition.variable.tsx variable.other.readwrite.tsx | #FFFDD0 | — |
| variable.other.readwrite.js.jsx, variable.other.object.js.jsx, variable.other.readwrite.tsx, variable.other.object.tsx | #FFFDD0 | — |
| meta.block.js.jsx variable.other.readwrite.js.jsx, meta.block.tsx variable.other.readwrite.tsx | #FFFDD0 | — |
| meta.definition.function.js.jsx, variable.other.constant.js.jsx entity.name.function.js.jsx, meta.definition.function.tsx, variable.other.constant.tsx entity.name.function.tsx | #D5AC84 | — |
| meta.parameter.object-binding-pattern.js.jsx variable.parameter.js.jsx, meta.parameter.object-binding-pattern.tsx variable.parameter.tsx | #94d0d2 | — |
| meta.parameters.js.jsx variable.parameter.js.jsx, meta.parameters.tsx variable.parameter.tsx | #CF6FCF | — |
| meta.object-literal.key.js.jsx, meta.object-literal.key.tsx | #EAD5AA | — |
| meta.object-literal.key.js.jsx entity.name.function.js.jsx, meta.object-literal.key.tsx entity.name.function.tsx | #D5AC84 | — |
| meta.object-literal.key.js.jsx punctuation.separator.key-value.js.jsx, meta.object-literal.key.tsx punctuation.separator.key-value.tsx | #89DDFF | — |
| meta.object.member.js.jsx variable.other.readwrite.js.jsx, meta.object.member.tsx variable.other.readwrite.tsx | #CF6FCF | — |
| meta.object.member.js.jsx variable.other.property.js.jsx, variable.other.property.js.jsx, meta.object.member.tsx variable.other.property.tsx, variable.other.property.tsx | #A5D4A0 | — |
| meta.object.member.js.jsx variable.other.object.property.js.jsx, variable.other.object.property.js.jsx, meta.object.member.tsx variable.other.object.property.tsx, variable.other.object.property.tsx | #8DE794 | — |
| meta.array.literal.js.jsx variable.other.object.js.jsx, meta.array.literal.tsx variable.other.object.tsx | #CF6FCF | — |
| meta.array.literal.js.jsx variable.other.property.js.jsx, meta.array.literal.tsx variable.other.property.tsx | #E7B6D0 | — |
| meta.array.literal.js.jsx variable.other.object.property.js.jsx, meta.array.literal.tsx variable.other.object.property.tsx | #DB93D0 | — |
| meta.function-call.js.jsx, meta.function-call.tsx | #00C79F | — |
| meta.template.expression.js.jsx meta.embedded.line.js.jsx, meta.template.expression.tsx meta.embedded.line.tsx | #94D0D2 | — |
| meta.template.expression.js.jsx meta.embedded.line.js.jsx variable.other.object.js.jsx, meta.template.expression.tsx meta.embedded.line.tsx variable.other.object.tsx | #94D0D2 | — |
| constant.language.boolean.true.js.jsx, constant.language.boolean.true.tsx | #46cb18 | — |
| constant.language.boolean.false.js.jsx, constant.language.boolean.false.tsx | #ED3232 | — |
| constant.language.undefined.js.jsx, constant.language.null.js.jsx, constant.language.undefined.tsx, constant.language.null.tsx | #FF5151 | — |
| source.js.jsx constant.numeric, source.tsx constant.numeric | #ffd155 | — |
| punctuation.definition.tag.begin.js.jsx, punctuation.definition.tag.end.js.jsx, punctuation.separator.key-value.js.jsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx, punctuation.separator.key-value.tsx | #89DDFF | — |
| entity.name.tag.js.jsx, entity.name.tag.tsx, meta.tag.sgml | #FF5151 | — |
| entity.other.attribute-name.js.jsx, entity.other.attribute-name.tsx | #FFCB6B | — |
| meta.tag.attributes.js.jsx string.quoted, meta.tag.attributes.tsx string.quoted | #C3E88D | — |
| storage.type | #017ACE | — |
| source.ts entity.name.type | #FFA228 | — |
| source.ts storage.modifier | #89DDFF | — |
| source.ts entity.other.inherited-class | #E2795A | — |
| source.ts variable.object.property, source.ts meta.definition.property, source.ts meta.indexer.declaration variable.parameter.ts | #FFFDD0 | — |
| source.ts support.type.primitive, source.ts support.type.builtin | #00C79F | — |
| comment | #7f848e | italic |
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}!`;
}