DarkMatter Pro
Publisher: Rafael-AvalosThemes in package: 1
Tema oscuro premium para VS Code con workbench moderno y sintaxis inspirada en Monokai.
Tema oscuro premium para VS Code con workbench moderno y sintaxis inspirada en Monokai.
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 |
|---|---|---|
| keyword, keyword.control, storage.type, storage.modifier | #F23678 | — |
| keyword.control.import, keyword.control.export, keyword.control.from | #F23678 | — |
| keyword.control.conditional, keyword.control.repeat, keyword.control.switch, keyword.control.trycatch | #F23678 | — |
| keyword.operator, keyword.operator.expression, keyword.operator.assignment, keyword.operator.comparison, keyword.operator.arithmetic | #F23678 | — |
| punctuation.accessor, punctuation.definition.type, keyword.operator.type | #F23678 | — |
| keyword.control.as, keyword.control.default, keyword.control.from | #F23678 | — |
| constant, constant.language, constant.character.escape | #AE81FF | — |
| constant.numeric, constant.numeric.integer, constant.numeric.float | #AE81FF | — |
| variable.language, variable.language.special, support.type.builtin | #66D9EF | — |
| variable, variable.other, variable.other.object | #F8F8F2 | — |
| variable.parameter, variable.parameter.function | #FF9D1F | — |
| variable.other.property, variable.other.object.property | #66D9EF | — |
| variable.other.constant, variable.other.enummember | #AE81FF | — |
| support.variable, support.variable.dom | #66D9EF | — |
| string, string.quoted, string.quoted.single, string.quoted.double, string.quoted.triple | #A6E22E | — |
| string.template, string.template.literal | #A6E22E | — |
| string.regexp, string.regexp.character-class | #A6E22E | — |
| string.quoted.docstring, string.quoted.other.multiline | #A6E22E | italic |
| string.unquoted, string.unquoted.plain | #A6E22E | — |
| string.key, string.key.json, support.type.property-name | #A6E22E | — |
| string.interpolation, string.interpolated | #F23678 | — |
| constant.character.escape | #FF9D1F | — |
| entity.name.function, entity.name.function.constructor, meta.function-call, support.function | #A6E22E | — |
| entity.name.method, entity.name.function.method | #A6E22E | — |
| entity.name.type, entity.name.class, entity.name.struct, entity.name.interface, entity.name.enum, support.class, support.type | #66D9EF | — |
| entity.name.namespace, entity.name.module, entity.name.section | #66D9EF | — |
| entity.name.tag, entity.name.tag.documentation | #F23678 | — |
| entity.other.attribute-name, entity.other.attribute-name.html | #FF9D1F | — |
| entity.other.inherited-class | #66D9EF | italic |
| support.constant, support.constant.math | #AE81FF | — |
| support.type.property-value, support.constant.property-value | #A6E22E | — |
| support.variable.property, support.variable.object.property | #66D9EF | — |
| punctuation.separator, punctuation.terminator | #8B8E7A | — |
| punctuation.section, punctuation.definition.block, punctuation.definition.binding | #8B8E7A | — |
| meta.brace, meta.block, punctuation.definition.bracket | #8B8E7A | — |
| punctuation.definition.parameters, punctuation.definition.arguments | #8B8E7A | — |
| punctuation.definition.string | #A6E22E | — |
| meta.brace.round, meta.brace.square, meta.brace.curly | #8B8E7A | — |
| comment, comment.line, comment.block, comment.block.documentation | #9AA0A6 | italic |
| comment.line.double-slash, comment.line.double-dash | #9AA0A6 | italic |
| comment.block.documentation, comment.block.documentation variable, comment.block.documentation entity | #9AA0A6 | italic |
| meta.documentation, meta.documentation.annotation | #6E7681 | — |
| comment.documentation.keyword | #9AA0A6 | italic |
| storage.modifier.documentation | #F23678 | italic |
| markup.heading, markup.heading.setext, entity.name.section | #F23678 | bold |
| markup.heading mark | #F23678 | bold |
| markup.italic | — | italic |
| markup.bold | — | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.list, markup.list.numbered, markup.list.unordered | #66D9EF | — |
| markup.list punctuation | #66D9EF | — |
| markup.quote, markup.blockquote | #9AA0A6 | italic |
| markup.code, markup.inline.raw, markup.fenced_code | #A6E22E | — |
| markup.horizontalRule | #6E7681 | — |
| markup.inserted, markup.inserted.diff | #A6E22E | — |
| markup.deleted, markup.deleted.diff | #F23678 | — |
| markup.changed, markup.changed.diff | #FF9D1F | — |
| invalid, invalid.illegal | #F23678 | underline wavy |
| invalid.deprecated | #FF9D1F | underline wavy |
| source.json meta.structure.dictionary.key | #66D9EF | — |
| source.json support.type.property-name | #66D9EF | — |
| source.json string.quoted.double | #A6E22E | — |
| source.json meta.structure.dictionary.value string.quoted.double | #A6E22E | — |
| source.json punctuation.separator | #8B8E7A | — |
| markup.raw, markup.inline.raw.string | #A6E22E | — |
| meta.type.annotation, meta.type.declaration | #66D9EF | — |
| meta.object-literal.key | #66D9EF | — |
| meta.parameter, variable.parameter | #A6E22E | — |
| meta.property-list entity.name.tag | #F23678 | — |
| meta.selector, meta.selector entity.other.attribute-name | #F23678 | — |
| meta.preprocessor, meta.directive | #F23678 | — |
| meta.directive.variable | #F23678 | — |
| constant.language.null, constant.language.undefined, constant.language.boolean | #AE81FF | — |
| constant.language.true, constant.language.false | #AE81FF | — |
| constant.language.this, constant.language.self, variable.language.this | #AE81FF | — |
| support.variable.this | #66D9EF | — |
| entity.other.attribute-name.class | #41A8FF | — |
| entity.other.attribute-name.id | #F23678 | — |
| entity.other.attribute-name.pseudo-class, entity.other.attribute-name.pseudo-element | #41A8FF | — |
| source.css propertyName, source.css meta.property-name | #66D9EF | — |
| source.css propertyValue, source.css meta.property-value | #A6E22E | — |
| source.css support.type.property-name | #66D9EF | — |
| source.css support.constant | #AE81FF | — |
| source.css entity.name.tag | #F23678 | — |
| source.css keyword.control.at-rule | #F23678 | — |
| source.css constant.numeric | #AE81FF | — |
| source.css string.quoted | #A6E22E | — |
| source.scss keyword.control.at-rule | #F23678 | — |
| source.less keyword.control.at-rule | #F23678 | — |
| punctuation.definition.interpolation | #F23678 | — |
| meta.embedded.block, meta.embedded.line | #E6EDF3 | — |
| meta.function-call variable.parameter | #A6E22E | — |
| variable.other.readwrite | #F8F8F2 | — |
| variable.other.readwrite.js | #F8F8F2 | — |
| variable.other.object.js | #F8F8F2 | — |
| support.type.object.module | #66D9EF | — |
| entity.name.type.module | #66D9EF | — |
| keyword.control.module | #F23678 | — |
| keyword.control.package | #F23678 | — |
| keyword.control.using | #F23678 | — |
| storage.modifier, storage.type.primitive | #66D9EF | — |
| storage.modifier.access, storage.modifier.access.private, storage.modifier.access.protected, storage.modifier.access.public | #F23678 | — |
| storage.type.namespace | #66D9EF | — |
| storage.type.parameter | #FF9D1F | — |
| storage.type.generic | #66D9EF | — |
| meta.import variable, meta.import variable.other.readwrite, meta.import variable.other.constant, meta.import variable.other.object, meta.import support.variable, meta.import support.class, meta.import entity.name, meta.import entity.name.type, meta.import entity.name.function, meta.export variable, meta.export variable.other.readwrite | #AE81FF | — |
| variable.other.constant.js, variable.other.constant.ts, variable.other.constant.tsx, variable.other.constant.jsx | #FF9D1F | — |
| meta.object.member variable.other.property, meta.property.object, variable.other.property.js, variable.other.property.ts, variable.other.property.jsx, variable.other.property.tsx | #66D9EF | — |
| meta.decorator, meta.decorator entity.name.function, entity.name.function.decorator, punctuation.definition.decorator | #FF9D1F | — |
| support.class.component.vue, entity.name.tag.component.vue, support.class.component.jsx, support.class.component.tsx | #A6E22E | bold |
| entity.other.attribute-name.directive.vue, entity.other.attribute-name.event.vue, entity.other.attribute-name.bind.vue, entity.other.attribute-name.shorthand.vue, source.vue entity.other.attribute-name.directive, text.html.vue entity.other.attribute-name.directive | #AE81FF | — |
| entity.other.attribute-name.vue, text.html.vue entity.other.attribute-name, entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #FF9D1F | — |
| entity.name.type.alias.ts, entity.name.type.interface.ts, entity.name.type.enum.ts, support.type.primitive.ts, support.type.primitive.tsx, meta.type.parameters entity.name.type | #66D9EF | — |
| source.css entity.other.attribute-name.class, source.scss entity.other.attribute-name.class, source.less entity.other.attribute-name.class | #41A8FF | — |
| source.css entity.other.attribute-name.id, source.scss entity.other.attribute-name.id, source.less entity.other.attribute-name.id | #41A8FF | — |
| source.css support.constant.color, source.scss support.constant.color, source.less support.constant.color, constant.other.color, constant.other.color.rgb-value | #AE81FF | — |
| source.css support.type.custom-property.name, source.scss variable, source.less variable | #FF9D1F | — |
| source.yaml entity.name.tag, source.yaml support.type.property-name, source.toml support.type.property-name, source.env variable.other | #F23678 | — |
| string.regexp constant.character.escape, string.regexp keyword.operator, constant.other.character-class.regexp, keyword.operator.quantifier.regexp | #FF9D1F | — |
| markup.underline.link, string.other.link, meta.link.inline, meta.link.reference | #A6E22E | — |
| punctuation.definition.tag, punctuation.definition.tag.begin, punctuation.definition.tag.end, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.definition.tag.begin.vue, punctuation.definition.tag.end.vue, punctuation.definition.tag.begin.xml, punctuation.definition.tag.end.xml | #C0C7CC | — |
| meta.tag string.quoted, meta.tag string.quoted.double, meta.tag string.quoted.single, meta.tag.attributes string.quoted, meta.tag.attributes string.quoted.double, meta.tag.attributes string.quoted.single, text.html string.quoted, text.html.basic string.quoted, text.html.vue string.quoted, source.vue text.html string.quoted, source.vue string.quoted, string.quoted.double.html, string.quoted.single.html, string.quoted.double.vue, string.quoted.single.vue | #FFF06D | — |
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}!`;
}