Own Dark 001
Publisher: own-themesThemes in package: 1
A calm dark theme with cool blue-grey UI and pastel syntax highlighting, built for daily work.
A calm dark theme with cool blue-grey UI and pastel syntax highlighting, built for daily work.
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.block, comment.line | #7A7E85 | |
| keyword.control.import, keyword.control.export, keyword.control.from, keyword.control.as, keyword.control.default | #9D89B0 | — |
| keyword.control, keyword.other.using, keyword.other.directive.using | #D29FC8 | — |
| keyword.other.operator, keyword.operator.new, keyword.operator.expression, keyword.operator.cast, keyword.operator.sizeof, keyword.operator.alignof, keyword.operator.typeid, keyword.operator.alignas, keyword.operator.instanceof, keyword.operator.logical.python, keyword.operator.wordlike, source.cpp keyword.operator.new, keyword.operator.delete, entity.name.operator | #CF8E6D | — |
| keyword | #8AAAC8 | — |
| keyword.operator | #8A93A1 | — |
| keyword.other.unit | #76B4C7 | — |
| storage, storage.type | #8AAAC8 | — |
| storage.modifier, keyword.operator.noexcept | #8A9BB5 | — |
| storage.modifier.import.java, variable.language.wildcard.java, storage.modifier.package.java, storage.modifier.package, storage.modifier.import, storage.type.java | #CBC9C2 | — |
| constant.language | #81A1C1 | — |
| constant.numeric, constant.numeric.decimal, constant.numeric.integer | #E68C68 | — |
| constant.regexp | #76B4C7 | — |
| constant.character, constant.other.option | #81A1C1 | — |
| constant.character.escape | #76B4C7 | — |
| constant.sha.git-rebase | #B48EAD | — |
| string, meta.embedded.assembly | #67AE94 | — |
| source.regexp, string.regexp | #76B4C7 | — |
| string.regexp.character-class, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #76B4C7 | — |
| string.regexp constant.character.escape | #67AE94 | bold |
| string variable | #81A1C1 | — |
| punctuation.definition.group.regexp, punctuation.definition.group.assertion.regexp, punctuation.definition.character-class.regexp, punctuation.character.set.begin.regexp, punctuation.character.set.end.regexp, keyword.operator.negation.regexp, support.other.parenthesis.regexp | #67AE94 | — |
| constant.character.character-class.regexp, constant.other.character-class.set.regexp, constant.other.character-class.regexp, constant.character.set.regexp | #76B4C7 | — |
| keyword.operator.or.regexp, keyword.control.anchor.regexp | #76B4C7 | — |
| keyword.operator.quantifier.regexp | #76B4C7 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end | #CF8E6D | — |
| meta.template.expression | #CBC9C2 | — |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #CF8E6D | — |
| entity.name.type.class, entity.name.type, entity.name.type.interface, entity.name.type.alias, support.class | #A8A5C4 | — |
| entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal, support.function.git-rebase | #C99B78 | — |
| meta.decorator, meta.decorator punctuation.decorator, meta.decorator entity.name.function, meta.decorator entity.name.type, meta.decorator variable.other.readwrite, entity.name.function.decorator, punctuation.decorator | #9882B0 | |
| variable, meta.definition.variable.name, entity.name.variable, constant.other.placeholder | #D0CEC8 | — |
| variable.other.property, variable.other.object.property, variable.other.member | #9FBDD0 | — |
| variable.language | #81A1C1 | — |
| variable.other.constant, variable.other.enummember | #76B4C7 | — |
| variable.parameter, meta.parameters variable, meta.function.parameters variable | #9AAAB8 | — |
| meta.object-literal.key | #9FBDD0 | — |
| entity.name.tag | #88C0D0 | — |
| entity.name.tag.css, entity.name.tag.less | #88C0D0 | — |
| support.class.component | #A8A5C4 | — |
| punctuation.definition.tag | #6E8099 | — |
| entity.other.attribute-name | #A8C4BE | — |
| entity.other.attribute-name.class.css, source.css entity.other.attribute-name.class, entity.other.attribute-name.id.css, entity.other.attribute-name.parent-selector.css, entity.other.attribute-name.parent.less, source.css entity.other.attribute-name.pseudo-class, entity.other.attribute-name.pseudo-element.css, source.css.less entity.other.attribute-name.id, entity.other.attribute-name.scss | #88C0D0 | — |
| source.css keyword.other.unit | #5AAFC4 | — |
| support.type.vendored.property-name, support.type.property-name, source.css variable, source.coffee.embedded | #B88A9C | — |
| support.constant.property-value, support.constant.font-name, support.constant.media-type, support.constant.media, constant.other.color.rgb-value, constant.other.rgb-value, support.constant.color | #67AE94 | — |
| support.variable, support.constant | #81A1C1 | — |
| support.type.property-name.json | #9FBDD0 | — |
| meta.preprocessor, entity.name.function.preprocessor | #81A1C1 | — |
| meta.preprocessor.string | #67AE94 | — |
| meta.structure.dictionary.key.python | #CBC9C2 | — |
| meta.module-reference | #81A1C1 | — |
| entity.name.label | #CBC9C2 | — |
| entity.name | #CBC9C2 | — |
| invalid | #BF616A | — |
| invalid.broken | #BF616A | italic |
| invalid.deprecated | #BF616A | italic |
| invalid.illegal | #BF616A | italic |
| invalid.unimplemented | #BF616A | italic |
| carriage-return | #F0F6FC | italic underline |
| message.error | #BF616A | — |
| emphasis | — | italic |
| strong | — | bold |
| header | #81A1C1 | — |
| markup.heading, markup.heading entity.name | #81A1C1 | bold |
| markup.heading.3.markdown, markup.heading.3.markdown entity.name | #7EAEC0 | |
| markup.heading.2.markdown, markup.heading.2.markdown entity.name | #8DBCC8 | |
| markup.heading.1.markdown, markup.heading.1.markdown entity.name | #A8C4D4 | bold |
| markup.italic | — | italic |
| markup.bold | — | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #67AE94 | — |
| markup.quote | #67AE94 | — |
| punctuation.definition.quote.begin.markdown | #67AE94 | — |
| punctuation.definition.list.begin.markdown | #D08770 | — |
| markup.inserted | #43a083 | — |
| markup.deleted | #BF616A | — |
| markup.changed | #D08770 | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #BF616A | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #43a083 | — |
| markup.changed, punctuation.definition.changed | #D08770 | — |
| markup.ignored, markup.untracked | #0D1117 | — |
| meta.diff.range | #B48EAD | bold |
| meta.diff.header | #81A1C1 | — |
| meta.separator | #81A1C1 | bold |
| meta.output | #81A1C1 | — |
| constant.other.reference.link, string.other.link | #76B4C7 | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #7A7A8E | — |
| brackethighlighter.unmatched | #BF616A | — |
| token.info-token | #81A1C1 | — |
| token.warn-token | #D08770 | — |
| token.error-token | #BF616A | — |
| token.debug-token | #B48EAD | — |
| entity.name.namespace, entity.name.module | #CBC9C2 | — |
| entity.name.enum, entity.name.type.enum | #76B4C7 | — |
| entity.name.struct, entity.name.union, entity.name.trait, entity.name.impl | #A8A5C4 | — |
| entity.name.function.constructor, entity.name.function.destructor | #C99B78 | — |
| entity.name.function.macro, entity.name.function.macro.rules, support.function.macro, keyword.other.macro.rules | #96B8DB | — |
| punctuation.definition.string.begin, punctuation.definition.string.end | #67AE94 | — |
| punctuation.terminator, punctuation.terminator.statement, punctuation.terminator.rule.css, punctuation.terminator.rule.scss | #8A93A1 | — |
| punctuation.separator, punctuation.separator.comma, punctuation.separator.key-value, punctuation.separator.colon, punctuation.accessor, punctuation.accessor.optional | #8A93A1 | — |
| punctuation.section.block.begin, punctuation.section.block.end, punctuation.definition.block, punctuation.definition.arguments.begin, punctuation.definition.arguments.end, punctuation.definition.parameters.begin, punctuation.definition.parameters.end | #8A93A1 | — |
| punctuation.definition.typeparameters.begin, punctuation.definition.typeparameters.end, punctuation.definition.array.begin, punctuation.definition.array.end | #8A93A1 | — |
| support.type.primitive, support.type.builtin | #A8A5C4 | — |
| markup.fenced_code.block.markdown, markup.raw.block | #67AE94 | — |
| markup.underline.link, meta.link.inline.markdown markup.underline | #76B4C7 | — |
| string.other.link.title.markdown, meta.image.inline.markdown string, meta.link.reference string | #9AAABE | — |
| comment.block.documentation, comment.line.documentation | #989DA6 | |
| storage.type.lifetime, entity.name.lifetime.rust, punctuation.definition.lifetime.rust | #D08770 | — |
| storage.type.function.arrow, storage.type.function.arrow.ts, storage.type.function.arrow.js | #96B8DB | — |
| support.type.property-name.toml, entity.name.tag.toml | #9AAABE | — |
| support.type.property-name.yaml | #9FBDD0 | — |
| string.unquoted.plain.out.yaml, string.unquoted.block.yaml | #C6C4BE | — |
| entity.name.tag.yaml | #76B4C7 | — |
| source.graphql entity.name.type, source.graphql support.type | #76B4C7 | — |
| source.graphql variable.definition, source.graphql variable.argument | #CBC9C2 | — |
| meta.type.annotation | #A8A5C4 | — |
| meta.interpolation, punctuation.definition.interpolation.begin, punctuation.definition.interpolation.end | #CF8E6D | — |
| storage.modifier.async | #8AAAC8 | — |
| entity.name.type.interface | #9296C0 | — |
| entity.name.tag.custom, entity.name.tag.ng, meta.tag.other.unrecognized entity.name.tag | #88C0D0 | — |
| keyword.control.flow.angular, keyword.other.expression.angular, entity.other.attribute-name.template.angular, keyword.control.flow.ng, keyword.other.block.ng | #D29FC8 | — |
| entity.other.attribute-name.event.angular, entity.other.ng-binding-name.event.html | #C99B78 | — |
| entity.other.attribute-name.two-way.angular, entity.other.ng-binding-name.two-way.html | #76B4C7 | — |
| punctuation.definition.interpolation, punctuation.definition.block.ts | #CF8E6D | — |
| entity.other.ng-binding-name.property.html | #9FBDD0 | — |
| meta.expression.ng | #CBC9C2 | — |
| punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx, punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx | #CF8E6D | — |
| keyword.at-rule.css, keyword.at-rule.scss | #D29FC8 | — |
| keyword.other.unit.css, keyword.other.unit.scss | #5AAFC4 | — |
| variable.scss, variable.sass | #9FBDD0 | — |
| variable.css | #9FBDD0 | — |
| support.type.property-name.table, support.type.property-name.array | #88C0D0 | — |
| constant.other.time.toml | #C4A07C | — |
| punctuation.definition.table.toml | #6E8099 | — |
| constant.other.timestamp.yaml | #C4A07C | — |
| punctuation.definition.document.begin.yaml, punctuation.definition.document.end.yaml | #7A8FA0 | — |
| punctuation.definition.anchor.yaml | #76B4C7 | — |
| punctuation.definition.sequence.yaml | #8A93A1 | — |
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}!`;
}