TomTheme
Publisher: tomcn0803Themes in package: 1
A dark theme with vibrant accents
A dark theme with vibrant accents
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, comment keyword, comment markup.underline.link, comment string, comment punctuation.definition, comment punctuation, comment text | #7E8392 | — |
| comment storage.type | #7E8392 | — |
| comment entity.name.type | #BAB6C0 | — |
| comment variable, comment variable.other | #BAB6C0 | — |
| comment keyword, comment entity.name.tag, entity.name.tag.documentation | #BAB6C0 | — |
| comment keyword.codetag.notation | #BD93F9 | — |
| comment.git-status.header.remote | #FC618D | — |
| comment.git-status.header.local | #66DAFF | — |
| comment.other.git-status.head | #FFFFFF | — |
| punctuation.definition.string.begin, punctuation.definition.string.end | #E3EC79 | — |
| string.quoted.docstring, string.quoted.docstring punctuation.definition | #7E8392 | — |
| string.quoted.docstring.multi, string.quoted.docstring.multi.python punctuation.definition.string.begin, string.quoted.docstring.multi.python punctuation.definition.string.end, string.quoted.docstring.multi.python constant.character.escape | #7E8392 | — |
| constant | #BD93F9 | — |
| constant.other | #FFFFFF | — |
| constant.other.caps | #BD93F9 | — |
| constant.other.placeholder | #BD93F9 | — |
| constant.other.property | #BD93F9 | — |
| constant.other.citation.latex | #BD93F9 | — |
| constant.other.color | #BD93F9 | — |
| constant.other.character-class.escape | #BD93F9 | — |
| constant.other.key | #BD93F9 | — |
| constant.other.symbol | #FD9353 | — |
| constant.other.elm | #66DAFF | — |
| constant.numeric | #BD93F9 | — |
| constant.language | #BD93F9 | — |
| constant.character.escape | #BD93F9 | — |
| constant.numeric.line-number.find-in-files | #525053 | — |
| constant.numeric.line-number.match.find-in-files | #FFEB81 | — |
| entity.name.section | #FFEB81 | — |
| entity.name.module.rust | #13FBA7 | — |
| entity.name.function, entity.name.function.templated, entity.name.function.member.static | #13FBA7 | — |
| entity.name.type.class.templated, entity.name.type.class.generic, entity.name.type.namespace, entity.name.function.support.builtin.go | #66DAFF | — |
| entity.name.label | #BD93F9 | — |
| entity.name.directive.restructuredtext, markup.quote | #FFEB81 | italic |
| entity.name.filename | #FFEB81 | — |
| entity.name.class | #66DAFF | — |
| entity.name.constant | #BD93F9 | — |
| entity.other.inherited-class | #66DAFF | |
| entity.name.function | #13FBA7 | — |
| entity.name.tag, entity.name.tag.js.jsx support.class.component.js.jsx, entity.name.tag support.class.component, source.vue support.class.component | #FC618D | — |
| entity.name.function.operator | #FC618D | — |
| meta.brackets entity.name.function.operator, punctuation.separator entity.name.function.operator | #8B888F | — |
| entity.other.attribute-name | #66DAFF | |
| entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector-suffix.css, entity.other.attribute-name.parent-selector-suffix.css punctuation.definition.entity.css, entity.other.attribute-name.css, entity.other.animation-name.css | #13FBA7 | — |
| entity.other.attribute-name.id.css | #FD9353 | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.pseudo-class.css, entity.other.pseudo-element.css | #66DAFF | italic |
| entity.name.function, meta.function-call.object, meta.function-call.php, meta.function-call.static, meta.method-call.java meta.method, meta.method.groovy, support.function.any-method.lua, keyword.operator.function.infix | #13FBA7 | — |
| entity.name.function.target.makefile, entity.name.section.toml, entity.name.tag.yaml, variable.other.key.toml | #66DAFF | — |
| entity.other.git-status.hex | #BD93F9 | — |
| entity.other.jinja2.delimiter | #8B888F | — |
| entity.name.operator.custom-literal | #FFFFFF | — |
| entity.name.operator.custom-literal.string | #FFEB81 | — |
| entity.name.operator.custom-literal.number | #BD93F9 | — |
| entity.name.type.rust | #66DAFF | — |
| invalid | #FC618D | italic underline |
| invalid.deprecated | #FD9353 | italic underline |
| keyword | #FC618D | — |
| keyword.control | #FC618D | — |
| keyword.control.directive | #FC618D | — |
| keyword.operator, keyword.operator.member, keyword.operator.new, keyword.operator.new.cpp, keyword.operator.delete.cpp, keyword.other.operator.overload.cpp, entity.name.operator.cpp, entity.name.operator.type.reference.cpp, entity.name.operator.type.pointer.cpp | #FC618D | — |
| keyword.other.substitution | #8B888F | — |
| keyword.other.template.begin, keyword.other.template.end | #FC618D | — |
| keyword.operator.heading.restructuredtext, keyword.operator.table.row.restructuredtext keyword.operator.table.data.restructuredtext | #8B888F | — |
| keyword.other.parenthesis.elm | #8B888F | — |
| keyword.declaration.class.ruby, keyword.declaration.function.ruby, keyword.declaration.namespace.ruby | #FC618D | — |
| markup.italic | — | italic |
| markup.bold | — | bold |
| markup.heading | #FFEB81 | — |
| markup.raw | #FD9353 | — |
| markup.underline | — | underline |
| markup.underline.link | #13FBA7 | — |
| markup.inserted, markup.inserted punctuation.definition.inserted | #13FBA7 | — |
| markup.deleted, markup.deleted punctuation.definition.deleted | #FC618D | — |
| markup.changed, markup.changed punctuation.definition.changed | #FFEB81 | — |
| markup.ignored, markup.ignored punctuation.definition.ignored | #8B888F | — |
| markup.untracked | #8B888F | — |
| markup.quote | — | italic |
| meta.brace.round, meta.brace.square, meta.brace.curly, meta.delimiter.comma.js, meta.function-call.without-arguments.js, meta.function-call.method.without-arguments.js | #8B888F | — |
| meta.instance.constructor | #13FBA7 | — |
| meta.attribute-with-value.class string, meta.attribute.class.html string | #13FBA7 | — |
| meta.attribute-with-value.id string, meta.attribute.id.html string | #FD9353 | — |
| source.json meta.mapping.key string | #FFFFFF | — |
| source.yaml meta.mapping.key string | #FC618D | — |
| meta.object.member | #FFFFFF | — |
| meta.property-list.css variable.other | #FD9353 | — |
| entity.name.constant.preprocessor, meta.preprocessor | #BD93F9 | — |
| meta.diff.git-diff.header | #FFEB81 | — |
| meta.type variable, meta.type variable.other.readwrite | #BD93F9 | — |
| string.quoted.docstring.multi, string.quoted.docstring.multi.python punctuation.definition.string.begin, string.quoted.docstring.multi.python punctuation.definition.string.end, string.quoted.docstring.multi.python constant.character.escape | #7E8392 | — |
| punctuation.brackets.angle.rust | #FFFFFF | — |
| punctuation.other.colon.go | #FFFFFF | — |
| punctuation.definition.directive.cpp | #FC618D | — |
| source.cpp punctuation.section, source.cpp punctuation.separator.scope-resolution, source.cpp punctuation.separator.pointer-access, source.cpp storage.modifier.pointer, source.cpp storage.modifier.reference, source.cpp keyword.operator, source.cpp entity.name.function.operator, keyword.other.operator.overload.cpp, entity.name.operator.cpp, entity.name.operator.type.reference.cpp, entity.name.operator.type.pointer.cpp | #FC618D | — |
| punctuation.definition.tag, punctuation.definition.tag source, punctuation.definition.group.begin.ruby, punctuation.definition.group.end.ruby, punctuation.definition.group.begin.css, punctuation.definition.group.end.css, punctuation.definition.string.end.html source.css, punctuation.definition.block, punctuation.definition.parameters.begin, punctuation.definition.parameters.end, punctuation.separator.parameter, punctuation.accessor | #8B888F | — |
| punctuation.terminator | #FFFFFF | — |
| punctuation.definition.group | #FFFFFF | — |
| punctuation.definition.comment | #7E8392 | — |
| punctuation.definition.variable, punctuation.definition.keyword.scss, punctuation.definition.entity.css | #BAB6C0 | — |
| punctuation.section.embedded, punctuation.section.embedded entity.name.tag, punctuation.section.embedded constant.other, punctuation.section.embedded source, punctuation.section.embedded.begin | #FD9353 | — |
| punctuation.template-string.element.begin, punctuation.template-string.element.end, punctuation.definition.string.template.begin, punctuation.definition.string.template.end, string.quoted.template punctuation.definition.string.begin, string.quoted.template punctuation.definition.string.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end | #FC618D | — |
| meta.paragraph.markdown meta.dummy.line-break, meta.paragraph.markdown meta.hard-line-break.markdown | — | — |
| markup.underline.link punctuation | #13FBA7 | — |
| meta.brace.round, meta.brace.square, keyword.operator.type.annotation, meta.type storage.modifier.array | #8B888F | — |
| region.redish | #FC618D | — |
| region.orangish | #FD9353 | — |
| region.yellowish | #FFEB81 | — |
| region.greenish | #13FBA7 | — |
| region.bluish | #66DAFF | — |
| region.purplish | #BD93F9 | — |
| region.pinkish | #FC618D | — |
| region.whitish | #FFFFFF | — |
| source | #FFFFFF | — |
| source.scss, source.sass | #8B888F | — |
| source.sass variable.other, source.sass variable.sass, source.scss variable.other, source.scss variable.scss, source.scss variable.sass, source.css variable.other, source.css variable.scss, source.less variable.other, source.less variable.other.less, source.less variable.declaration.less | #FD9353 | italic |
| source.git-show.commit.sha | #BD93F9 | — |
| source.git-show.author, source.git-show.date, source.git-diff.command, source.git-diff.command meta.diff.git-diff.header.from-file, source.git-diff.command meta.diff.git-diff.header.to-file | #8B888F | — |
| source.git-show meta.diff.git-diff.header.extended.index.from-sha, source.git-show meta.diff.git-diff.header.extended.index.to-sha | #BD93F9 | — |
| source.git-show meta.diff.range.unified | #FD9353 | — |
| source.git-show meta.diff.header.from-file, source.git-show meta.diff.header.to-file | #8B888F | — |
| storage | #FC618D | — |
| storage.type | #66DAFF | |
| storage.type.extends | #FC618D | normal |
| storage.type.function.arrow | #FC618D | normal |
| storage.modifier, storage.type.modifier | #FC618D | |
| storage.class.restructuredtext.ref | #BD93F9 | — |
| entity.name.type, keyword.primitive-datatypes.swift, keyword.type.cs, meta.protocol-list.objc, meta.return-type.objc, source.go storage.type, source.groovy storage.type, source.java storage.type, source.powershell entity.other.attribute-name, storage.class.std.rust, storage.type.attribute.swift, storage.type.c, storage.type.core.rust, storage.type.cs, storage.type.groovy, storage.type.objc, storage.type.php, storage.type.haskell, storage.type.ocaml | #66DAFF | — |
| constant.other.symbol.hashkey.ruby, keyword.operator.dereference.java, keyword.operator.navigation.groovy, meta.scope.for-loop.shell punctuation.definition.string.begin, meta.scope.for-loop.shell punctuation.definition.string.end, meta.scope.for-loop.shell string, storage.modifier.import, punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx, punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx, punctuation.separator.list.comma.css, constant.language.empty-list.haskell | #FFFFFF | — |
| string | #FFEB81 | — |
| punctuation.definition.string.begin.cpp, punctuation.definition.string.end.cpp | #FFEB81 | — |
| string.unquoted.label | #FFFFFF | — |
| string source | #FFFFFF | — |
| string source punctuation.section.embedded, string punctuation.definition.string source | #8B888F | — |
| string.other.link.title, string.other.link.description | #FC618D | — |
| string.other.link.description.title | #66DAFF | — |
| string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end | #FC618D | — |
| string.other.ref, string.other.restructuredtext.ref | #13FBA7 | — |
| string.other.git-status.help.key | #BAB6C0 | — |
| string.other.git-status.remote | #FC618D | — |
| support.constant | #66DAFF | — |
| support.constant.handlebars | #8B888F | — |
| support.type.vendor-prefix.css | #BAB6C0 | — |
| support.function.delimiter.elm | #8B888F | — |
| support.type, entity.name.type.object.console | #66DAFF | italic |
| support.variable, support.variable.property | #66DAFF | — |
| support.function, support.type.property-name | — | regular |
| punctuation.support.type.property-name.begin, punctuation.support.type.property-name.end | #66DAFF | — |
| support.class | #66DAFF | — |
| support.constant.core.rust | #BD93F9 | — |
| comment support, comment support.class | #7E8392 | — |
| text | #FFFFFF | — |
| text.find-in-files | #FFFFFF | — |
| variable, variable.other | #FFFFFF | — |
| variable.parameter, parameters variable.function | #FD9353 | italic |
| variable.language | #BAB6C0 | italic |
| variable.language.arguments | #BD93F9 | — |
| variable.language.this.cpp | #BD93F9 | — |
| variable.other.class | #66DAFF | — |
| variable.other.constant | #BD93F9 | — |
| variable.other.readwrite | #FFFFFF | — |
| variable.other.member | #FFFFFF | — |
| variable.other.enummember | #BD93F9 | — |
| variable.other.property, variable.other.property.static, variable.other.event | #FFFFFF | — |
| variable.function | #13FBA7 | — |
| variable.other.substitution | #FD9353 | — |
| source.ruby variable.other.readwrite.instance.ruby, source.ruby variable.other.readwrite.class.ruby | #BD93F9 | — |
| source.jinja2 variable.other.jinja2.block | #13FBA7 | — |
| source.jinja2 variable.other.jinja2 | #FD9353 | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
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}!`;
}