Modified Darcula
Publisher: FalconKeeperThemes in package: 1
A slightly modified Darcula theme
A slightly modified Darcula theme
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 |
|---|---|---|
| support.other.attribute, punctuation.section.attribute.begin, punctuation.section.attribute.end | #368a8a | — |
| punctuation.section.block.begin.bracket.curly, punctuation.section.block.end.bracket.curly, punctuation.terminator.statement, punctuation.section.parens.begin.bracket.round, punctuation.section.parens.end.bracket.round, punctuation.section.parameters.begin.bracket.round, punctuation.section.parameters.end.bracket.round | #a9b7c6 | — |
| keyword.operator.cast | #629755 | italic |
| entity.name.type.class | #a9b7c6 | — |
| comment | #808080 | italic |
| comment.documentation, comment.block.documentation, comment.line.double-slash.documentation, punctuation.definition.comment.begin.documentation, punctuation.definition.comment.end.documentation | #629755 | italic |
| constant, variable.other.constant | #9876aa | — |
| keyword.control.directive, keyword.preprocessor, entity.name.function.decorator, entity.name.function.preprocessor, meta.preprocessor, meta.preprocessor.cs | #bbb529 | — |
| comment.documentation.name | #cc7832 | italic |
| entity.name | #a9b7c6 | — |
| constant.character.escape | #cc7832 | — |
| variable.other.event, support.class.event, support.class.builtin.event | #ffc66d | italic |
| entity.name.variable.field | #9876aa | italic |
| entity.name.command, entity.name.function, meta.function-call, meta.require, support.function, variable.function | #ffc66d | — |
| meta.function | #a9b7c6 | — |
| meta.function-call.arguments, variable.parameter.function | #a9b7c6 | — |
| support.function.builtin | #8888c6 | — |
| constant.numeric | #6897bb | — |
| constant.language, constant.numeric.other.preffix, constant.numeric.other.suffix, entity.name.label, keyword, keyword.operator.sizeof, keyword.operator.wordlike, keyword.operator.new, punctuation.definition.interpolation, storage.modifier | #cc7832 | — |
| punctuation.terminator.statement | #cc7832 | — |
| punctuation.separator.scope-resolution, entity.name.scope-resolution | #a9b7c677 | italic |
| keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.bitwise, keyword.operator.comparison | #a9b7c6 | — |
| punctuation.separator | #cc7832 | — |
| meta.shebang | #6a8759 | — |
| string | #6a8759 | — |
| punctuation.definition.template-expression, punctuation.section.embedded, variable.interpolation | #cc7832 | — |
| support.type | #8888c6 | — |
| entity.name.type.template, entity.name.type.parameter | #9876aa | — |
| variable.language.this, variable.parameter.function.language.special.self, variable.language.special.self | #cc7832 | — |
| storage.type | #cc7832 | — |
| variable | #a9b7c6 | — |
| variable.parameter.function-call | #aa4926 | — |
| keyword.other.static_assert | #629755 | italic |
| comment.documentation.attribute.name.cs | #bababa | italic |
| entity.name.tag.localname.cs, punctuation.definition.tag.cs | #cc7832 | italic |
| meta.preprocessor.cs, punctuation.separator.hash.cs | #bbb529 | — |
| entity | #cc7832 | — |
| keyword.cmake | #ffc66d | — |
| keyword.file.content.ignore | #6a8759 | — |
| invalid.illegal.line-too-long | #f44747 | — |
| invalid.deprecated.line-too-long.git-commit | #a9b7c6 | |
| entity.other.attribute-name, punctuation.separator.namespace.html | #bababa | — |
| string.unquoted.cdata.html | #a9b7c6 | — |
| constant.character.entity | #6897bb | — |
| text.html | #a9b7c6 | — |
| punctuation.definition.string.begin.html, punctuation.definition.string.end.html, string.quoted.double.html, string.quoted.single.html, string.unquoted.html | #A5C261 | — |
| entity.name.tag.html, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html | #e8bf6a | — |
| invalid.illegal.unrecognized-string-escape.json | #f44747 | underline |
| support.type.property-name.json | #9876aa | — |
| punctuation.separator.dictionary.key-value.json, punctuation.separator.dictionary.pair.json, punctuation.separator.array.json | #cc7832 | — |
| markup.fenced_code.block.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown | #6a8759 | — |
| markup.underline.link.markdown, punctuation.definition.link.markdown, string.other.link.title.markdown, meta.image.inline.markdown, string.other.link.description.markdown, meta.link.inline.markdown, meta.link.reference.markdown | #287bde | — |
| constant.other.reference.link.markdown, punctuation.definition.constant.begin.markdown, punctuation.definition.constant.end.markdown, punctuation.definition.constant.markdown | #cc7832 | — |
| entity.name.section.markdown, punctuation.definition.heading.markdown, markup.heading.setext.1.markdown, markup.heading.setext.2.markdown, markup.heading.setext.3.markdown, markup.heading.setext.4.markdown, markup.heading.setext.5.markdown, markup.heading.setext.6.markdown | #9876aa | italic |
| markup.bold.markdown | — | bold |
| punctuation.definition.bold.markdown, punctuation.definition.italic.markdown, punctuation.definition.strikethrough.markdown, punctuation.definition.underline.markdown | #cc7832 | — |
| markup.italic.markdown | — | italic |
| meta.separator.markdown | #cc7832 | — |
| markup.strikethrough.italic | — | strikethrough |
| markup.underline.markdown | — | underline |
| markup.quote.markdown | #6a8759 | — |
| string.quoted.binary | #a5c261 | — |
| support.variable.magic, support.function.magic | #b200b2 | — |
| variable.language.special.self.python, variable.parameter.function.language.special.self.python | #94558d | — |
| entity.other.attribute-name, entity.name.tag.xml, punctuation.separator.namespace.xml | #bababa | — |
| string.unquoted.cdata.xml | #a9b7c6 | — |
| constant.character.entity.xml | #6897bb | — |
| text.xml | #a9b7c6 | — |
| entity.name.tag.namespace.xml, entity.other.attribute-name.namespace.xml | #9876aa | — |
| punctuation.definition.string.begin.xml, punctuation.definition.string.end.xml | #6A8759 | — |
| punctuation.definition.tag.xml, keyword.other.doctype.xml | #e8bf6a | — |
| entity.name.tag.localname.xml | #e8bf6a | — |
| meta.selector | #cc7832 | — |
| string.regexp | #a9b7c6 | — |
| punctuation.section.embedded | #cc7832 | — |
| invalid.illegal | #ffffff | — |
| invalid.broken | #ffffff | — |
| invalid.deprecated | — | strikethrough |
| invalid.unimplemented | #ffffff | — |
| token.info-token | #ffc66d | — |
| token.warn-token | #6897bb | — |
| token.error-token | #f44747 | — |
| token.debug-token | #cc7832 | — |
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}!`;
}