yeopnokai
Publisher: SerpongThemes in package: 1
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 | #6E7066 | italic |
| comment storage.type | #6E7066 | — |
| comment entity.name.type | #C0C1B5 | — |
| comment variable, comment variable.other | #C0C1B5 | — |
| comment keyword.codetag.notation | #AE81FF | — |
| comment.git-status.header.remote | #F92672 | — |
| comment.git-status.header.local | #66D9EF | — |
| comment.other.git-status.head | #FDFFF1 | — |
| string.quoted.docstring, string.quoted.docstring punctuation.definition | #6E7066 | — |
| constant | #AE81FF | — |
| constant.other | #FDFFF1 | — |
| constant.other.caps | #AE81FF | — |
| constant.other.placeholder.c | #FD971F | — |
| constant.other.property | #AE81FF | — |
| constant.other.citation.latex | #AE81FF | — |
| constant.other.color | #AE81FF | — |
| constant.other.character-class.escape | #AE81FF | — |
| constant.other.key | #AE81FF | — |
| constant.other.symbol | #FD971F | — |
| constant.other.elm | #66D9EF | — |
| constant.numeric | #AE81FF | — |
| constant.language | #AE81FF | — |
| constant.character.escape | #AE81FF | — |
| constant.numeric.line-number.find-in-files | #57584F | — |
| constant.numeric.line-number.match.find-in-files | #E6DB74 | — |
| entity.name.section | #E6DB74 | — |
| entity.name.function, entity.name.function.templated, entity.name.function.member.static | #A6E22E | — |
| entity.name.type.class.templated, entity.name.type.class.generic, entity.name.type.namespace | #66D9EF | — |
| entity.name.label | #AE81FF | — |
| entity.name.function.preprocessor | #66D9EF | — |
| entity.name | #A6E22E | — |
| entity.name.class | #66D9EF | — |
| entity.name.constant | #AE81FF | — |
| entity.name.namespace | #FDFFF1 | — |
| entity.other.inherited-class | #66D9EF | italic |
| entity.name.function | #A6E22E | — |
| entity.name.tag, entity.name.tag.js.jsx support.class.component.js.jsx, entity.name.tag support.class.component, source.vue support.class.component | #F92672 | — |
| entity.name.function.operator | #F92672 | — |
| meta.brackets entity.name.function.operator, punctuation.separator entity.name.function.operator | #919288 | — |
| entity.name.type, entity.name.type.class.reference, entity.name.type.class.value | #66D9EF | — |
| entity.other.attribute-name | #66D9EF | italic |
| 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 | #A6E22E | — |
| entity.other.attribute-name.id.css | #FD971F | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.pseudo-class.css, entity.other.pseudo-element.css | #66D9EF | italic |
| entity.name.function, support.function | #A6E22E | — |
| entity.other.git-status.hex | #AE81FF | — |
| entity.other.jinja2.delimiter | #919288 | — |
| entity.name.operator.custom-literal | #FDFFF1 | — |
| entity.name.operator.custom-literal.string | #E6DB74 | — |
| entity.name.operator.custom-literal.number | #AE81FF | — |
| entity.name.type.rust | #66D9EF | — |
| entity.name.lifetime.rust | #F92672 | — |
| invalid | #F92672 | italic underline |
| invalid.deprecated | #FD971F | italic underline |
| keyword | #F92672 | — |
| keyword.control | #F92672 | — |
| keyword.control.directive | #F92672 | — |
| keyword.operator, keyword.operator.member, keyword.operator.new | #F92672 | — |
| keyword.other.substitution | #919288 | — |
| keyword.other.template.begin, keyword.other.template.end | #F92672 | — |
| keyword.operator.heading.restructuredtext, keyword.operator.table.row.restructuredtext keyword.operator.table.data.restructuredtext | #919288 | — |
| keyword.other.parenthesis.elm | #919288 | — |
| keyword.other.fn.rust, keyword.other.rust, keyword.other.unsafe.rust, keyword.other.where.rust | #66D9EF | — |
| keyword.control.rust, keyword.operator.misc.rust | #F92672 | — |
| keyword.declaration.class.ruby, keyword.declaration.function.ruby, keyword.declaration.namespace.ruby | #F92672 | — |
| markup.italic | — | italic |
| markup.bold | — | bold |
| markup.heading | #E6DB74 | — |
| markup.raw | #FD971F | — |
| markup.underline | — | underline |
| markup.underline.link | #A6E22E | — |
| markup.inserted, markup.inserted punctuation.definition.inserted | #A6E22E | — |
| markup.deleted, markup.deleted punctuation.definition.deleted | #F92672 | — |
| markup.changed, markup.changed punctuation.definition.changed | #E6DB74 | — |
| markup.ignored, markup.ignored punctuation.definition.ignored | #919288 | — |
| markup.untracked | #919288 | — |
| 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 | #919288 | — |
| meta.function-call.generic.python, support.function.builtin.python | #A6E22E | — |
| meta.function-call.python meta.function-call.arguments.python | #FDFFF1 | — |
| meta.instance.constructor | #A6E22E | — |
| meta.attribute-with-value.class string, meta.attribute.class.html string | #A6E22E | — |
| meta.attribute-with-value.id string, meta.attribute.id.html string | #FD971F | — |
| source.json meta.mapping.key string | #FDFFF1 | — |
| source.yaml meta.mapping.key string | #F92672 | — |
| meta.object.member | #FDFFF1 | — |
| meta.property-list.css variable.other | #FD971F | — |
| entity.name.constant.preprocessor, meta.preprocessor | #AE81FF | — |
| meta.diff.git-diff.header | #E6DB74 | — |
| meta.type_params.rust | #FDFFF1 | — |
| meta.attribute.rust, meta.annotation.rust, variable.language.rust, variable.annotation.rust, meta.annotation.rust string, meta.annotation.rust keyword, meta.annotation.rust keyword.operator, meta.attribute.rust string | #C0C1B5 | — |
| punctuation | #919288 | — |
| 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 | #919288 | — |
| punctuation.definition.group | #FDFFF1 | — |
| punctuation.definition.comment | #6E7066 | — |
| punctuation.definition.variable, punctuation.definition.keyword.scss, punctuation.definition.entity.css | #C0C1B5 | — |
| punctuation.section.embedded, punctuation.section.embedded entity.name.tag, punctuation.section.embedded constant.other, punctuation.section.embedded source, punctuation.section.embedded.begin | #FD971F | — |
| 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 | #F92672 | — |
| meta.paragraph.markdown meta.dummy.line-break, meta.paragraph.markdown meta.hard-line-break.markdown | — | — |
| markup.underline.link punctuation | #A6E22E | — |
| region.redish | #F92672 | — |
| region.orangish | #FD971F | — |
| region.yellowish | #E6DB74 | — |
| region.greenish | #A6E22E | — |
| region.bluish | #66D9EF | — |
| region.purplish | #AE81FF | — |
| region.pinkish | #F92672 | — |
| region.whitish | #FFFFFF | — |
| source | #FDFFF1 | — |
| source.scss, source.sass | #919288 | — |
| 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 | #FD971F | italic |
| source.git-show.commit.sha | #AE81FF | — |
| 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 | #919288 | — |
| source.git-show meta.diff.git-diff.header.extended.index.from-sha, source.git-show meta.diff.git-diff.header.extended.index.to-sha | #AE81FF | — |
| source.git-show meta.diff.range.unified | #FD971F | — |
| source.git-show meta.diff.header.from-file, source.git-show meta.diff.header.to-file | #919288 | — |
| storage | #F92672 | — |
| storage.type | #66D9EF | italic |
| storage.type.extends | #F92672 | — |
| storage.type.function.arrow | #F92672 | — |
| storage.modifier, storage.type.modifier | #F92672 | italic |
| storage.class.restructuredtext.ref | #AE81FF | — |
| storage.modifier.visibility.rust, storage.modifier.lifetime.rust | #F92672 | — |
| storage.modifier.const.rust, storage.modifier.dyn.rust, storage.modifier.mut.rust, storage.modifier.static.rust, storage.type.rust, storage.type.core.rust, storage.class.std.rust | #66D9EF | — |
| storage.type.rust, storage.modifier.const.rust, storage.modifier.dyn.rust, storage.modifier.mut.rust, storage.modifier.static.rust, keyword.other.rust, keyword.other.where.rust | #F92672 | — |
| string | #E6DB74 | — |
| string.unquoted.label | #FDFFF1 | — |
| string source | #FDFFF1 | — |
| string source punctuation.section.embedded, string punctuation.definition.string source | #919288 | — |
| string.other.link.title, string.other.link.description | #F92672 | — |
| string.other.link.description.title | #66D9EF | — |
| string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end | #F92672 | — |
| string.other.ref, string.other.restructuredtext.ref | #A6E22E | — |
| string.other.git-status.help.key | #C0C1B5 | — |
| string.other.git-status.remote | #F92672 | — |
| support.constant | #66D9EF | — |
| support.constant.handlebars | #919288 | — |
| support.type.vendor-prefix.css | #C0C1B5 | — |
| support.function | #A6E22E | — |
| support.function.delimiter.elm | #919288 | — |
| support.type, entity.name.type.object.console | #66D9EF | italic |
| support.variable | #66D9EF | — |
| support.type.property-name | #FDFFF1 | — |
| support.class | #66D9EF | — |
| support.constant.core.rust | #AE81FF | — |
| text | #FDFFF1 | — |
| text.find-in-files | #FDFFF1 | — |
| variable, variable.other | #FDFFF1 | — |
| variable.parameter, parameters variable.function | #FD971F | italic |
| variable.language, variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #C0C1B5 | italic |
| variable.language.arguments | #AE81FF | — |
| variable.other.class | #66D9EF | — |
| variable.other.constant | #AE81FF | — |
| variable.other.readwrite | #FDFFF1 | — |
| variable.other.member | #FDFFF1 | — |
| variable.other.enummember | #AE81FF | — |
| variable.other.property, variable.other.property.static, variable.other.event | #FDFFF1 | — |
| variable.function | #A6E22E | — |
| variable.other.substitution | #FD971F | — |
| source.ruby variable.other.readwrite.instance.ruby, source.ruby variable.other.readwrite.class.ruby | #AE81FF | — |
| source.jinja2 variable.other.jinja2.block | #A6E22E | — |
| source.jinja2 variable.other.jinja2 | #FD971F | — |
| 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}!`;
}