Monochrome Dew
Publisher: odradekkThemes in package: 1
Monochrome Dark with restrained blue and pink-gray accents — like morning dew on gray stone. Refined syntax highlighting for C#, C++, Rust, Python, Markdown, JSON/TOML/YAML, HTML/CSS.
Monochrome Dark with restrained blue and pink-gray accents — like morning dew on gray stone. Refined syntax highlighting for C#, C++, Rust, Python, Markdown, JSON/TOML/YAML, HTML/CSS.
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 |
|---|---|---|
| variable.parameter.function | #aaaaaa | — |
| comment, punctuation.definition.comment | #4a5568 | — |
| punctuation.definition.string, punctuation.definition.variable, punctuation.definition.parameters, punctuation.definition.array | #aaaaaa | — |
| keyword.operator | #aaaaaa | — |
| keyword | #7b8fad | — |
| variable | #707070 | — |
| entity.name.function, meta.require, support.function.any-method | #728aaa | — |
| support.class, entity.name.class, entity.name.type.class | #9ab0cc | — |
| meta.class | #e2e2e2 | — |
| keyword.other.special-method | #728aaa | — |
| storage | #7b8fad | — |
| support.function | #8a9dbc | — |
| string, constant.other.symbol, entity.other.inherited-class | #b0969c | — |
| constant.numeric | #b89aa2 | — |
| constant | #b89aa2 | — |
| entity.name.tag | #907a82 | — |
| entity.other.attribute-name | #9a848c | — |
| entity.other.attribute-name.id, punctuation.definition.entity | #728aaa | — |
| meta.selector | #7b8fad | — |
| keyword.other.unit | #b89aa2 | — |
| heading.1.markdown entity.name.section.markdown | #c8cdd6 | bold |
| heading.2.markdown entity.name.section.markdown | #9ab0cc | bold |
| heading.3.markdown entity.name.section.markdown | #8a9dbc | — |
| heading.4.markdown entity.name.section.markdown | #7b8fad | — |
| heading.5.markdown entity.name.section.markdown, heading.6.markdown entity.name.section.markdown | #6a7d99 | — |
| punctuation.definition.heading.markdown | #555555 | — |
| entity.name.section | #9ab0cc | — |
| markup.bold.markdown | #c8c8c8 | bold |
| punctuation.definition.bold.markdown | #555555 | bold |
| markup.italic.markdown | #b0969c | italic |
| punctuation.definition.italic.markdown | #555555 | italic |
| markup.strikethrough.markdown | #606060 | — |
| markup.bold, punctuation.definition.bold | #c8c8c8 | bold |
| markup.italic, punctuation.definition.italic | #b0969c | italic |
| markup.raw.inline.markdown | #b0969c | — |
| punctuation.definition.raw.markdown | #555555 | — |
| markup.fenced_code.block.markdown | #aaaaaa | — |
| fenced_code.block.language.markdown | #6a7d99 | — |
| markup.raw.inline | #b0969c | — |
| string.other.link.title.markdown | #8a9dbc | — |
| markup.underline.link.markdown | #6a7d99 | — |
| punctuation.definition.link.markdown, punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.metadata.markdown | #555555 | — |
| punctuation.definition.link.description.begin.markdown | #b89aa2 | — |
| string.other.link.description.markdown | #b0969c | — |
| string.other.link, meta.link | #8a9dbc | — |
| markup.quote.markdown | #707070 | — |
| punctuation.definition.quote.begin.markdown | #444444 | — |
| punctuation.definition.list.begin.markdown | #8a9dbc | — |
| markup.list.numbered.markdown | #aaaaaa | — |
| markup.list | #aaaaaa | — |
| meta.separator.markdown | #444444 | — |
| meta.separator | #555555 | — |
| markup.inserted | #8a9dbc | — |
| markup.deleted | #907a82 | — |
| markup.changed | #7b8fad | — |
| constant.other.color | #b89aa2 | — |
| string.regexp | #8a9dbc | — |
| constant.character.escape | #8a9dbc | — |
| punctuation.section.embedded, variable.interpolation | #7b8fad | — |
| invalid.illegal | #e2e2e2 | — |
| invalid.broken | #18181c | — |
| invalid.deprecated | #e2e2e2 | — |
| invalid.unimplemented | #e2e2e2 | — |
| punctuation.parenthesis | #858585 | — |
| punctuation.squarebracket | #787878 | — |
| punctuation.curlybrace | #686868 | — |
| punctuation.definition.typeparameters | #6a7d99 | — |
| entity.name.type | #bec5d0 | — |
| storage.type, entity.name.type.type-parameter | #9ab0cc | — |
| keyword.type | #8299b3 | — |
| storage.modifier | #6a7d99 | — |
| keyword.control, keyword.operator.conditional | #7b8fad | — |
| keyword.query | #8a9dbc | — |
| keyword.other | #6a7d99 | — |
| keyword.other.this, keyword.other.base | #808080 | italic |
| entity.name.function, entity.name.method | #728aaa | — |
| keyword.other.get, keyword.other.set, keyword.other.add, keyword.other.remove | #728aaa | — |
| variable.other.readwrite, variable.other.object, variable.other.alias, entity.name.variable | #8d8d8d | — |
| variable.other.object.property, entity.name.variable.local | #787878 | — |
| constant.language.null | #7a6a70 | — |
| string.quoted.single, string.quoted.single punctuation | #baa0a6 | — |
| constant.character.escape | #6a5a60 | — |
| meta.preprocessor, meta.preprocessor punctuation, meta.preprocessor keyword | #5e7088 | — |
| meta.preprocessor entity, meta.preprocessor variable, meta.preprocessor string | #6a7d99 | — |
| comment.block.documentation | #5a6a7a | — |
| comment.block.documentation punctuation, comment.block.documentation punctuation.definition.comment, comment.block.documentation meta.tag punctuation, comment.block.documentation meta.tag entity | #4a5568 | — |
| comment.block.documentation meta.tag string, comment.block.documentation meta.tag string.quoted.double | #786068 | — |
| storage.type.primitive.cpp, storage.type.built-in.primitive.cpp | #8299b3 | — |
| storage.type.cpp | #7b8fad | — |
| storage.type.template.cpp | #6a7d99 | — |
| entity.name.type.class.cpp, entity.name.type.struct.cpp | #bec5d0 | — |
| entity.name.type.enum.cpp | #9ab0cc | — |
| entity.name.type.namespace.cpp, entity.name.namespace.cpp | #6a7d99 | — |
| entity.name.type.template.cpp | #8299b3 | — |
| entity.name.type.alias.cpp | #9ab0cc | — |
| storage.modifier.specifier.const.cpp, storage.modifier.specifier.volatile.cpp, storage.modifier.specifier.mutable.cpp | #6a7d99 | — |
| storage.modifier.cpp | #6a7d99 | — |
| storage.modifier.specifier.constexpr.cpp, storage.modifier.specifier.consteval.cpp, storage.modifier.specifier.constinit.cpp | #728aaa | — |
| storage.type.modifier.access.cpp | #5e7088 | — |
| keyword.control.cpp | #7b8fad | — |
| keyword.operator.new.cpp, keyword.operator.delete.cpp | #8a9dbc | — |
| keyword.operator.cast.cpp, keyword.operator.expression.static_cast.cpp, keyword.operator.expression.dynamic_cast.cpp, keyword.operator.expression.reinterpret_cast.cpp, keyword.operator.expression.const_cast.cpp | #8a9dbc | — |
| keyword.operator.sizeof.cpp, keyword.operator.alignof.cpp, keyword.operator.expression.decltype.cpp, keyword.operator.expression.typeid.cpp, keyword.operator.noexcept.cpp | #728aaa | — |
| keyword.other.using.directive.cpp, keyword.other.namespace.definition.cpp | #6a7d99 | — |
| entity.name.function.cpp | #728aaa | — |
| entity.name.function.operator.cpp, entity.name.function.operator.member.cpp | #8a9dbc | — |
| entity.name.function.destructor.cpp | #728aaa | — |
| keyword.control.directive.include.cpp, keyword.control.directive.define.cpp, keyword.control.directive.conditional.cpp, keyword.control.directive.undef.cpp, keyword.control.directive.pragma.cpp, keyword.control.directive.line.cpp | #5e7088 | — |
| string.quoted.other.lt-gt.include.cpp | #907a82 | — |
| entity.name.function.preprocessor.cpp | #6a7d99 | — |
| variable.language.this.cpp | #9a848c | — |
| variable.other.member.cpp | #858585 | — |
| variable.other.cpp | #8d8d8d | — |
| constant.language.cpp | #9a848c | — |
| constant.numeric.cpp | #b89aa2 | — |
| string.quoted.double.cpp, string.quoted.double.cpp punctuation.definition.string | #b0969c | — |
| string.quoted.single.cpp, string.quoted.single.cpp punctuation.definition.string | #baa0a6 | — |
| string.quoted.double.raw.cpp | #b0969c | — |
| punctuation.separator.scope-resolution.cpp | #555555 | — |
| punctuation.section.angle-bracket.begin.template.cpp, punctuation.section.angle-bracket.end.template.cpp | #6a7d99 | — |
| storage.modifier.pointer.cpp, storage.modifier.reference.cpp | #707070 | — |
| punctuation.definition.capture.return-type.cpp | #7b8fad | — |
| keyword.control.rust | #7b8fad | — |
| keyword.other.fn.rust | #728aaa | — |
| keyword.other.unsafe.rust | #8a9dbc | bold |
| keyword.other.crate.rust, keyword.other.rust | #6a7d99 | — |
| storage.type.rust, storage.modifier.rust | #7b8fad | — |
| entity.name.type.rust | #9ab0cc | — |
| entity.name.type.trait.rust | #8aa0bf | — |
| entity.name.type.module.rust | #6a7d99 | — |
| entity.name.function.rust | #728aaa | — |
| entity.name.function.macro.rust | #6a7d99 | bold |
| variable.language.self.rust | #9a848c | — |
| variable.language.super.rust | #9a848c | — |
| entity.name.lifetime.rust | #907a82 | — |
| punctuation.definition.lifetime.rust | #907a82 | — |
| keyword.operator.arrow.fat.rust | #7b8fad | — |
| keyword.operator.arrow.skinny.rust | #7b8fad | — |
| keyword.operator.namespace.rust | #555555 | — |
| keyword.operator.question.rust | #8a9dbc | — |
| constant.language.bool.rust | #9a848c | — |
| string.quoted.double.rust | #b0969c | — |
| string.quoted.double.raw.rust, string.quoted.byte.raw.rust | #b0969c | — |
| string.quoted.single.char.rust | #baa0a6 | — |
| meta.attribute.rust, meta.attribute.rust punctuation | #5e7088 | — |
| keyword.control.flow.python | #7b8fad | — |
| keyword.control.import.python, keyword.control.import.from.python | #6a7d99 | — |
| storage.type.function.python, storage.type.class.python | #7b8fad | — |
| storage.type.function.async.python, keyword.control.flow.await.python | #8a9dbc | — |
| keyword.operator.logical.python | #7b8fad | — |
| keyword.other.python | #6a7d99 | — |
| entity.name.function.python | #728aaa | — |
| entity.name.type.class.python | #9ab0cc | — |
| entity.other.inherited-class.python | #8aa0bf | — |
| support.function.magic.python | #6a7d99 | — |
| support.function.builtin.python | #8a9dbc | — |
| entity.name.function.decorator.python | #5e7088 | — |
| punctuation.definition.decorator.python | #5e7088 | — |
| variable.parameter.function.language.python, variable.language.special.self.python, variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #9a848c | — |
| variable.parameter.function.python | #8d8d8d | — |
| string.quoted.single.python, string.quoted.double.python | #b0969c | — |
| string.quoted.docstring.multi.python, string.quoted.multi.python | #907a82 | — |
| punctuation.definition.template-expression.begin.python, punctuation.definition.template-expression.end.python | #7b8fad | — |
| meta.fstring.python | #aaaaaa | — |
| string.quoted.raw.single.python, string.quoted.raw.double.python, string.quoted.raw.multi.python | #b0969c | — |
| string.quoted.byte.single.python, string.quoted.byte.double.python | #9a848c | — |
| storage.type.string.python | #6a7d99 | — |
| constant.language.python | #9a848c | — |
| constant.numeric.python | #b89aa2 | — |
| constant.character.escape.python | #6a5a60 | — |
| support.type.python, meta.function.parameters.python support.type.python | #8299b3 | — |
| support.type.python | #8299b3 | — |
| support.type.exception.python | #9ab0cc | — |
| support.type.exception.python | #9ab0cc | — |
| punctuation.separator.annotation.result.python | #7b8fad | — |
| punctuation.separator.annotation.python | #707070 | — |
| keyword.operator.assignment.walrus.python | #8a9dbc | — |
| keyword.operator.unpacking.python | #7b8fad | — |
| support.type.property-name.json | #8a9dbc | — |
| string.quoted.double.json | #b0969c | — |
| punctuation.separator.dictionary.key-value.json, punctuation.separator.array.json, punctuation.definition.dictionary.begin.json, punctuation.definition.dictionary.end.json, punctuation.definition.array.begin.json, punctuation.definition.array.end.json | #555555 | — |
| constant.language.json | #9a848c | — |
| constant.numeric.json | #b89aa2 | — |
| entity.other.attribute-name.table.toml, support.type.property-name.table.toml | #9ab0cc | — |
| entity.other.attribute-name.table.array.toml, support.type.property-name.array.toml | #8a9dbc | — |
| keyword.key.toml, support.type.property-name.toml | #8a9dbc | — |
| string.quoted.single.basic.line.toml, string.quoted.double.basic.line.toml, string.quoted.single.literal.line.toml | #b0969c | — |
| constant.language.boolean.toml, constant.other.datetime.toml | #9a848c | — |
| constant.numeric.toml | #b89aa2 | — |
| entity.name.tag.yaml | #8a9dbc | — |
| string.unquoted.plain.out.yaml, string.quoted.single.yaml, string.quoted.double.yaml | #b0969c | — |
| entity.name.type.anchor.yaml, variable.other.alias.yaml | #6a7d99 | — |
| constant.language.boolean.yaml | #9a848c | — |
| constant.numeric.yaml | #b89aa2 | — |
| storage.type.tag-handle.yaml, punctuation.definition.tag.yaml | #5e7088 | — |
| punctuation.definition.block.sequence.item.yaml, entity.other.document.begin.yaml, entity.other.document.end.yaml | #555555 | — |
| entity.name.tag.html | #7b8fad | — |
| entity.other.attribute-name.html | #8a9dbc | — |
| string.quoted.double.html, string.quoted.single.html | #b0969c | — |
| punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html | #555555 | — |
| entity.other.attribute-name.html.doctype | #5e7088 | — |
| constant.character.entity.html, punctuation.definition.entity.html | #9a848c | — |
| comment.block.html | #4a5568 | — |
| entity.name.tag.css, entity.other.attribute-name.class.css, entity.other.attribute-name.id.css | #8a9dbc | — |
| entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css | #7b8fad | — |
| support.type.property-name.css, meta.property-name.css | #939393 | — |
| support.constant.property-value.css, meta.property-value.css | #b0969c | — |
| constant.numeric.css, keyword.other.unit.css | #b89aa2 | — |
| constant.other.color.rgb-value.css, punctuation.definition.constant.css | #b89aa2 | — |
| string.quoted.double.css, string.quoted.single.css | #b0969c | — |
| support.function.css | #728aaa | — |
| variable.css | #8d8d8d | — |
| keyword.other.important.css | #c08a90 | — |
| keyword.control.at-rule.css | #6a7d99 | — |
| punctuation.section.property-list.begin.bracket.curly.css, punctuation.section.property-list.end.bracket.curly.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css | #555555 | — |
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}!`;
}