Karvulas Crimson Dark
Publisher: KarvulasThemes in package: 1
A near-black VS Code theme with deep crimson surfaces and restrained wine-red accents.
A near-black VS Code theme with deep crimson surfaces and restrained wine-red accents.
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.axaml | #E1D2D2 | — |
| source.axaml comment.block.xml, source.axaml punctuation.definition.comment.xml | #92747C | — |
| source.axaml punctuation.definition.tag.xml, source.axaml punctuation.section.embedded.begin.xml, source.axaml punctuation.section.embedded.end.xml | #C85C72 | — |
| source.axaml entity.name.tag.xml, source.axaml entity.name.tag.localname.xml | #D44040 | — |
| source.axaml entity.name.tag.namespace.xml | #9B6BC7 | — |
| source.axaml entity.other.attribute-name.xml, source.axaml entity.other.attribute-name.localname.xml | #C49E40 | — |
| source.axaml entity.other.attribute-name.namespace.xml | #8D5FB8 | — |
| source.axaml punctuation.separator.namespace.xml | #68457E | — |
| source.axaml string.quoted.double.xml, source.axaml string.quoted.single.xml | #C5BBA8 | — |
| source.axaml punctuation.definition.string.begin.xml, source.axaml punctuation.definition.string.end.xml | #857B6C | — |
| source.axaml constant.character.entity.xml, source.axaml constant.character.parameter-entity.xml, source.axaml punctuation.definition.constant.xml, source.axaml punctuation.definition.entity.xml, source.axaml variable.language.entity.xml | #3F6FC1 | — |
| source.axaml keyword.other.doctype.xml, source.axaml keyword.other.entity.xml, source.axaml keyword.other.entitytype.xml, source.axaml keyword.other.page-props.xml, source.axaml variable.language.documentroot.xml | #E6B873 | — |
| source.axaml string.unquoted.cdata.xml | #B5D0CA | — |
| source.axaml invalid.illegal.bad-ampersand.xml, source.axaml invalid.illegal.bad-comments-or-CDATA.xml | #FF5968 | underline |
| text.xml | #E1D2D2 | — |
| text.xml comment.block.xml, text.xml punctuation.definition.comment.xml | #92747C | — |
| text.xml punctuation.definition.tag.xml | #C85C72 | — |
| text.xml entity.name.tag.xml, text.xml entity.name.tag.localname.xml | #D44040 | — |
| text.xml entity.name.tag.namespace.xml | #9B6BC7 | — |
| text.xml entity.other.attribute-name.xml, text.xml entity.other.attribute-name.localname.xml | #C49E40 | — |
| text.xml entity.other.attribute-name.namespace.xml | #8D5FB8 | — |
| text.xml punctuation.separator.namespace.xml | #68457E | — |
| text.xml string.quoted.double.xml, text.xml string.quoted.single.xml | #C5BBA8 | — |
| text.xml punctuation.definition.string.begin.xml, text.xml punctuation.definition.string.end.xml | #857B6C | — |
| text.xml constant.character.entity.xml, text.xml constant.character.parameter-entity.xml, text.xml constant.character.entity.xml punctuation.definition.constant.xml, text.xml constant.character.parameter-entity.xml punctuation.definition.constant.xml, text.xml punctuation.definition.entity.xml, text.xml variable.language.entity.xml | #3F6FC1 | — |
| text.xml keyword.other.doctype.xml, text.xml keyword.other.entity.xml, text.xml keyword.other.entitytype.xml, text.xml variable.language.documentroot.xml | #E6B873 | — |
| text.xml meta.internalsubset.xml punctuation.definition.constant.xml | #C85C72 | — |
| text.xml string.unquoted.cdata.xml | #B5D0CA | — |
| text.xml string.unquoted.cdata.xml punctuation.definition.string.begin.xml, text.xml string.unquoted.cdata.xml punctuation.definition.string.end.xml | #C85C72 | — |
| text.xml invalid.illegal.bad-ampersand.xml, text.xml invalid.illegal.bad-comments-or-CDATA.xml | #FF5968 | underline |
| source.cs | #E1D2D2 | — |
| source.cs comment.line.double-slash.cs, source.cs comment.block.cs, source.cs punctuation.definition.comment.cs | #92747C | — |
| source.cs keyword.cs, source.cs keyword.type, source.cs storage.modifier | #D44040 | — |
| source.cs keyword.control | #D44040 | — |
| source.cs storage.type.class.cs, source.cs storage.type.interface.cs, source.cs storage.type.struct.cs, source.cs storage.type.enum.cs, source.cs storage.type.delegate.cs, source.cs storage.type.record.cs, source.cs storage.type.namespace.cs | #D44040 | — |
| source.cs entity.name.type.namespace.cs | #76509A | — |
| source.cs entity.name.type.class.cs | #C49E40 | — |
| source.cs entity.name.type.interface.cs | #C49E40 | — |
| source.cs entity.name.type.struct.cs | #C49E40 | — |
| source.cs entity.name.type.enum.cs | #C49E40 | — |
| source.cs entity.name.type.delegate.cs | #4F6FBA | — |
| source.cs entity.name.type.type-parameter.cs | #C49E40 | — |
| source.cs entity.name.function.cs, source.cs entity.name.function.member.overload.cs, source.cs entity.name.function.extension.cs | #9758DE | — |
| source.cs entity.name.variable.property.cs, source.cs variable.other.object.property.cs | #C0C0C0 | — |
| source.cs entity.name.variable.field.cs | #C0C0C0 | — |
| source.cs entity.name.variable.event.cs | #E87524 | — |
| source.cs entity.name.variable.parameter.cs | #6F83B7 | — |
| source.cs entity.name.variable.local.cs, source.cs entity.name.variable.range-variable.cs, source.cs entity.name.variable.tuple-element.cs, source.cs variable.other.readwrite.cs | #C0C0C0 | — |
| source.cs variable.other.constant.cs | #C0C0C0 | — |
| source.cs entity.name.variable.enum-member.cs | #4FAE78 | — |
| source.cs string.quoted.double.cs, source.cs string.quoted.single.cs, source.cs string.verbatim.cs | #C5BBA8 | — |
| source.cs constant.character.escape.cs | #3F6FC1 | — |
| source.cs constant.numeric | #D9822B | — |
| source.cs constant.language.boolean.true.cs, source.cs constant.language.boolean.false.cs, source.cs constant.language.null.cs | #C0C0C0 | — |
| source.cs keyword.operator | #C0C0C0 | — |
| source.cs punctuation | #C0C0C0 | — |
| source.cs keyword.preprocessor, source.cs entity.name.variable.preprocessor.symbol.cs, source.cs meta.preprocessor.string.cs | #D44040 | — |
| source.cs entity.name.tag.cs, source.cs entity.other.attribute-name.cs | #C49E40 | — |
| source.cs comment.block.documentation.cs, source.cs comment.documentation.cs | #92747C | — |
| source.cs comment.documentation.name.cs, source.cs comment.documentation.attribute.name.cs, source.cs comment.documentation.delimiter.cs, source.cs comment.documentation.entityReference.cs | #92747C | — |
| source.cs invalid.illegal | #FF5968 | underline |
| source.json, source.json.comments | #E1D2D2 | — |
| source.json support.type.property-name.json, source.json punctuation.support.type.property-name.begin.json, source.json punctuation.support.type.property-name.end.json, source.json.comments support.type.property-name.json.comments, source.json.comments punctuation.support.type.property-name.begin.json.comments, source.json.comments punctuation.support.type.property-name.end.json.comments | #C49E40 | — |
| source.json string.quoted.double.json, source.json.comments string.quoted.double.json.comments | #C5BBA8 | — |
| source.json punctuation.definition.string.begin.json, source.json punctuation.definition.string.end.json, source.json.comments punctuation.definition.string.begin.json.comments, source.json.comments punctuation.definition.string.end.json.comments | #857B6C | — |
| source.json constant.numeric.json, source.json.comments constant.numeric.json.comments | #D9822B | — |
| source.json constant.language.json, source.json.comments constant.language.json.comments | #D44040 | — |
| source.json constant.character.escape.json, source.json.comments constant.character.escape.json.comments | #3F6FC1 | — |
| source.json.comments comment.line.double-slash.js, source.json.comments comment.block.json.comments, source.json.comments comment.block.documentation.json.comments, source.json.comments punctuation.definition.comment.json.comments | #92747C | — |
| source.json punctuation.separator.array.json, source.json punctuation.separator.dictionary.key-value.json, source.json punctuation.separator.dictionary.pair.json, source.json.comments punctuation.separator.array.json.comments, source.json.comments punctuation.separator.dictionary.key-value.json.comments, source.json.comments punctuation.separator.dictionary.pair.json.comments | #C0C0C0 | — |
| source.json invalid.illegal, source.json.comments invalid.illegal | #FF5968 | underline |
| text.html.markdown | #C0C0C0 | — |
| text.html.markdown heading.1.markdown, text.html.markdown markup.heading.setext.1.markdown | #E35A5A | bold |
| text.html.markdown heading.2.markdown, text.html.markdown markup.heading.setext.2.markdown | #D94D4D | bold |
| text.html.markdown heading.3.markdown | #D44040 | bold |
| text.html.markdown heading.4.markdown | #BC4146 | bold |
| text.html.markdown heading.5.markdown | #A83D45 | bold |
| text.html.markdown heading.6.markdown | #944049 | bold |
| text.html.markdown markup.bold.markdown | #C49E40 | bold |
| text.html.markdown markup.italic.markdown | #9B6BC7 | italic |
| text.html.markdown markup.bold.markdown markup.italic.markdown, text.html.markdown markup.italic.markdown markup.bold.markdown | #D0A95A | bold italic |
| text.html.markdown markup.strikethrough.markdown | #77686C | strikethrough |
| text.html.markdown markup.inline.raw.string.markdown | #C5BBA8 | — |
| text.html.markdown markup.inline.raw.string.markdown punctuation.definition.raw.markdown | #857B6C | — |
| text.html.markdown markup.fenced_code.block.markdown punctuation.definition.markdown | #D44040 | — |
| text.html.markdown fenced_code.block.language, text.html.markdown fenced_code.block.language.markdown, text.html.markdown fenced_code.block.language.attributes.markdown | #C49E40 | — |
| text.html.markdown markup.fenced_code.block.markdown, text.html.markdown markup.raw.block.markdown | #C5BBA8 | — |
| text.html.markdown string.other.link.title.markdown, text.html.markdown string.other.link.description.markdown, text.html.markdown string.other.link.description.title.markdown | #C49E40 | — |
| text.html.markdown markup.underline.link.markdown, text.html.markdown markup.underline.link.image.markdown | #6F83B7 | underline |
| text.html.markdown constant.other.reference.link.markdown | #9858DC | — |
| text.html.markdown punctuation.definition.link.markdown, text.html.markdown punctuation.definition.link.title.begin.markdown, text.html.markdown punctuation.definition.link.title.end.markdown, text.html.markdown punctuation.definition.link.description.begin.markdown, text.html.markdown punctuation.definition.link.description.end.markdown, text.html.markdown punctuation.definition.metadata.markdown | #76509A | — |
| text.html.markdown punctuation.definition.list.begin.markdown | #C49E40 | — |
| text.html.markdown markup.quote.markdown | #A9969B | italic |
| text.html.markdown punctuation.definition.quote.begin.markdown | #D44040 | |
| text.html.markdown punctuation.definition.table.markdown, text.html.markdown punctuation.separator.table.markdown | #A98545 | — |
| text.html.markdown constant.character.escape.markdown | #3F6FC1 | — |
| text.html.markdown meta.separator.markdown | #873030 | — |
| text.html.markdown comment.block.html, text.html.markdown punctuation.definition.comment.html | #92747C | — |
| text.html.markdown punctuation.definition.begin.frontmatter, text.html.markdown punctuation.definition.end.frontmatter | #D44040 | — |
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}!`;
}