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 | #4a8a85 | — |
| 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 | #8a9099 | — |
| constant, entity.name.constant, variable.language, meta.definition.variable | #a8e0eb | — |
| entity, entity.name | #d4d4d4 | — |
| variable.parameter.function | #d4d4d4 | — |
| entity.name.tag, tag.html | #7ec46a | — |
| entity.other.attribute-name.html.meta.attribute.class.html | #86d3b8 | — |
| support.class.component, support.class.component.html, support.class.component.jsx, support.class.component.tsx, meta.tag.other.unrecognized.html.derivative entity.name.tag | #22d3a8 | — |
| entity.name.function | #fccf3c | — |
| keyword, storage.type.class.jsdoc | #ff6e6e | — |
| storage, storage.type | #ff6e6e | — |
| support.type.builtin, constant.language.undefined, constant.language.null | #7aa5e8 | — |
| text.html.derivative, storage.modifier.package, storage.modifier.import, storage.type.java | #d4d4d4 | — |
| string, string punctuation.section.embedded source, attribute.value | #c48971 | — |
| variable.other.object, variable.other.readwrite | #cfe6ff | — |
| variable.other.object.property, variable.other.property | #71c9ff | — |
| meta.function-call | #fccf3c | — |
| punctuation.definition.string, punctuation.support.type.property-name | #c4897199 | — |
| support, support.type.property-name.toml | #71c9ff | — |
| support.type.property-name.table.toml, support.type.property-name.array.toml | #fccf3c | — |
| property, meta.property-name, meta.object-literal.key, entity.name.tag.yaml, attribute.name | #71c9ff | — |
| variable, identifier | #cfe6ff | — |
| variable.other.constant | #a8e0eb | — |
| support.type.primitive, entity.name.type | #86d3b8 | — |
| namespace | #dc8be8 | — |
| keyword.operator, keyword.operator.assignment.compound, meta.var.expr.ts | #8a9099 | — |
| 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 | #ff6e6e | — |
| keyword.control.import | #c490ff | — |
| invalid.broken | #db5a5a | italic |
| invalid.deprecated | #db5a5a | italic |
| invalid.illegal | #db5a5a | italic |
| invalid.unimplemented | #db5a5a | italic |
| carriage-return | #0f0f0f | italic underline |
| message.error | #db5a5a | — |
| string variable | #c48971 | — |
| source.regexp, string.regexp | #cce0a8 | — |
| constant.regexp | #cce0a8 | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #c48971 | — |
| string.regexp constant.character.escape | #fccf3c | — |
| support.constant | #a8e0eb | — |
| constant.numeric, number | #5fd4e0 | — |
| keyword.other.unit | #7aa5e8 | — |
| constant.language.boolean, constant.language | #5db1ff | — |
| meta.module-reference | #1f8fff | — |
| 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 | #d4d4d4 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #ff6e6e | — |
| meta.preprocessor, entity.name.function.preprocessor | #ff6e6e | — |
| meta.preprocessor.string | #c48971 | — |
| meta.preprocessor.numeric | #5fd4e0 | — |
| string.tag, string.value | #c48971 | — |
| keyword.operator.plus.exponent, keyword.operator.minus.exponent | #5fd4e0 | — |
| storage.modifier, storage.modifier.import.java, storage.modifier.package.java | #ff6e6e | — |
| variable.language.wildcard.java | #d4d4d4 | — |
| invalid | #db5a5a | — |
| punctuation.definition.tag | #8a9099 | — |
| invalid.illegal.unrecognized-tag.html | — | normal |
| type.identifier | #22d3a8 | — |
| entity.other.attribute-name, support.type.property-name, support.type.vendored.property-name, meta.structure.dictionary.key.python | #71c9ff | — |
| entity.other.attribute-name.html | #b8d4ed | — |
| entity.other.attribute-name.html.meta.attribute.id.html, meta.attribute.id.html string.quoted | #86d3b8 | — |
| entity.name.tag.css, entity.name.tag.less | #7ec46a | — |
| 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 | #86d3b8 | — |
| source.css variable, support.function.git-rebase | #71c9ff | — |
| constant.sha.git-rebase, variable.other.enummember | #a8e0eb | — |
| punctuation.definition.list.begin.markdown | #f28043 | — |
| punctuation.definition.quote.begin.markdown | #4a8a85 | — |
| markup.heading, markup.heading entity.name | #fccf3c | bold |
| markup.quote | #7eb6ff | — |
| markup.italic | #d4d4d4 | italic |
| markup.bold | #d4d4d4 | bold |
| strong | — | bold |
| emphasis | — | italic |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.raw | #7eb6ff | — |
| markup.inline.raw | #7eb6ff | — |
| constant.other.reference.link, string.other.link, punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown | #c48971 | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #a3a3a3cc | underline |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #db5a5a | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #34c09d | — |
| markup.changed, punctuation.definition.changed | #f28043 | — |
| markup.ignored, markup.untracked | #a3a3a3aa | — |
| meta.diff.range | #f24391 | bold |
| meta.diff.header | #4babf2 | — |
| meta.separator | #4babf2 | bold |
| meta.output | #4babf2 | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #a3a3a3aa | — |
| brackethighlighter.unmatched | #db5a5a | — |
| entity.name.lifetime.rust, storage.modifier.lifetime.rust, punctuation.definition.lifetime.rust | #ff6e6e | italic |
| meta.attribute.rust, punctuation.brackets.attribute.rust, meta.attribute.rust entity.name.function | #d39d91 | — |
| entity.name.macro.rust, entity.name.function.macro.rust, support.macro.rust | #fccf3c | — |
| entity.name.namespace.rust, entity.name.module.rust | #dc8be8 | — |
| storage.type.rust, storage.modifier.mut.rust, storage.modifier.static.rust, storage.modifier.const.rust | #ff6e6e | — |
| entity.name.type.struct.rust, entity.name.type.enum.rust, entity.name.type.trait.rust | #22d3a8 | — |
| keyword.import.go, keyword.package.go, keyword.function.go, keyword.var.go | #ff6e6e | — |
| entity.name.import.go, entity.name.package.go | #dc8be8 | — |
| entity.name.label.go | #a8e0eb | — |
| support.type.builtin.go | #7aa5e8 | — |
| support.class.component.jsx, support.class.component.tsx, entity.name.tag.jsx support.class.component, entity.name.tag.tsx support.class.component | #22d3a8 | — |
| 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 | #7aa5e8 | — |
| punctuation.definition.tag.begin.jsx, punctuation.definition.tag.end.jsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx | #8a9099 | — |
| meta.function.decorator.python, meta.function.decorator.python entity.name.function, meta.function.decorator.python support.function, punctuation.definition.decorator.python | #d39d91 | — |
| support.type.exception.python | #22d3a8 | — |
| storage.type.string.python, storage.type.format.python | #c4897199 | — |
| support.type.property-name.json | #71c9ff | — |
| storage.modifier.specifier.cpp, storage.type.modifier.cpp, meta.template.cpp | #ff6e6e | — |
| entity.name.scope-resolution.cpp, entity.name.namespace.cpp | #dc8be8 | — |
| variable.other.normal.shell, variable.other.special.shell | #cfe6ff | — |
| punctuation.definition.variable.shell | #8a9099 | — |
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}!`;
}