Krys Colors
Publisher: CielquanThemes in package: 1
Krys theme for Visual Studio Code based on Monokai
Krys theme for Visual Studio Code based on Monokai
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 |
|---|---|---|
| source, punctuation.separator, punctuation.accessor | #F8F8F2 | — |
| variable | #F8F8F2 | — |
| variable.other.constant, constant.other.caps, support.constant | #F8F8F2 | bold |
| string | #E6DB74 | — |
| string.quoted.binary, string.quoted.raw.binary | #A5C261 | — |
| constant.character.escape, constant.character.format, punctuation.definition.interpolation, punctuation.definition.template-expression.begin.tsx, punctuation.definition.template-expression.end.tsx, meta.interpolation | #AE81FF | — |
| constant.character, constant.other | #AE81FF | — |
| constant.numeric, punctuation.separator.dot.decimal | #AE81FF | — |
| keyword.operator, punctuation.section, punctuation.separator.key-value.html, punctuation.separator.key-value.restructuredtext, punctuation.separator.key-value.markdown, punctuation.separator.annotation.python, punctuation.separator.annotation.result.python, punctuation.separator.colon.python, punctuation.separator.dict.python, punctuation.separator.slice.python, punctuation.separator.statement.and.shell.dockerfile, constant.language.import-export-all.js, constant.language.import-export-all.jsx, constant.language.import-export-all.ts, constant.language.import-export-all.tsx, storage.type.function.arrow.js, storage.type.function.arrow.jsx, storage.type.function.arrow.ts, storage.type.function.arrow.tsx, keyword.other.unit.percentage.css, punctuation.definition.directive.begin.yaml, constant.language.merge.yaml, punctuation.definition.lifetime.rust, punctuation.definition.decorator.python | #F92672 | — |
| keyword.operator.logical | #268BD2 | — |
| keyword.other | #66D9EF | italic |
| keyword.control | #66D9EF | italic bold |
| keyword.control.import, keyword.control.from | #A6E22E | italic |
| storage.type.format.python, storage.type.function.async.python, keyword.other.important.css, keyword.operator.new.js, keyword.operator.new.jsx, keyword.operator.new.ts, keyword.operator.new.tsx, meta.other.directive.restructuredtext, entity.name.role.restructuredtext | #F92672 | — |
| constant.language | #859900 | italic bold |
| storage | #F92672 | |
| storage.type | #66D9EF | — |
| storage.type.string, string.quoted.byte.raw.rust, punctuation.definition.string.raw.rust, storage.type.number, storage.type.imaginary.number | #66D9EF | italic |
| storage.type.class, storage.type.function, keyword.other.fn | #66D9EF | — |
| support.type, support.class, entity.name.type.numeric, entity.name.type.primitive, entity.name.type.option, entity.name.type.result | #268BD2 | italic |
| entity.name.class, entity.name.type.class, entity.name.type.enum, entity.name.type.struct, entity.name.type.trait, entity.name.type.declaration | #A6E22E | underline |
| entity.other.inherited-class | #A6E22E | italic |
| variable.language, variable.parameter.function.language.special | #94558D | |
| support.function | #66D9EF | |
| entity.name.function, variable.other.jinja.filter | #A6E22E | |
| variable.parameter | #FD971F | italic |
| entity.name.namespace, entity.name.scope-resolution | #A7FF95 | italic |
| entity.name.tag | #F92672 | |
| entity.other.attribute-name | #A6E22E | |
| comment | #75715E | — |
| comment.block.documentation, comment.line.documentation, string.quoted.docstring | #629755 | — |
| invalid, keyword.illegal | #F92672 | bold italic underline |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
| meta.diff, meta.diff.header | #75715E | — |
| markup.deleted | #F92672 | — |
| markup.inserted | #A6E22E | — |
| markup.changed | #E6DB74 | — |
| string.other.link, markup.underline | #FD971F | — |
| markup.heading | #AE81FF | — |
| markup.bold | #66D9EF | bold |
| markup.italic | #66D9EF | italic |
| markup.quote, markup.other.command, string.other.interpreted | #6D6D94 | — |
| markup.underline.link, meta.link | #E6DB74 | — |
| markup.raw, markup.inline.raw | #82A363 | — |
| markup.raw.inner, markup.raw.block, markup.fenced_code, punctuation.section.raw | #4F7E4E | — |
| markup.list | #A6E22E | — |
| entity.name.section.group-title, variable.key.table | #268BD2 | — |
| variable.key.array | #2FA9FF | — |
| keyword.other.definition.ini, keyword.key.toml, variable.key.toml, entity.name.tag.yaml, support.type.property-name.json | #A6E22E | — |
| constant.other.boolean.toml, constant.language.boolean.toml, constant.language.boolean.yaml, constant.language.json | #66D9EF | italic |
| constant.other.datetime-with-timezone.toml, constant.other.datetime.toml, constant.other.date.toml, constant.other.time.datetime.offset.toml, constant.other.time.datetime.local.toml, constant.other.time.date.toml, constant.other.time.time.toml, constant.other.timestamp.yaml | #66D9EF | italic |
| string.quoted.double.ini, string.quoted.single.ini, source.ini, string.quoted.triple.basic.block.toml, string.quoted.single.basic.line.toml, string.unquoted.plain.in.yaml, string.unquoted.plain.out.yaml, string.unquoted.block.yaml, string.quoted.double.yaml, string.quoted.double.json | #2AA198 | — |
| string.quoted.triple.literal.block.toml, string.quoted.single.literal.line.toml, string.quoted.single.yaml | #E6DB74 | — |
| log.trace | #66D9EF | bold |
| log.debug, log.verbose | #268BD2 | bold |
| log.info | #A6E22E | bold |
| log.warning | #FD971F | bold |
| log.error, log.exception | #F92672 | bold |
| log.exceptiontype | #AE81FF | — |
| log.date | #66D9EF | italic |
| a | #FF00D4 | bold |
| keyword.operator.access.dot.rust, string.regexp | #F8F8F2 | — |
| entity.other.jinja.delimiter | #F92672 | |
| constant.other.ellipsis.python, support.variable.magic.python, meta.separator.markdown, entity.other.document.begin.yaml, entity.other.document.end.yaml, support.other.escape.special.regexp | #268BD2 | bold |
| keyword.other.crate.rust | #94558D | — |
| constant.character.set.regexp | #FD971F | — |
| keyword.operator.borrow.and.rust, punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml, support.other.match.begin.regexp, support.other.match.end.regexp | #FD971F | italic |
| entity.name.type.anchor.yaml, variable.other.alias.yaml, variable.other.assignment.dockerfile, variable.other.dockerfile | #E8BF6A | italic |
| keyword.operator.quantifier.regexp | #AE81FF | — |
| entity.name.type.lifetime.rust, support.function.magic.python | #B200B2 | italic |
| meta.function-call.generic.python, entity.name.command.shell.dockerfile | #66D9EF | — |
| storage.type.function.lambda.python | #A6E22E | italic |
| meta.attribute.rust, variable.parameter.function-call.python, entity.name.image.dockerfile, entity.name.image.stage.dockerfile | #CB4B16 | italic |
| entity.name.type.rust, entity.name.type.ts, entity.name.type.tsx | #A6E22E |
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}!`;
}