Jannchie Code Theme
Publisher: JannchieThemes in package: 5
Jannchie Code Theme for VS Code
Jannchie Code Theme for VS Code
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, string.comment | #547570 | — |
| delimiter.bracket, delimiter, invalid.illegal.character-not-allowed-here.html, keyword.operator.rest, keyword.operator.spread, keyword.operator.type.annotation, keyword.operator.relational, keyword.operator.assignment, meta.brace, meta.tag.block.any.html, meta.tag.inline.any.html, meta.tag.structure.input.void.html, meta.type.annotation, meta.embedded.block.github-actions-expression, storage.type.function.arrow, keyword.operator.type, meta.objectliteral.ts, punctuation | #a1a1a1 | — |
| constant, entity.name.constant, variable.language, meta.definition.variable | #005e6d | — |
| entity, entity.name | #1b1b1b | — |
| variable.parameter.function | #1b1b1b | — |
| entity.name.tag, tag.html | #3d7a2e | — |
| entity.other.attribute-name.html.meta.attribute.class.html | #097575 | — |
| support.class.component, support.class.component.html, support.class.component.jsx, support.class.component.tsx, meta.tag.other.unrecognized.html.derivative entity.name.tag | #0f7d68 | — |
| entity.name.function | #d67200 | — |
| keyword, storage.type.class.jsdoc | #c04949 | — |
| storage, storage.type | #c04949 | — |
| support.type.builtin, constant.language.undefined, constant.language.null | #246cbf | — |
| text.html.derivative, storage.modifier.package, storage.modifier.import, storage.type.java | #1b1b1b | — |
| string, string punctuation.section.embedded source, attribute.value | #b84b1c | — |
| variable.other.object, variable.other.readwrite | #474747 | — |
| variable.other.object.property, variable.other.property | #3184b4 | — |
| meta.function-call | #d67200 | — |
| punctuation.definition.string, punctuation.support.type.property-name | #b84b1c99 | — |
| support, support.type.property-name.toml | #3184b4 | — |
| support.type.property-name.table.toml, support.type.property-name.array.toml | #d67200 | — |
| property, meta.property-name, meta.object-literal.key, entity.name.tag.yaml, attribute.name | #3184b4 | — |
| variable, identifier | #474747 | — |
| variable.other.constant | #005e6d | — |
| support.type.primitive, entity.name.type | #097575 | — |
| namespace | #246cbf | — |
| keyword.operator, keyword.operator.assignment.compound, meta.var.expr.ts | #a1a1a1 | — |
| keyword.control, keyword.operator.new, keyword.operator.expression, keyword.operator.cast, keyword.operator.sizeof, keyword.operator.alignof, keyword.operator.typeid, keyword.operator.alignas, keyword.operator.instanceof, keyword.operator.logical.python, keyword.operator.wordlike, keyword.operator.noexcept | #c04949 | — |
| keyword.control.import | #9b25d1 | — |
| invalid.broken | #b62626 | italic |
| invalid.deprecated | #b62626 | italic |
| invalid.illegal | #b62626 | italic |
| invalid.unimplemented | #b62626 | italic |
| carriage-return | #ffffff | italic underline |
| message.error | #b62626 | — |
| string variable | #b84b1c | — |
| source.regexp, string.regexp | #5e7a1e | — |
| constant.regexp | #5e7a1e | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #b84b1c | — |
| string.regexp constant.character.escape | #fad149 | — |
| support.constant | #005e6d | — |
| constant.numeric, number | #005e6d | — |
| keyword.other.unit | #246cbf | — |
| constant.language.boolean, constant.language | #17477e | — |
| meta.module-reference | #0d6dc7 | — |
| meta.embedded, source.groovy.embedded, meta.embedded.assembly, source.coffee.embedded, punctuation.section.embedded, string meta.image.inline.markdown, variable.legacy.builtin.python, meta.template.expression | #1b1b1b | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #c04949 | — |
| meta.preprocessor, entity.name.function.preprocessor | #c04949 | — |
| meta.preprocessor.string | #b84b1c | — |
| meta.preprocessor.numeric | #005e6d | — |
| string.tag, string.value | #b84b1c | — |
| keyword.operator.plus.exponent, keyword.operator.minus.exponent | #005e6d | — |
| storage.modifier, storage.modifier.import.java, storage.modifier.package.java | #c04949 | — |
| variable.language.wildcard.java | #1b1b1b | — |
| invalid | #b62626 | — |
| punctuation.definition.tag | #a1a1a1 | — |
| invalid.illegal.unrecognized-tag.html | — | normal |
| type.identifier | #0f7d68 | — |
| entity.other.attribute-name, support.type.property-name, support.type.vendored.property-name, meta.structure.dictionary.key.python | #3184b4 | — |
| entity.other.attribute-name.html | #3a5a7a | — |
| entity.other.attribute-name.html.meta.attribute.id.html, meta.attribute.id.html string.quoted | #097575 | — |
| entity.name.tag.css, entity.name.tag.less | #3d7a2e | — |
| entity.other.attribute-name.class.css, source.css entity.other.attribute-name.class, entity.other.attribute-name.id.css, entity.other.attribute-name.parent-selector.css, entity.other.attribute-name.parent.less, source.css entity.other.attribute-name.pseudo-class, entity.other.attribute-name.pseudo-element.css, source.css.less entity.other.attribute-name.id, entity.other.attribute-name.scss | #097575 | — |
| source.css variable, support.function.git-rebase | #3184b4 | — |
| constant.sha.git-rebase, variable.other.enummember | #005e6d | — |
| punctuation.definition.list.begin.markdown | #a65e2b | — |
| punctuation.definition.quote.begin.markdown | #547570 | — |
| markup.heading, markup.heading entity.name | #d67200 | bold |
| markup.quote | #1d5e97 | — |
| markup.italic | #1b1b1b | italic |
| markup.bold | #1b1b1b | bold |
| strong | — | bold |
| emphasis | — | italic |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.raw | #1d5e97 | — |
| markup.inline.raw | #1d5e97 | — |
| constant.other.reference.link, string.other.link, punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown | #b84b1c | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #1b1b1be6 | underline |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #b62626 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #0f7d68 | — |
| markup.changed, punctuation.definition.changed | #a65e2b | — |
| markup.ignored, markup.untracked | #1b1b1b80 | — |
| meta.diff.range | #a13865 | bold |
| meta.diff.header | #1d5e97 | — |
| meta.separator | #1d5e97 | bold |
| meta.output | #1d5e97 | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #1b1b1b80 | — |
| brackethighlighter.unmatched | #b62626 | — |
| entity.name.lifetime.rust, storage.modifier.lifetime.rust, punctuation.definition.lifetime.rust | #c04949 | italic |
| meta.attribute.rust, punctuation.brackets.attribute.rust, meta.attribute.rust entity.name.function | #825a91 | — |
| entity.name.macro.rust, entity.name.function.macro.rust, support.macro.rust | #d67200 | — |
| entity.name.namespace.rust, entity.name.module.rust | #246cbf | — |
| storage.type.rust, storage.modifier.mut.rust, storage.modifier.static.rust, storage.modifier.const.rust | #c04949 | — |
| entity.name.type.struct.rust, entity.name.type.enum.rust, entity.name.type.trait.rust | #0f7d68 | — |
| keyword.import.go, keyword.package.go, keyword.function.go, keyword.var.go | #c04949 | — |
| entity.name.import.go, entity.name.package.go | #246cbf | — |
| entity.name.label.go | #005e6d | — |
| support.type.builtin.go | #246cbf | — |
| support.class.component.jsx, support.class.component.tsx, entity.name.tag.jsx support.class.component, entity.name.tag.tsx support.class.component | #0f7d68 | — |
| keyword.other.DML.sql, keyword.other.DDL.sql, keyword.other.DCL.sql, keyword.other.LUW.sql, keyword.other.create.sql, keyword.other.alter.sql, keyword.other.alias.sql, keyword.other.sql, keyword.other.authorization.sql, keyword.other.data-integrity.sql, keyword.other.object-comments.sql, keyword.other.cte.sql, storage.modifier.sql, storage.type.sql | #246cbf | — |
| punctuation.definition.tag.begin.jsx, punctuation.definition.tag.end.jsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx | #a1a1a1 | — |
| meta.function.decorator.python, meta.function.decorator.python entity.name.function, meta.function.decorator.python support.function, punctuation.definition.decorator.python | #825a91 | — |
| support.type.exception.python | #0f7d68 | — |
| storage.type.string.python, storage.type.format.python | #b84b1c99 | — |
| support.type.property-name.json | #3184b4 | — |
| storage.modifier.specifier.cpp, storage.type.modifier.cpp, meta.template.cpp | #c04949 | — |
| entity.name.scope-resolution.cpp, entity.name.namespace.cpp | #246cbf | — |
| variable.other.normal.shell, variable.other.special.shell | #474747 | — |
| punctuation.definition.variable.shell | #a1a1a1 | — |
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}!`;
}