Crema
Publisher: Le-BlitzZzThemes in package: 2
☕ Theme for daily code brew
☕ Theme for daily code brew
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 |
|---|---|---|
| constant.other.pragma | #4EC9B0 | — |
| keyword.operator.logic, keyword.operator.python | #79BBD4 | — |
| storage.type.contract, storage.modifier.is, storage.type.modifier.access, storage.type.constructor, storage.type.function, storage.type.modifier.extendedscope, variable.language.super, support.type.primitive, keyword.other.definition.ini | #C586C0 | — |
| comment | #8B8B8B | — |
| punctuation.definition.comment, punctuation.definition.block.tag.jsdoc, punctuation.accessor.cs | #8B8B8B | — |
| string.quoted, string.template, string.unquoted, string.quoted.double.go, string.other, markup.inline.raw.string.markdown, markup.raw.block.markdown, constant.other.character-class.regexp, constant.other.character-class.range.regexp, constant.character.escape.python, string.interpolated.makefile | #CE9178 | — |
| constant.numeric, keyword.other.unit.hexadecimal | #E3ADAC | — |
| source, text, keyword.control.anchor.regexp, keyword.other.js, keyword.other.ts, meta.embedded, keyword.control.flow.block-scalar.folded.yaml, keyword.control.flow.block-scalar.literal.yaml, variable.other.anchor.yaml, variable.other.alias.yaml, variable.other.makefile, variable.other.normal.shell, constant.other.option, string.unquoted.argument.shell, punctuation.definition.string.heredoc.delimiter.shell, string.quoted.double.dockerfile, string.regexp, variable.parameter.positional.shell | #CCCCCC | |
| keyword.control, keyword.preprocessor, keyword.other, constant.language.json, punctuation.definition.keyword, storage.type.function.shell, constant.language.boolean.toml | #C586C0 | — |
| punctuation.eq.toml, punctuation.definition.keyword.css | #79BBD4 | — |
| constant.other.time.datetime.offset.toml | #E2C08D | — |
| punctuation.definition.table.inline.toml | #E04C60 | — |
| entity.name.tag | #569CD6 | — |
| entity.name.tag.js | #CCCCCC | — |
| punctuation.definition.tag.begin.js, punctuation.definition.tag.end.js, punctuation.definition.tag.begin.ts, punctuation.definition.tag.end.ts | #79BBD4 | — |
| keyword.other.unit.octal, keyword.other.unit.exponent.decimal, keyword.other.unit.exponent.hexadecimal, keyword.operator.plus.exponent.decimal, keyword.operator.minus.exponent.decimal, keyword.operator.plus.exponent.hexadecimal, keyword.operator.minus.exponent.hexadecimal, punctuation.separator.constant.numeric, constant.numeric.hexadecimal, keyword.other.unit.imaginary | #E3ADAC | — |
| constant.language.python, storage.type.type.python, storage.type.function.python, storage.modifier.declaration.python, storage.type.class.python, storage.type.function.async.python, storage.type.function.lambda.python, keyword.operator.logical.python | #C586C0 | — |
| keyword.operator.expression.import.ts, storage.type.ts, storage.type.interface.ts, storage.type.class.ts, storage.type.enum.ts, storage.type.type.ts, storage.type.var.ts, storage.type.let.ts, storage.type.const.ts, storage.type.namespace.ts, storage.type.function.ts, storage.modifier.ts, keyword.other.debugger.ts, keyword.operator.new.ts, variable.language.super.ts, variable.language.this.ts, storage.modifier.async.ts, support.type.builtin.ts, constant.language.null.ts, constant.language.boolean.true.ts, constant.language.boolean.false.ts, keyword.operator.expression.keyof.ts, keyword.operator.type.asserts.ts, keyword.operator.expression.is.ts, keyword.operator.expression.typeof.ts, keyword.operator.expression.delete.ts, keyword.operator.expression.void.ts, keyword.operator.expression.instanceof.ts, keyword.operator.expression.in.ts, keyword.operator.expression.of.ts, keyword.operator.expression.infer.ts, storage.type.property.ts | #C586C0 | — |
| constant.language.undefined.js, storage.modifier.js, keyword.operator.expression.import.js, storage.type.js, storage.type.type.js, storage.type.class.js, storage.type.var.js, storage.type.let.js, storage.type.const.js, storage.type.function.js, keyword.other.debugger.js, keyword.operator.new.js, variable.language.super.js, variable.language.this.js, storage.modifier.async.js, support.type.builtin.js, constant.language.null.js, constant.language.boolean.true.js, constant.language.boolean.false.js, keyword.operator.expression.keyof.js, keyword.operator.type.asserjs.js, keyword.operator.expression.is.js, keyword.operator.expression.typeof.js, keyword.operator.expression.delete.js, keyword.operator.expression.void.js, keyword.operator.expression.instanceof.js, keyword.operator.expression.in.js, keyword.operator.expression.of.js, keyword.operator.expression.infer.js, storage.type.property.js | #C586C0 | — |
| support.type.property-name.json, punctuation.support.type.property-name | #CCCCCC | — |
| string, variable.parameter.url.css | #CE9178 | — |
| keyword.other.unit.percentage.css, keyword.other.unit.deg.css, keyword.other.unit.px.css, entity.other.attribute-name.class.css, constant.character.entity.numeric.hexadecimal.html, constant.character.entity.named.Alpha.html, constant.character.entity.named.nbsp.html, punctuation.definition.entity.html, constant.character.entity.xml, punctuation.definition.constant.xml | #E3ADAC | — |
| entity.other.attribute-name.id.css punctuation, entity.other.attribute-name.id.css | #AD82E4 | — |
| constant.other.unicode-range.css, punctuation.definition.constant.css, constant.other.color.rgb-value.hex.css, punctuation.separator.dash.unicode-range.css | #E2C08D | — |
| storage.modifier.sql, support.function.aggregate.sql | #C586C0 | — |
| constant.language.boolean.yaml | #C586C0 | — |
| keyword.control.@.makefile | #CCCCCC | — |
| markup.bold | #E04C60 | bold |
| markup.italic | #E04C60 | italic |
| markup.strikethrough | #A0A0A0 | strikethrough |
| punctuation.definition.list.begin.markdown, meta.separator.markdown, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html | #79BBD4 | — |
| markup.underline.link | #D95D8A | — |
| string.other.link.title.markdown, string.other.link.description.markdown, constant.other.reference.link.markdown | #E3ADAC | — |
| storage.modifier.java, storage.modifier.extends.java, constant.language.java, storage.type.primitive.java | #C586C0 | — |
| storage.modifier.groovy, storage.type.def.groovy, storage.modifier.static.groovy, keyword.operator.in.groovy, storage.modifier.other.groovy, meta.tag.metadata.doctype entity.name.tag | #C586C0 | — |
| storage.type.class.cpp, storage.modifier.specifier.static.cpp, storage.type.built-in.primitive.cpp, storage.type.modifier.access.control.public.cpp, storage.modifier.virtual.cpp, storage.type.modifier.final.cpp, storage.type.modifier.access.public.cpp, storage.modifier.specifier.functional.pre-parameters.explicit.cpp, keyword.operator.noexcept.cpp, storage.modifier.specifier.functional.post-parameters.override.cpp, storage.type.modifier.access.control.private.cpp, storage.modifier.specifier.functional.pre-parameters.mutable.cpp, entity.name.operator.cpp, storage.modifier.specifier.functional.post-parameters.noexcept.cpp, storage.type.enum.cpp, storage.type.struct.cpp, storage.modifier.inline.cpp, storage.modifier.specifier.thread_local.cpp, storage.type.enum.enum-key.class.cpp, support.type.built-in.posix-reserved.cpp, storage.modifier.specifier.volatile.cpp, storage.modifier.specifier.register.cpp, storage.modifier.constexpr.cpp, keyword.operator.cast.static_cast.cpp, keyword.operator.cast.reinterpret_cast.cpp, keyword.operator.cast.const_cast.cpp, keyword.operator.cast.dynamic_cast.cpp, constant.language.nullptr.cpp, keyword.operator.alignas.cpp, keyword.operator.alignof.cpp, storage.modifier.specifier.const.cpp, constant.language.false.cpp, constant.language.true.cpp, keyword.operator.and.cpp, keyword.operator.not.cpp, keyword.operator.or.cpp, keyword.operator.and_eq.cpp, keyword.operator.or_eq.cpp, keyword.operator.xor.cpp, keyword.operator.xor_eq.cpp, keyword.operator.not_eq.cpp, keyword.operator.sizeof.cpp, storage.type.extern.cpp, punctuation.definition.directive.cpp, source.cpp storage.modifier | #C586C0 | — |
| storage.modifier.c, storage.type.built-in.primitive.c, source.c storage.type, keyword.operator.sizeof.c, punctuation.definition.directive.c | #C586C0 | — |
| storage.type.namespace.cs, source.cs storage.type, storage.modifier.static.cs, keyword.operator.expression.new.cs, source.cs storage.modifier, keyword.operator.expression.await.cs, constant.language.boolean.true.cs, constant.language.boolean.false.cs, keyword.operator.expression.nameof.cs, constant.language.null.cs, variable.language.base.cs, keyword.operator.expression.sizeof.cs, keyword.operator.expression.typeof.cs, keyword.operator.expression.stackalloc.cs, keyword.operator.expression.pattern.is.cs, keyword.operator.expression.as.cs | #C586C0 | — |
| storage.modifier.other.kotlin, variable.language.this.kotlin, constant.language.null.kotlin | #C586C0 | — |
| storage.modifier.other.kotlin, variable.language.this.kotlin, constant.language.null.kotlin | #C586C0 | — |
| source.ini string.quoted, source.ini punctuation.definition.string | #CCCCCC | — |
| entity.name.section.group-title.ini | #AD82E4 | — |
| constant.language.lua, keyword.operator.lua | #C586C0 | — |
| source.swift storage.modifier, source.swift storage.type, variable.language.swift, constant.language.nil.swift, source.swift constant.language.boolean | #C586C0 | — |
| punctuation.definition.directive.objc, storage.type.objc, punctuation.definition.storage.type.objc, storage.type.built-in.primitive.objc, storage.modifier.objc, constant.language.objc, variable.language.objc | #C586C0 | — |
| constant.language.r | #C586C0 | — |
| constant.language.boolean.ruby | #C586C0 | — |
| source.php storage, source.php support.function.construct, source.php support.function.basic_functions, constant.language.php | #C586C0 | — |
| string.unquoted.heredoc.php punctuation.definition.string, string.unquoted, variable.other.php, source.php string.interpolated.php, string.interpolated.php punctuation.definition.string , punctuation.definition.string.begin.php string.interpolated.php | #CCCCCC | — |
| storage.type.rust, source.rust storage.modifier | #C586C0 | — |
| keyword.operator, punctuation.accessor.optional, keyword.operator.unpacking, keyword.operator.star, keyword.operator.redirect, keyword.operator.heredoc, keyword.operator.optional, keyword.operator.assignment, keyword.operator.ellipsis, keyword.operator.arithmetic, keyword.operator.comparison, keyword.operator.bitwise, keyword.operator.address, keyword.operator.increment, keyword.operator.decrement, keyword.operator.relational, keyword.operator.logical, keyword.operator.quantifier, keyword.operator.pattern, keyword.operator.increment-decrement, keyword.operator.c, keyword.operator.ternary, keyword.operator.type, storage.type.function.arrow.ts, storage.type.function.arrow.js, constant.other.ellipsis.python, punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml, entity.other.document.begin.yaml, keyword.control.flow.block-scalar.literal.yaml, storage.modifier.chomping-indicator.yaml, keyword.control.flow.block-scalar.folded.yaml, keyword.operator.channel.go | #79BBD4 | — |
| punctuation.other.period, punctuation.other.comma, punctuation.definition.begin.bracket, punctuation.definition.end.bracket, punctuation.separator, punctuation.section, punctuation.accessor.ts, punctuation.accessor.js, keyword.operator.type.annotation.ts, keyword.operator.type.annotation.js, punctuation.terminator.statement, punctuation.definition.template-expression, punctuation.definition.parameters, punctuation.terminator, punctuation.other.colon | #8B8B8B | — |
| source.python punctuation.definition, constant.character.escape, constant.character.escape.python, storage.type.format.python, constant.other.placeholder.go | #CE9178 | — |
| string.quoted.rune.go | #E3ADAC | — |
| source.go entity.name.function, source.go entity.name.function.support | #CCCCCC | — |
| source.cpp entity.name.function, source.c entity.name.function | #569CD6 | — |
| variable.other.property.go | #CCCCCC | — |
| variable.other.object.property.cs | #E08D8D | — |
| punctuation.separator.hash.cs, storage.modifier.export.shell | #C586C0 | — |
| source.python meta.function-call.generic | #CCCCCC | — |
| meta.function-call.generic | #569CD6 | — |
| variable.parameter.function-call.python | #CCCCCC | — |
| support.function.builtin.python | #CCCCCC | — |
| entity.name.function.python | #CCCCCC | — |
| support.type.primitive.ts, support.type.primitive.js | #C586C0 | — |
| support.function.magic.python | #CCCCCC | — |
| constant.language.go.mod, constant.language.go.sum | #4EC9B0 | — |
| entity.name.type.class.python, entity.name.function.decorator, meta.function.decorator.python | #CCCCCC | — |
| string.unquoted, string.unquoted.argument.shell, string.quoted.double.dockerfile | #CE9178 | — |
| entity.name.function.shell | #569CD6 | — |
| entity.name.command.shell, support.function.builtin.shell | #4EC9B0 | — |
| storage.type.sql, keyword.control.anchor.regexp, storage.type.interface.js, storage.type.enum.js, storage.type.namespace.js | #C586C0 | — |
| storage.type.class.jsdoc, punctuation.definition.block.tag.jsdoc, keyword.other.documentation.javadoc.java, go.mod | #E04C60 | — |
| source.css meta.property-list variable, constant.other.character-class.regexp | #569CD6 | — |
| support.type.property-name.css | #E08D8D | — |
| entity.other.attribute-name.pseudo-class.css, support.function.misc.css, support.function.url.css | #4EC9B0 | — |
| source.css meta.property-value variable | #AFBF7E | — |
| entity.other.attribute-name.class.css, entity.other.attribute-name.css, entity.other.attribute-name.pseudo-element.css, support.type.property-name.media.css | #AD82E4 | — |
| entity.name.tag.yaml | #569CD6 | — |
| variable.other.anchor.yaml, variable.other.alias.yaml, entity.name.type.anchor.yaml | #4EC9B0 | — |
| support.function.target.PHONY.makefile | #E3ADAC | — |
| entity.name.function.target.makefile | #569CD6 | — |
| entity.name.type.instance.jsdoc, variable.other.jsdoc, constant.other.character-class.range.regexp | #CCCCCC | — |
| string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end, keyword.other.ts, keyword.other.js | #E89A6D | — |
| entity.name.function.ts, entity.name.function.js | #CCCCCC | — |
| punctuation.decorator.ts, punctuation.decorator.js | #79BBD4 | — |
| constant.character.entity.numeric.hexadecimal.html, constant.character.entity.named.Alpha.html, punctuation.definition.entity.html, constant.character.entity.named.nbsp.html, punctuation.definition.constant.xml, punctuation.definition.entity.xml, constant.character.entity.xml | #AFBF7E | — |
| punctuation.definition.tag.xml, meta.tag.xml, meta.tag.preprocessor.xml, punctuation.definition.block.sequence.item.yaml, punctuation.separator.statement.and.shell, keyword.operator.pipe.shell, keyword.operator.herestring.shell, punctuation.separator.regex.alternation.shell, punctuation.separator.statement.background.shell, keyword.operator.glob.shell, punctuation.definition.subshell.single.shell, operator.go.mod, punctuation.separator.key-value.makefile, punctuation.definition.variable.makefile, keyword.control.@.makefile, punctuation.definition.decorator | #79BBD4 | — |
| keyword.operator.logical.shell | #CE9178 | — |
| source.yaml string.unquoted | #CE9178 | — |
| punctuation.definition.annotation.java | #79BBD4 | — |
| entity.name.function.cs, source.makefile support.function | #569CD6 | — |
| variable.language.special.self.python | #CCCCCC | — |
| variable.other.assignment.shell, variable.other.normal.shell, variable.parameter.positional.shell | #AFBF7E | — |
| variable.other.object.cs, meta.interpolation.cs | #CCCCCC | — |
| source.go keyword, source.cs keyword, source.python keyword, source.js keyword, source.ts keyword, keyword.go.mod | #C586C0 | — |
| punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.raw.markdown, markup.quote.markdown | #CE9178 | — |
| punctuation.definition.bold.markdown, punctuation.definition.italic.markdown, punctuation.definition.strikethrough.markdown, punctuation.definition.link.title.begin.markdown, punctuation.definition.link.title.end.markdown, punctuation.definition.metadata.markdown, punctuation.definition.link.description.begin.markdown, punctuation.definition.link.description.end.markdown, punctuation.definition.link.markdown, punctuation.definition.markdown, punctuation.definition.table.markdown, punctuation.definition.constant.begin.markdown, punctuation.definition.constant.end.markdown | #8B8B8B | — |
| markup.heading.setext.1.markdown, heading.1.markdown | #E04C60 | — |
| markup.heading.setext.2.markdown, heading.2.markdown | #4EC9B0 | — |
| markup.heading.setext.3.markdown, heading.3.markdown | #AD82E4 | — |
| markup.heading.setext.4.markdown, heading.4.markdown | #E89A6D | — |
| markup.heading.setext.5.markdown, heading.5.markdown | #7A6CF0 | — |
| markup.heading.setext.6.markdown, heading.6.markdown | #E683A9 | — |
| entity.other.attribute-name | #AD82E4 | — |
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}!`;
}