qtz-theme
qtz theme for vscode, enjoy it.
qtz theme for vscode, enjoy it.
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, punctuation.definition.comment, string.comment | #8b949e | — |
| constant.other.placeholder, constant.character | #ff7b72 | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, entity | #79c0ff | — |
| entity.name, meta.export.default, meta.definition.variable | #ffa657 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, entity.name.constant, meta.object.member, meta.embedded.expression | #c9d1d9 | — |
| entity.name.function | #d2a8ff | — |
| entity.name.tag, support.class.component | #7ee787 | — |
| keyword | #ff7b72 | — |
| storage, storage.type | #ff7b72 | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #c9d1d9 | — |
| string, string punctuation.section.embedded source | #a5d6ff | — |
| support | #79c0ff | — |
| meta.property-name | #79c0ff | — |
| variable | #ffa657 | — |
| variable.other | #c9d1d9 | — |
| invalid.broken | #ffa198 | italic |
| invalid.deprecated | #ffa198 | italic |
| invalid.illegal | #ffa198 | italic |
| invalid.unimplemented | #ffa198 | italic |
| carriage-return | #f0f6fc | italic underline |
| message.error | #ffa198 | — |
| string variable | #79c0ff | — |
| source.regexp, string.regexp | #a5d6ff | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #a5d6ff | — |
| string.regexp constant.character.escape | #7ee787 | bold |
| support.constant | #79c0ff | — |
| support.variable | #79c0ff | — |
| support.type.property-name.json | #7ee787 | — |
| meta.module-reference | #79c0ff | — |
| punctuation.definition.list.begin.markdown | #ffa657 | — |
| markup.heading, markup.heading entity.name | #79c0ff | bold |
| markup.quote | #7ee787 | — |
| markup.italic | #c9d1d9 | italic |
| markup.bold | #c9d1d9 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #79c0ff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #ffa198 | — |
| punctuation.section.embedded | #ff7b72 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #7ee787 | — |
| markup.changed, punctuation.definition.changed | #ffa657 | — |
| markup.ignored, markup.untracked | #0d1117 | — |
| meta.diff.range | #d2a8ff | bold |
| meta.diff.header | #79c0ff | — |
| meta.separator | #79c0ff | bold |
| meta.output | #79c0ff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #8b949e | — |
| brackethighlighter.unmatched | #ffa198 | — |
| constant.other.reference.link, string.other.link | #a5d6ff | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
| comment, punctuation.definition.comment, string.comment | #8b949e | — |
| constant.other.placeholder, constant.character | #ff7b72 | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, entity | #79c0ff | — |
| entity.name, meta.export.default, meta.definition.variable | #ffa657 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, entity.name.constant, meta.object.member, meta.embedded.expression | #c9d1d9 | — |
| entity.name.function | #d2a8ff | — |
| entity.name.tag, support.class.component | #7ee787 | — |
| keyword | #ff7b72 | — |
| storage, storage.type | #ff7b72 | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #c9d1d9 | — |
| string, string punctuation.section.embedded source | #a5d6ff | — |
| support | #79c0ff | — |
| meta.property-name | #79c0ff | — |
| variable | #ffa657 | — |
| variable.other | #c9d1d9 | — |
| invalid.broken | #ffa198 | italic |
| invalid.deprecated | #ffa198 | italic |
| invalid.illegal | #ffa198 | italic |
| invalid.unimplemented | #ffa198 | italic |
| carriage-return | #f0f6fc | italic underline |
| message.error | #ffa198 | — |
| string variable | #79c0ff | — |
| source.regexp, string.regexp | #a5d6ff | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #a5d6ff | — |
| string.regexp constant.character.escape | #7ee787 | bold |
| support.constant | #79c0ff | — |
| support.variable | #79c0ff | — |
| support.type.property-name.json | #7ee787 | — |
| meta.module-reference | #79c0ff | — |
| punctuation.definition.list.begin.markdown | #ffa657 | — |
| markup.heading, markup.heading entity.name | #79c0ff | bold |
| markup.quote | #7ee787 | — |
| markup.italic | #c9d1d9 | italic |
| markup.bold | #c9d1d9 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #79c0ff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #ffa198 | — |
| punctuation.section.embedded | #ff7b72 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #7ee787 | — |
| markup.changed, punctuation.definition.changed | #ffa657 | — |
| markup.ignored, markup.untracked | #0d1117 | — |
| meta.diff.range | #d2a8ff | bold |
| meta.diff.header | #79c0ff | — |
| meta.separator | #79c0ff | bold |
| meta.output | #79c0ff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #8b949e | — |
| brackethighlighter.unmatched | #ffa198 | — |
| constant.other.reference.link, string.other.link | #a5d6ff | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
| comment, punctuation.definition.comment, string.comment | #8b949e | — |
| constant.other.placeholder, constant.character | #ff7b72 | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, entity | #79c0ff | — |
| entity.name, meta.export.default, meta.definition.variable | #ffa657 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, entity.name.constant, meta.object.member, meta.embedded.expression | #c9d1d9 | — |
| entity.name.function | #d2a8ff | — |
| entity.name.tag, support.class.component | #7ee787 | — |
| keyword | #ff7b72 | — |
| storage, storage.type | #ff7b72 | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #c9d1d9 | — |
| string, string punctuation.section.embedded source | #a5d6ff | — |
| support | #79c0ff | — |
| meta.property-name | #79c0ff | — |
| variable | #ffa657 | — |
| variable.other | #c9d1d9 | — |
| invalid.broken | #ffa198 | italic |
| invalid.deprecated | #ffa198 | italic |
| invalid.illegal | #ffa198 | italic |
| invalid.unimplemented | #ffa198 | italic |
| carriage-return | #f0f6fc | italic underline |
| message.error | #ffa198 | — |
| string variable | #79c0ff | — |
| source.regexp, string.regexp | #a5d6ff | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #a5d6ff | — |
| string.regexp constant.character.escape | #7ee787 | bold |
| support.constant | #79c0ff | — |
| support.variable | #79c0ff | — |
| support.type.property-name.json | #7ee787 | — |
| meta.module-reference | #79c0ff | — |
| punctuation.definition.list.begin.markdown | #ffa657 | — |
| markup.heading, markup.heading entity.name | #79c0ff | bold |
| markup.quote | #7ee787 | — |
| markup.italic | #c9d1d9 | italic |
| markup.bold | #c9d1d9 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #79c0ff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #ffa198 | — |
| punctuation.section.embedded | #ff7b72 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #7ee787 | — |
| markup.changed, punctuation.definition.changed | #ffa657 | — |
| markup.ignored, markup.untracked | #0d1117 | — |
| meta.diff.range | #d2a8ff | bold |
| meta.diff.header | #79c0ff | — |
| meta.separator | #79c0ff | bold |
| meta.output | #79c0ff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #8b949e | — |
| brackethighlighter.unmatched | #ffa198 | — |
| constant.other.reference.link, string.other.link | #a5d6ff | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
| entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal | #DCDCAA | — |
| support.class, support.type, entity.name.type, entity.name.namespace, entity.other.attribute, entity.name.scope-resolution, entity.name.class, storage.type.numeric.go, storage.type.byte.go, storage.type.boolean.go, storage.type.string.go, storage.type.uintptr.go, storage.type.error.go, storage.type.rune.go, storage.type.cs, storage.type.generic.cs, storage.type.modifier.cs, storage.type.variable.cs, storage.type.annotation.java, storage.type.generic.java, storage.type.java, storage.type.object.array.java, storage.type.primitive.array.java, storage.type.primitive.java, storage.type.token.java, storage.type.groovy, storage.type.annotation.groovy, storage.type.parameters.groovy, storage.type.generic.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.primitive.groovy | #4EC9B0 | — |
| meta.type.cast.expr, meta.type.new.expr, support.constant.math, support.constant.dom, support.constant.json, entity.other.inherited-class, punctuation.separator.namespace.ruby | #4EC9B0 | — |
| keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator | #C586C0 | — |
| variable, meta.definition.variable.name, support.variable, entity.name.variable, constant.other.placeholder | #9CDCFE | — |
| variable.other.constant, variable.other.enummember | #4FC1FF | — |
| meta.object-literal.key | #9CDCFE | — |
| 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 | #CE9178 | — |
| 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 | #CE9178 | — |
| constant.character.character-class.regexp, constant.other.character-class.set.regexp, constant.other.character-class.regexp, constant.character.set.regexp | #d16969 | — |
| keyword.operator.or.regexp, keyword.control.anchor.regexp | #DCDCAA | — |
| keyword.operator.quantifier.regexp | #d7ba7d | — |
| constant.character, constant.other.option | #569cd6 | — |
| constant.character.escape | #d7ba7d | — |
| entity.name.label | #C8C8C8 | — |
| comment, punctuation.definition.comment, string.comment | #8b949e | — |
| constant.other.placeholder, constant.character | #ff7b72 | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, entity | #79c0ff | — |
| entity.name, meta.export.default, meta.definition.variable | #ffa657 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, entity.name.constant, meta.object.member, meta.embedded.expression | #c9d1d9 | — |
| entity.name.function | #d2a8ff | — |
| entity.name.tag, support.class.component | #7ee787 | — |
| keyword | #ff7b72 | — |
| storage, storage.type | #ff7b72 | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #c9d1d9 | — |
| string, string punctuation.section.embedded source | #a5d6ff | — |
| support | #79c0ff | — |
| meta.property-name | #79c0ff | — |
| variable | #ffa657 | — |
| variable.other | #c9d1d9 | — |
| invalid.broken | #ffa198 | italic |
| invalid.deprecated | #ffa198 | italic |
| invalid.illegal | #ffa198 | italic |
| invalid.unimplemented | #ffa198 | italic |
| carriage-return | #f0f6fc | italic underline |
| message.error | #ffa198 | — |
| string variable | #79c0ff | — |
| source.regexp, string.regexp | #a5d6ff | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #a5d6ff | — |
| string.regexp constant.character.escape | #7ee787 | bold |
| support.constant | #79c0ff | — |
| support.variable | #79c0ff | — |
| support.type.property-name.json | #7ee787 | — |
| meta.module-reference | #79c0ff | — |
| punctuation.definition.list.begin.markdown | #ffa657 | — |
| markup.heading, markup.heading entity.name | #79c0ff | bold |
| markup.quote | #7ee787 | — |
| markup.italic | #c9d1d9 | italic |
| markup.bold | #c9d1d9 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #79c0ff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #ffa198 | — |
| punctuation.section.embedded | #ff7b72 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #7ee787 | — |
| markup.changed, punctuation.definition.changed | #ffa657 | — |
| markup.ignored, markup.untracked | #0d1117 | — |
| meta.diff.range | #d2a8ff | bold |
| meta.diff.header | #79c0ff | — |
| meta.separator | #79c0ff | bold |
| meta.output | #79c0ff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #8b949e | — |
| brackethighlighter.unmatched | #ffa198 | — |
| constant.other.reference.link, string.other.link | #a5d6ff | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
| entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal | #DCDCAA | — |
| support.class, support.type, entity.name.type, entity.name.namespace, entity.other.attribute, entity.name.scope-resolution, entity.name.class, storage.type.numeric.go, storage.type.byte.go, storage.type.boolean.go, storage.type.string.go, storage.type.uintptr.go, storage.type.error.go, storage.type.rune.go, storage.type.cs, storage.type.generic.cs, storage.type.modifier.cs, storage.type.variable.cs, storage.type.annotation.java, storage.type.generic.java, storage.type.java, storage.type.object.array.java, storage.type.primitive.array.java, storage.type.primitive.java, storage.type.token.java, storage.type.groovy, storage.type.annotation.groovy, storage.type.parameters.groovy, storage.type.generic.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.primitive.groovy | #4EC9B0 | — |
| meta.type.cast.expr, meta.type.new.expr, support.constant.math, support.constant.dom, support.constant.json, entity.other.inherited-class, punctuation.separator.namespace.ruby | #4EC9B0 | — |
| keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator | #C586C0 | — |
| variable, meta.definition.variable.name, support.variable, entity.name.variable, constant.other.placeholder | #9CDCFE | — |
| variable.other.constant, variable.other.enummember | #4FC1FF | — |
| meta.object-literal.key | #9CDCFE | — |
| 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 | #CE9178 | — |
| 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 | #CE9178 | — |
| constant.character.character-class.regexp, constant.other.character-class.set.regexp, constant.other.character-class.regexp, constant.character.set.regexp | #d16969 | — |
| keyword.operator.or.regexp, keyword.control.anchor.regexp | #DCDCAA | — |
| keyword.operator.quantifier.regexp | #d7ba7d | — |
| constant.character, constant.other.option | #569cd6 | — |
| constant.character.escape | #d7ba7d | — |
| entity.name.label | #C8C8C8 | — |
| meta.embedded, source.groovy.embedded, string meta.image.inline.markdown, variable.legacy.builtin.python | #D4D4D4 | — |
| emphasis | — | italic |
| strong | — | bold |
| header | #000080 | — |
| comment | #6A9955 | — |
| constant.language | #569cd6 | — |
| constant.numeric, variable.other.enummember, keyword.operator.plus.exponent, keyword.operator.minus.exponent | #b5cea8 | — |
| constant.regexp | #646695 | — |
| entity.name.tag | #569cd6 | — |
| entity.name.tag.css, entity.name.tag.less | #d7ba7d | — |
| entity.other.attribute-name | #9cdcfe | — |
| 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 | #d7ba7d | — |
| invalid | #f44747 | — |
| markup.underline | — | underline |
| markup.bold | #569cd6 | bold |
| markup.heading | #569cd6 | bold |
| markup.italic | #C586C0 | italic |
| markup.strikethrough | — | strikethrough |
| markup.inserted | #b5cea8 | — |
| markup.deleted | #ce9178 | — |
| markup.changed | #569cd6 | — |
| punctuation.definition.quote.begin.markdown | #6A9955 | — |
| punctuation.definition.list.begin.markdown | #6796e6 | — |
| markup.inline.raw | #ce9178 | — |
| punctuation.definition.tag | #808080 | — |
| meta.preprocessor, entity.name.function.preprocessor | #569cd6 | — |
| meta.preprocessor.string | #ce9178 | — |
| meta.preprocessor.numeric | #b5cea8 | — |
| meta.structure.dictionary.key.python | #9cdcfe | — |
| meta.diff.header | #569cd6 | — |
| storage | #569cd6 | — |
| storage.type | #569cd6 | — |
| storage.modifier, keyword.operator.noexcept | #569cd6 | — |
| string, meta.embedded.assembly | #ce9178 | — |
| string.tag | #ce9178 | — |
| string.value | #ce9178 | — |
| string.regexp | #d16969 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #569cd6 | — |
| meta.template.expression | #d4d4d4 | — |
| support.type.vendored.property-name, support.type.property-name, source.css variable, source.coffee.embedded | #9cdcfe | — |
| keyword | #569cd6 | — |
| keyword.control | #569cd6 | — |
| keyword.operator | #d4d4d4 | — |
| 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 | #569cd6 | — |
| keyword.other.unit | #b5cea8 | — |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #569cd6 | — |
| support.function.git-rebase | #9cdcfe | — |
| constant.sha.git-rebase | #b5cea8 | — |
| storage.modifier.import.java, variable.language.wildcard.java, storage.modifier.package.java | #d4d4d4 | — |
| variable.language | #569cd6 | — |
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, punctuation.definition.comment, string.comment | #6e7781 | — |
| constant.other.placeholder, constant.character | #cf222e | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, entity | #0550ae | — |
| entity.name, meta.export.default, meta.definition.variable | #953800 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, entity.name.constant, meta.object.member, meta.embedded.expression | #1f2328 | — |
| entity.name.function | #8250df | — |
| entity.name.tag, support.class.component | #116329 | — |
| keyword | #cf222e | — |
| storage, storage.type | #cf222e | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #1f2328 | — |
| string, string punctuation.section.embedded source | #0a3069 | — |
| support | #0550ae | — |
| meta.property-name | #0550ae | — |
| variable | #953800 | — |
| variable.other | #1f2328 | — |
| invalid.broken | #82071e | italic |
| invalid.deprecated | #82071e | italic |
| invalid.illegal | #82071e | italic |
| invalid.unimplemented | #82071e | italic |
| carriage-return | #f6f8fa | italic underline |
| message.error | #82071e | — |
| string variable | #0550ae | — |
| source.regexp, string.regexp | #0a3069 | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #0a3069 | — |
| string.regexp constant.character.escape | #116329 | bold |
| support.constant | #0550ae | — |
| support.variable | #0550ae | — |
| support.type.property-name.json | #116329 | — |
| meta.module-reference | #0550ae | — |
| punctuation.definition.list.begin.markdown | #953800 | — |
| markup.heading, markup.heading entity.name | #0550ae | bold |
| markup.quote | #116329 | — |
| markup.italic | #1f2328 | italic |
| markup.bold | #1f2328 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #0550ae | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #82071e | — |
| punctuation.section.embedded | #cf222e | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #116329 | — |
| markup.changed, punctuation.definition.changed | #953800 | — |
| markup.ignored, markup.untracked | #eaeef2 | — |
| meta.diff.range | #8250df | bold |
| meta.diff.header | #0550ae | — |
| meta.separator | #0550ae | bold |
| meta.output | #0550ae | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #57606a | — |
| brackethighlighter.unmatched | #82071e | — |
| constant.other.reference.link, string.other.link | #0a3069 | — |
| comment, punctuation.definition.comment, string.comment | #6e7781 | — |
| constant.other.placeholder, constant.character | #cf222e | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, entity | #0550ae | — |
| entity.name, meta.export.default, meta.definition.variable | #953800 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, entity.name.constant, meta.object.member, meta.embedded.expression | #1f2328 | — |
| entity.name.function | #8250df | — |
| entity.name.tag, support.class.component | #116329 | — |
| keyword | #cf222e | — |
| storage, storage.type | #cf222e | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #1f2328 | — |
| string, string punctuation.section.embedded source | #0a3069 | — |
| support | #0550ae | — |
| meta.property-name | #0550ae | — |
| variable | #953800 | — |
| variable.other | #1f2328 | — |
| invalid.broken | #82071e | italic |
| invalid.deprecated | #82071e | italic |
| invalid.illegal | #82071e | italic |
| invalid.unimplemented | #82071e | italic |
| carriage-return | #f6f8fa | italic underline |
| message.error | #82071e | — |
| string variable | #0550ae | — |
| source.regexp, string.regexp | #0a3069 | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #0a3069 | — |
| string.regexp constant.character.escape | #116329 | bold |
| support.constant | #0550ae | — |
| support.variable | #0550ae | — |
| support.type.property-name.json | #116329 | — |
| meta.module-reference | #0550ae | — |
| punctuation.definition.list.begin.markdown | #953800 | — |
| markup.heading, markup.heading entity.name | #0550ae | bold |
| markup.quote | #116329 | — |
| markup.italic | #1f2328 | italic |
| markup.bold | #1f2328 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #0550ae | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #82071e | — |
| punctuation.section.embedded | #cf222e | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #116329 | — |
| markup.changed, punctuation.definition.changed | #953800 | — |
| markup.ignored, markup.untracked | #eaeef2 | — |
| meta.diff.range | #8250df | bold |
| meta.diff.header | #0550ae | — |
| meta.separator | #0550ae | bold |
| meta.output | #0550ae | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #57606a | — |
| brackethighlighter.unmatched | #82071e | — |
| constant.other.reference.link, string.other.link | #0a3069 | — |
| comment, punctuation.definition.comment, string.comment | #6e7781 | — |
| constant.other.placeholder, constant.character | #cf222e | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, entity | #0550ae | — |
| entity.name, meta.export.default, meta.definition.variable | #953800 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, entity.name.constant, meta.object.member, meta.embedded.expression | #1f2328 | — |
| entity.name.function | #8250df | — |
| entity.name.tag, support.class.component | #116329 | — |
| keyword | #cf222e | — |
| storage, storage.type | #cf222e | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #1f2328 | — |
| string, string punctuation.section.embedded source | #0a3069 | — |
| support | #0550ae | — |
| meta.property-name | #0550ae | — |
| variable | #953800 | — |
| variable.other | #1f2328 | — |
| invalid.broken | #82071e | italic |
| invalid.deprecated | #82071e | italic |
| invalid.illegal | #82071e | italic |
| invalid.unimplemented | #82071e | italic |
| carriage-return | #f6f8fa | italic underline |
| message.error | #82071e | — |
| string variable | #0550ae | — |
| source.regexp, string.regexp | #0a3069 | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #0a3069 | — |
| string.regexp constant.character.escape | #116329 | bold |
| support.constant | #0550ae | — |
| support.variable | #0550ae | — |
| support.type.property-name.json | #116329 | — |
| meta.module-reference | #0550ae | — |
| punctuation.definition.list.begin.markdown | #953800 | — |
| markup.heading, markup.heading entity.name | #0550ae | bold |
| markup.quote | #116329 | — |
| markup.italic | #1f2328 | italic |
| markup.bold | #1f2328 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #0550ae | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #82071e | — |
| punctuation.section.embedded | #cf222e | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #116329 | — |
| markup.changed, punctuation.definition.changed | #953800 | — |
| markup.ignored, markup.untracked | #eaeef2 | — |
| meta.diff.range | #8250df | bold |
| meta.diff.header | #0550ae | — |
| meta.separator | #0550ae | bold |
| meta.output | #0550ae | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #57606a | — |
| brackethighlighter.unmatched | #82071e | — |
| constant.other.reference.link, string.other.link | #0a3069 | — |
| entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal | #795E26 | — |
| support.class, support.type, entity.name.type, entity.name.namespace, entity.other.attribute, entity.name.scope-resolution, entity.name.class, storage.type.numeric.go, storage.type.byte.go, storage.type.boolean.go, storage.type.string.go, storage.type.uintptr.go, storage.type.error.go, storage.type.rune.go, storage.type.cs, storage.type.generic.cs, storage.type.modifier.cs, storage.type.variable.cs, storage.type.annotation.java, storage.type.generic.java, storage.type.java, storage.type.object.array.java, storage.type.primitive.array.java, storage.type.primitive.java, storage.type.token.java, storage.type.groovy, storage.type.annotation.groovy, storage.type.parameters.groovy, storage.type.generic.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.primitive.groovy | #267f99 | — |
| meta.type.cast.expr, meta.type.new.expr, support.constant.math, support.constant.dom, support.constant.json, entity.other.inherited-class, punctuation.separator.namespace.ruby | #267f99 | — |
| keyword.control, source.cpp keyword.operator.new, source.cpp keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator | #AF00DB | — |
| variable, meta.definition.variable.name, support.variable, entity.name.variable, constant.other.placeholder | #001080 | — |
| variable.other.constant, variable.other.enummember | #0070C1 | — |
| meta.object-literal.key | #001080 | — |
| 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 | #0451a5 | — |
| 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 | #d16969 | — |
| constant.character.character-class.regexp, constant.other.character-class.set.regexp, constant.other.character-class.regexp, constant.character.set.regexp | #811f3f | — |
| keyword.operator.quantifier.regexp | #000000 | — |
| keyword.operator.or.regexp, keyword.control.anchor.regexp | #EE0000 | — |
| constant.character, constant.other.option | #0000ff | — |
| constant.character.escape | #EE0000 | — |
| entity.name.label | #000000 | — |
| comment, punctuation.definition.comment, string.comment | #6e7781 | — |
| constant.other.placeholder, constant.character | #cf222e | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language, entity | #0550ae | — |
| entity.name, meta.export.default, meta.definition.variable | #953800 | — |
| variable.parameter.function, meta.jsx.children, meta.block, meta.tag.attributes, entity.name.constant, meta.object.member, meta.embedded.expression | #1f2328 | — |
| entity.name.function | #8250df | — |
| entity.name.tag, support.class.component | #116329 | — |
| keyword | #cf222e | — |
| storage, storage.type | #cf222e | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #1f2328 | — |
| string, string punctuation.section.embedded source | #0a3069 | — |
| support | #0550ae | — |
| meta.property-name | #0550ae | — |
| variable | #953800 | — |
| variable.other | #1f2328 | — |
| invalid.broken | #82071e | italic |
| invalid.deprecated | #82071e | italic |
| invalid.illegal | #82071e | italic |
| invalid.unimplemented | #82071e | italic |
| carriage-return | #f6f8fa | italic underline |
| message.error | #82071e | — |
| string variable | #0550ae | — |
| source.regexp, string.regexp | #0a3069 | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #0a3069 | — |
| string.regexp constant.character.escape | #116329 | bold |
| support.constant | #0550ae | — |
| support.variable | #0550ae | — |
| support.type.property-name.json | #116329 | — |
| meta.module-reference | #0550ae | — |
| punctuation.definition.list.begin.markdown | #953800 | — |
| markup.heading, markup.heading entity.name | #0550ae | bold |
| markup.quote | #116329 | — |
| markup.italic | #1f2328 | italic |
| markup.bold | #1f2328 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #0550ae | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #82071e | — |
| punctuation.section.embedded | #cf222e | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #116329 | — |
| markup.changed, punctuation.definition.changed | #953800 | — |
| markup.ignored, markup.untracked | #eaeef2 | — |
| meta.diff.range | #8250df | bold |
| meta.diff.header | #0550ae | — |
| meta.separator | #0550ae | bold |
| meta.output | #0550ae | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #57606a | — |
| brackethighlighter.unmatched | #82071e | — |
| constant.other.reference.link, string.other.link | #0a3069 | — |
| entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal | #795E26 | — |
| support.class, support.type, entity.name.type, entity.name.namespace, entity.other.attribute, entity.name.scope-resolution, entity.name.class, storage.type.numeric.go, storage.type.byte.go, storage.type.boolean.go, storage.type.string.go, storage.type.uintptr.go, storage.type.error.go, storage.type.rune.go, storage.type.cs, storage.type.generic.cs, storage.type.modifier.cs, storage.type.variable.cs, storage.type.annotation.java, storage.type.generic.java, storage.type.java, storage.type.object.array.java, storage.type.primitive.array.java, storage.type.primitive.java, storage.type.token.java, storage.type.groovy, storage.type.annotation.groovy, storage.type.parameters.groovy, storage.type.generic.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.primitive.groovy | #267f99 | — |
| meta.type.cast.expr, meta.type.new.expr, support.constant.math, support.constant.dom, support.constant.json, entity.other.inherited-class, punctuation.separator.namespace.ruby | #267f99 | — |
| keyword.control, source.cpp keyword.operator.new, source.cpp keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator | #AF00DB | — |
| variable, meta.definition.variable.name, support.variable, entity.name.variable, constant.other.placeholder | #001080 | — |
| variable.other.constant, variable.other.enummember | #0070C1 | — |
| meta.object-literal.key | #001080 | — |
| 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 | #0451a5 | — |
| 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 | #d16969 | — |
| constant.character.character-class.regexp, constant.other.character-class.set.regexp, constant.other.character-class.regexp, constant.character.set.regexp | #811f3f | — |
| keyword.operator.quantifier.regexp | #000000 | — |
| keyword.operator.or.regexp, keyword.control.anchor.regexp | #EE0000 | — |
| constant.character, constant.other.option | #0000ff | — |
| constant.character.escape | #EE0000 | — |
| entity.name.label | #000000 | — |
| meta.embedded, source.groovy.embedded, string meta.image.inline.markdown, variable.legacy.builtin.python | #000000ff | — |
| emphasis | — | italic |
| strong | — | bold |
| meta.diff.header | #000080 | — |
| comment | #008000 | — |
| constant.language | #0000ff | — |
| constant.numeric, variable.other.enummember, keyword.operator.plus.exponent, keyword.operator.minus.exponent | #098658 | — |
| constant.regexp | #811f3f | — |
| entity.name.tag | #800000 | — |
| entity.name.selector | #800000 | — |
| entity.other.attribute-name | #e50000 | — |
| 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 | #800000 | — |
| invalid | #cd3131 | — |
| markup.underline | — | underline |
| markup.bold | #000080 | bold |
| markup.heading | #800000 | bold |
| markup.italic | #800080 | italic |
| markup.strikethrough | — | strikethrough |
| markup.inserted | #098658 | — |
| markup.deleted | #a31515 | — |
| markup.changed | #0451a5 | — |
| punctuation.definition.quote.begin.markdown, punctuation.definition.list.begin.markdown | #0451a5 | — |
| markup.inline.raw | #800000 | — |
| punctuation.definition.tag | #800000 | — |
| meta.preprocessor, entity.name.function.preprocessor | #0000ff | — |
| meta.preprocessor.string | #a31515 | — |
| meta.preprocessor.numeric | #098658 | — |
| meta.structure.dictionary.key.python | #0451a5 | — |
| storage | #0000ff | — |
| storage.type | #0000ff | — |
| storage.modifier, keyword.operator.noexcept | #0000ff | — |
| string, meta.embedded.assembly | #a31515 | — |
| string.comment.buffered.block.pug, string.quoted.pug, string.interpolated.pug, string.unquoted.plain.in.yaml, string.unquoted.plain.out.yaml, string.unquoted.block.yaml, string.quoted.single.yaml, string.quoted.double.xml, string.quoted.single.xml, string.unquoted.cdata.xml, string.quoted.double.html, string.quoted.single.html, string.unquoted.html, string.quoted.single.handlebars, string.quoted.double.handlebars | #0000ff | — |
| string.regexp | #811f3f | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #0000ff | — |
| meta.template.expression | #000000 | — |
| 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 | #0451a5 | — |
| support.type.vendored.property-name, support.type.property-name, source.css variable, source.coffee.embedded | #e50000 | — |
| support.type.property-name.json | #0451a5 | — |
| keyword | #0000ff | — |
| keyword.control | #0000ff | — |
| keyword.operator | #000000 | — |
| 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 | #0000ff | — |
| keyword.other.unit | #098658 | — |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #800000 | — |
| support.function.git-rebase | #0451a5 | — |
| constant.sha.git-rebase | #098658 | — |
| storage.modifier.import.java, variable.language.wildcard.java, storage.modifier.package.java | #000000 | — |
| variable.language | #0000ff | — |
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.constant.edge | #C792EA | — |
| constant.other.character-class.regexp | #DE7C84ff | — |
| keyword.operator.quantifier.regexp | #EBB07Aff | — |
| punctuation.definition.string.begin,punctuation.definition.string.end | #92D69E | — |
| variable.parameter.function | #A6B2C0 | — |
| beginning.punctuation.definition.list.markdown.xi | #7f848e | — |
| comment, punctuation.definition.comment | #7F848E | italic |
| comment markup.link | #5C6370 | — |
| markup.changed.diff | #e0c285 | — |
| meta.diff.header.from-file,punctuation.definition.from-file.diff | #569cd6 | — |
| markup.inserted.diff | #92D69E | — |
| markup.deleted.diff | #DE7C84 | — |
| meta.function.c | #DE7C84 | — |
| punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c | #abb2bf | — |
| punctuation.separator.key-value | #bbbbbb | — |
| entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super | — | italic |
| keyword.operator.expression.import | #61afef | — |
| support.constant.math | #DBB979 | — |
| support.constant.property.math | #EBB07A | — |
| variable.other.constant | #EBB07A | — |
| storage.type.annotation.java | #DBB979 | — |
| source.java | #DE7C84 | — |
| punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,storage.type.generic.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,meta.method.body.java | #abb2bf | — |
| meta.method.java | #61afef | — |
| storage.modifier.import.java,storage.type.java | #DBB979 | — |
| meta.definition.variable.name.java | #DE7C84 | — |
| keyword.operator.logical.js | #56b6c2 | — |
| keyword.operator.bitwise | #56b6c2 | — |
| keyword.operator.channel | #56b6c2 | — |
| support.constant.property-value.scss,support.constant.property-value.css | #EBB07A | — |
| keyword.operator.css,keyword.operator.scss,keyword.operator.less | #56B6C2 | — |
| support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss | #EBB07A | — |
| punctuation.separator.list.comma.css | #b9c0ca | — |
| support.constant.color.w3c-standard-color-name.css | #EBB07A | — |
| support.type.vendored.property-name.css | #56b6c2 | — |
| punctuation.definition.template-expression.begin,punctuation.definition.template-expression.end | #DE7C84 | — |
| support.module.node,support.type.object.module,support.module.node | #DBB979 | — |
| variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node | #DE7C84 | — |
| comment.line.double-slash,comment.block.documentation | — | normal |
| support.constant.json | #EBB07A | — |
| keyword.operator.expression.instanceof, keyword.operator.new, keyword.operator.ternary, keyword.operator.optional | #C792EA | — |
| support.type.object.console | #DE7C84 | — |
| support.variable.property.process | #EBB07A | — |
| entity.name.function,support.function.console | #61afef | — |
| keyword.operator | #56b6c2 | — |
| support.type.object.dom | #56b6c2 | — |
| support.variable.dom,support.variable.property.dom | #DE7C84 | — |
| keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment | #56b6c2 | — |
| keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c | #C792EAff | — |
| punctuation.separator.delimiter | #bbbbbb | — |
| punctuation.separator.c | #C792EAff | — |
| support.type.posix-reserved.c | #57adb8 | — |
| keyword.operator.sizeof.c | #C178DD | — |
| variable.parameter.function.language.python | #EBB07A | — |
| support.type.python | #56b6c2 | — |
| keyword.operator.logical.python | #C792EA | — |
| meta.function-call.arguments.python | #E06C60 | — |
| meta.function-call.python | #E06C60 | — |
| variable.parameter.function.python | #D18C4E | — |
| punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python,meta.function-call.arguments.python | #abb2bf | — |
| meta.function-call.generic.python | #61afef | — |
| constant.character.format.placeholder.other.python | #92D69E | — |
| none | #A6B2C0 | — |
| keyword.operator | #abb2bf | — |
| keyword.operator.assignment.compound | #C792EAff | — |
| keyword | #C792EA | — |
| variable | #DE7C84 | — |
| token.variable.parameter.java | #abb2bf | — |
| import.storage.java | #DBB979 | — |
| token.package.keyword | #C792EA | — |
| token.package | #abb2bf | — |
| entity.name.function, meta.require, support.function.any-method, variable.function | #61afef | bold |
| entity.name.type.namespace | #DBB979 | — |
| support.class, entity.name.type.class | #DBB979 | — |
| entity.name.class.identifier.namespace.type | #DBB979 | — |
| entity.name.class, variable.other.class.js, variable.other.class.ts | #DBB979 | bold italic |
| variable.other.class.php | #DE7C84ff | — |
| entity.name.type | #DBB979 | — |
| keyword.control | #C792EA | — |
| control.elements, keyword.operator.less | #EBB07A | — |
| keyword.other.special-method | #61afef | — |
| storage | #C792EA | — |
| token.storage | #C792EA | — |
| keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void | #C792EA | — |
| token.storage.type.java | #DBB979 | — |
| support.function | #56b6c2 | — |
| support.type.property-name | #abb2bf | — |
| support.constant.property-value | #abb2bf | — |
| support.constant.font-name | #EBB07A | — |
| meta.tag | #abb2bf | — |
| string, entity.other.inherited-class | #92D69E | — |
| constant.other.symbol | #56b6c2 | — |
| constant.numeric | #EBB07A | — |
| none | #EBB07A | — |
| none | #EBB07A | — |
| constant | #EBB07A | — |
| punctuation.definition.constant | #EBB07A | — |
| entity.name.tag | #DE7C84 | — |
| entity.other.attribute-name | #EBB07A | — |
| entity.other.attribute-name.id | #61afef | normal |
| entity.other.attribute-name.class.css | #EBB07A | normal |
| meta.selector | #C792EA | — |
| none | #D2945D | — |
| markup.heading | #C792EA | — |
| markup.heading punctuation.definition.heading, entity.name.section | #61afef | — |
| keyword.other.unit | #DE7C84 | — |
| markup.bold,todo.bold | #92D69E | — |
| punctuation.definition.bold | #DBB979 | — |
| markup.italic, punctuation.definition.italic,todo.emphasis | #C792EA | — |
| emphasis md | #C792EA | — |
| entity.name.section.markdown | #C792EA | — |
| punctuation.definition.heading.markdown | #C792EA | — |
| markup.heading.setext | #ABB2BF | — |
| punctuation.definition.bold.markdown | #92D69E | — |
| markup.inline.raw.markdown | #92D69E | — |
| markup.inline.raw.string.markdown | #92D69E | — |
| punctuation.definition.list.markdown | #DE7C84 | — |
| markup.quote.markdown | #5C6370 | italic |
| punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.metadata.markdown | #DE7C84 | — |
| beginning.punctuation.definition.list.markdown | #DE7C84 | — |
| punctuation.definition.metadata.markdown | #DE7C84 | — |
| markup.underline.link.markdown,markup.underline.link.image.markdown | #C792EA | — |
| string.other.link.title.markdown,string.other.link.description.markdown | #61AFEF | — |
| markup.italic.markdown | — | italic |
| markup.bold.markdown | — | — |
| string.regexp | #57B6C2 | — |
| constant.character.escape | #57B6C2 | — |
| punctuation.section.embedded, variable.interpolation | #BE4F44 | — |
| invalid.illegal | #FFFFFF | — |
| invalid.broken | #FFFFFF | — |
| invalid.deprecated | #FFFFFF | — |
| invalid.unimplemented | #FFFFFF | — |
| source.json meta.structure.dictionary.json > string.quoted.json | #DE7C84 | — |
| source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string | #DE7C84 | — |
| source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation | #92D69E | — |
| source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json | #56B6C2 | — |
| support.type.property-name.json | #C792EA | — |
| support.type.property-name.json punctuation | #C792EA | — |
| text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade | #C679DD | — |
| text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade | #C679DD | — |
| support.other.namespace.use.php,support.other.namespace.use-as.php,support.other.namespace.php,entity.other.alias.php,meta.interface.php | #DBB979 | — |
| keyword.operator.error-control.php | #C792EA | — |
| keyword.operator.type.php | #C792EA | — |
| punctuation.section.array.begin.php | #abb2bf | — |
| punctuation.section.array.end.php | #abb2bf | — |
| invalid.illegal.non-null-typehinted.php | #ff0000 | — |
| storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php | #DBB979 | — |
| meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php | #61afef | — |
| punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php | #bbbbbb | — |
| support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php | #EBB07A | — |
| entity.name.goto-label.php,support.other.php | #61afef | — |
| keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php | #56b6c2 | — |
| keyword.operator.regexp.php | #C792EA | — |
| keyword.operator.comparison.php | #56b6c2 | — |
| punctuation.definition.variable.php | #DE7C84 | — |
| keyword.operator.heredoc.php,keyword.operator.nowdoc.php | #C792EA | — |
| meta.function.decorator.python | #61afef | — |
| support.token.decorator.python,meta.function.decorator.identifier.python | #56B6C2 | — |
| function.parameter | #EBB07A | — |
| function.parameter | #abb2bf | — |
| function.brace | #abb2bf | — |
| function.parameter.ruby, function.parameter.cs | #abb2bf | — |
| rgb-value | #56B6C2 | — |
| inline-color-decoration rgb-value | #EBB07A | — |
| less rgb-value | #EBB07A | — |
| selector.sass | #DE7C84 | — |
| var.this,variable.language.this.js,variable.language.this.ts,variable.language.this.jsx,variable.language.this.tsx | #DBB979 | italic |
| support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx | #DBB979 | — |
| block.scope.end,block.scope.begin | #abb2bf | — |
| storage.type.cs | #DBB979ff | — |
| entity.name.variable.local.cs | #DE7C84 | — |
| token.info-token | #6796e6 | — |
| token.warn-token | #cd9731 | — |
| token.error-token | #f44747 | — |
| token.debug-token | #b267e6 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #C792EA | — |
| meta.template.expression | #abb2bf | — |
| keyword.operator.assignment.go, keyword.operator.address.go | #DBB979 | — |
| entity.name.package.go | #DBB979 | — |
| support.type.prelude.elm | #56b6c2ff | — |
| support.constant.elm | #EBB07Aff | — |
| punctuation.quasi.element | #C792EA | — |
| constant.character.entity | #DE7C84 | — |
| entity.other.attribute-name.pseudo-element, entity.other.attribute-name.pseudo-class | #56B6C2 | — |
| entity.global.clojure | #DBB979 | — |
| meta.symbol.clojure | #DE7C84 | — |
| constant.keyword.clojure | #56B6C2 | — |
| meta.arguments.coffee, variable.parameter.function.coffee | #DE7C84 | — |
| source.ini | #92D69E | — |
| meta.scope.prerequisites.makefile | #DE7C84 | — |
| source.makefile | #DBB979 | — |
| storage.modifier.import.groovy | #DBB979 | — |
| meta.method.groovy | #61afef | — |
| meta.definition.variable.name.groovy | #DE7C84 | — |
| meta.definition.class.inherited.classes.groovy | #92D69E | — |
| support.variable.semantic.hlsl | #DBB979 | — |
| support.type.texture.hlsl, support.type.sampler.hlsl, support.type.object.hlsl, support.type.object.rw.hlsl, support.type.fx.hlsl, support.type.object.hlsl | #C792EA | — |
| text.variable, text.bracketed | #DE7C84 | — |
| support.type.swift, support.type.vb.asp | #DBB979 | — |
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.constant.edge | #C792EA | — |
| constant.other.character-class.regexp | #DE7C84ff | — |
| keyword.operator.quantifier.regexp | #EBB07Aff | — |
| punctuation.definition.string.begin,punctuation.definition.string.end | #92D69E | — |
| variable.parameter.function | #A6B2C0 | — |
| beginning.punctuation.definition.list.markdown.xi | #7f848e | — |
| comment, punctuation.definition.comment | #7F848E | italic |
| comment markup.link | #5C6370 | — |
| markup.changed.diff | #e0c285 | — |
| meta.diff.header.from-file,punctuation.definition.from-file.diff | #569cd6 | — |
| markup.inserted.diff | #92D69E | — |
| markup.deleted.diff | #DE7C84 | — |
| meta.function.c | #DE7C84 | — |
| punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c | #abb2bf | — |
| punctuation.separator.key-value | #bbbbbb | — |
| entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super | — | italic |
| keyword.operator.expression.import | #61afef | — |
| support.constant.math | #DBB979 | — |
| support.constant.property.math | #EBB07A | — |
| variable.other.constant | #EBB07A | — |
| storage.type.annotation.java | #DBB979 | — |
| source.java | #DE7C84 | — |
| punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,storage.type.generic.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,meta.method.body.java | #abb2bf | — |
| meta.method.java | #61afef | — |
| storage.modifier.import.java,storage.type.java | #DBB979 | — |
| meta.definition.variable.name.java | #DE7C84 | — |
| keyword.operator.logical.js | #56b6c2 | — |
| keyword.operator.bitwise | #56b6c2 | — |
| keyword.operator.channel | #56b6c2 | — |
| support.constant.property-value.scss,support.constant.property-value.css | #EBB07A | — |
| keyword.operator.css,keyword.operator.scss,keyword.operator.less | #56B6C2 | — |
| support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss | #EBB07A | — |
| punctuation.separator.list.comma.css | #b9c0ca | — |
| support.constant.color.w3c-standard-color-name.css | #EBB07A | — |
| support.type.vendored.property-name.css | #56b6c2 | — |
| punctuation.definition.template-expression.begin,punctuation.definition.template-expression.end | #DE7C84 | — |
| support.module.node,support.type.object.module,support.module.node | #DBB979 | — |
| variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node | #DE7C84 | — |
| comment.line.double-slash,comment.block.documentation | — | normal |
| support.constant.json | #EBB07A | — |
| keyword.operator.expression.instanceof, keyword.operator.new, keyword.operator.ternary, keyword.operator.optional | #C792EA | — |
| support.type.object.console | #DE7C84 | — |
| support.variable.property.process | #EBB07A | — |
| entity.name.function,support.function.console | #61afef | — |
| keyword.operator | #56b6c2 | — |
| support.type.object.dom | #56b6c2 | — |
| support.variable.dom,support.variable.property.dom | #DE7C84 | — |
| keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment | #56b6c2 | — |
| keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c | #C792EAff | — |
| punctuation.separator.delimiter | #bbbbbb | — |
| punctuation.separator.c | #C792EAff | — |
| support.type.posix-reserved.c | #57adb8 | — |
| keyword.operator.sizeof.c | #C178DD | — |
| variable.parameter.function.language.python | #EBB07A | — |
| support.type.python | #56b6c2 | — |
| keyword.operator.logical.python | #C792EA | — |
| meta.function-call.arguments.python | #E06C60 | — |
| meta.function-call.python | #E06C60 | — |
| variable.parameter.function.python | #D18C4E | — |
| punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python,meta.function-call.arguments.python | #abb2bf | — |
| meta.function-call.generic.python | #61afef | — |
| constant.character.format.placeholder.other.python | #92D69E | — |
| none | #A6B2C0 | — |
| keyword.operator | #abb2bf | — |
| keyword.operator.assignment.compound | #C792EAff | — |
| keyword | #C792EA | — |
| variable | #DE7C84 | — |
| token.variable.parameter.java | #abb2bf | — |
| import.storage.java | #DBB979 | — |
| token.package.keyword | #C792EA | — |
| token.package | #abb2bf | — |
| entity.name.function, meta.require, support.function.any-method, variable.function | #61afef | bold |
| entity.name.type.namespace | #DBB979 | — |
| support.class, entity.name.type.class | #DBB979 | — |
| entity.name.class.identifier.namespace.type | #DBB979 | — |
| entity.name.class, variable.other.class.js, variable.other.class.ts | #DBB979 | bold italic |
| variable.other.class.php | #DE7C84ff | — |
| entity.name.type | #DBB979 | — |
| keyword.control | #C792EA | — |
| control.elements, keyword.operator.less | #EBB07A | — |
| keyword.other.special-method | #61afef | — |
| storage | #C792EA | — |
| token.storage | #C792EA | — |
| keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void | #C792EA | — |
| token.storage.type.java | #DBB979 | — |
| support.function | #56b6c2 | — |
| support.type.property-name | #abb2bf | — |
| support.constant.property-value | #abb2bf | — |
| support.constant.font-name | #EBB07A | — |
| meta.tag | #abb2bf | — |
| string, entity.other.inherited-class | #92D69E | — |
| constant.other.symbol | #56b6c2 | — |
| constant.numeric | #EBB07A | — |
| none | #EBB07A | — |
| none | #EBB07A | — |
| constant | #EBB07A | — |
| punctuation.definition.constant | #EBB07A | — |
| entity.name.tag | #DE7C84 | — |
| entity.other.attribute-name | #EBB07A | — |
| entity.other.attribute-name.id | #61afef | normal |
| entity.other.attribute-name.class.css | #EBB07A | normal |
| meta.selector | #C792EA | — |
| none | #D2945D | — |
| markup.heading | #C792EA | — |
| markup.heading punctuation.definition.heading, entity.name.section | #61afef | — |
| keyword.other.unit | #DE7C84 | — |
| markup.bold,todo.bold | #92D69E | — |
| punctuation.definition.bold | #DBB979 | — |
| markup.italic, punctuation.definition.italic,todo.emphasis | #C792EA | — |
| emphasis md | #C792EA | — |
| entity.name.section.markdown | #C792EA | — |
| punctuation.definition.heading.markdown | #C792EA | — |
| markup.heading.setext | #ABB2BF | — |
| punctuation.definition.bold.markdown | #92D69E | — |
| markup.inline.raw.markdown | #92D69E | — |
| markup.inline.raw.string.markdown | #92D69E | — |
| punctuation.definition.list.markdown | #DE7C84 | — |
| markup.quote.markdown | #5C6370 | italic |
| punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.metadata.markdown | #DE7C84 | — |
| beginning.punctuation.definition.list.markdown | #DE7C84 | — |
| punctuation.definition.metadata.markdown | #DE7C84 | — |
| markup.underline.link.markdown,markup.underline.link.image.markdown | #C792EA | — |
| string.other.link.title.markdown,string.other.link.description.markdown | #61AFEF | — |
| markup.italic.markdown | — | italic |
| markup.bold.markdown | — | — |
| string.regexp | #57B6C2 | — |
| constant.character.escape | #57B6C2 | — |
| punctuation.section.embedded, variable.interpolation | #BE4F44 | — |
| invalid.illegal | #FFFFFF | — |
| invalid.broken | #FFFFFF | — |
| invalid.deprecated | #FFFFFF | — |
| invalid.unimplemented | #FFFFFF | — |
| source.json meta.structure.dictionary.json > string.quoted.json | #DE7C84 | — |
| source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string | #DE7C84 | — |
| source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation | #92D69E | — |
| source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json | #56B6C2 | — |
| support.type.property-name.json | #C792EA | — |
| support.type.property-name.json punctuation | #C792EA | — |
| text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade | #C679DD | — |
| text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade | #C679DD | — |
| support.other.namespace.use.php,support.other.namespace.use-as.php,support.other.namespace.php,entity.other.alias.php,meta.interface.php | #DBB979 | — |
| keyword.operator.error-control.php | #C792EA | — |
| keyword.operator.type.php | #C792EA | — |
| punctuation.section.array.begin.php | #abb2bf | — |
| punctuation.section.array.end.php | #abb2bf | — |
| invalid.illegal.non-null-typehinted.php | #ff0000 | — |
| storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php | #DBB979 | — |
| meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php | #61afef | — |
| punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php | #bbbbbb | — |
| support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php | #EBB07A | — |
| entity.name.goto-label.php,support.other.php | #61afef | — |
| keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php | #56b6c2 | — |
| keyword.operator.regexp.php | #C792EA | — |
| keyword.operator.comparison.php | #56b6c2 | — |
| punctuation.definition.variable.php | #DE7C84 | — |
| keyword.operator.heredoc.php,keyword.operator.nowdoc.php | #C792EA | — |
| meta.function.decorator.python | #61afef | — |
| support.token.decorator.python,meta.function.decorator.identifier.python | #56B6C2 | — |
| function.parameter | #EBB07A | — |
| function.parameter | #abb2bf | — |
| function.brace | #abb2bf | — |
| function.parameter.ruby, function.parameter.cs | #abb2bf | — |
| rgb-value | #56B6C2 | — |
| inline-color-decoration rgb-value | #EBB07A | — |
| less rgb-value | #EBB07A | — |
| selector.sass | #DE7C84 | — |
| var.this,variable.language.this.js,variable.language.this.ts,variable.language.this.jsx,variable.language.this.tsx | #DBB979 | italic |
| support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx | #DBB979 | — |
| block.scope.end,block.scope.begin | #abb2bf | — |
| storage.type.cs | #DBB979ff | — |
| entity.name.variable.local.cs | #DE7C84 | — |
| token.info-token | #6796e6 | — |
| token.warn-token | #cd9731 | — |
| token.error-token | #f44747 | — |
| token.debug-token | #b267e6 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #C792EA | — |
| meta.template.expression | #abb2bf | — |
| keyword.operator.assignment.go, keyword.operator.address.go | #DBB979 | — |
| entity.name.package.go | #DBB979 | — |
| support.type.prelude.elm | #56b6c2ff | — |
| support.constant.elm | #EBB07Aff | — |
| punctuation.quasi.element | #C792EA | — |
| constant.character.entity | #DE7C84 | — |
| entity.other.attribute-name.pseudo-element, entity.other.attribute-name.pseudo-class | #56B6C2 | — |
| entity.global.clojure | #DBB979 | — |
| meta.symbol.clojure | #DE7C84 | — |
| constant.keyword.clojure | #56B6C2 | — |
| meta.arguments.coffee, variable.parameter.function.coffee | #DE7C84 | — |
| source.ini | #92D69E | — |
| meta.scope.prerequisites.makefile | #DE7C84 | — |
| source.makefile | #DBB979 | — |
| storage.modifier.import.groovy | #DBB979 | — |
| meta.method.groovy | #61afef | — |
| meta.definition.variable.name.groovy | #DE7C84 | — |
| meta.definition.class.inherited.classes.groovy | #92D69E | — |
| support.variable.semantic.hlsl | #DBB979 | — |
| support.type.texture.hlsl, support.type.sampler.hlsl, support.type.object.hlsl, support.type.object.rw.hlsl, support.type.fx.hlsl, support.type.object.hlsl | #C792EA | — |
| text.variable, text.bracketed | #DE7C84 | — |
| support.type.swift, support.type.vb.asp | #DBB979 | — |
| storage.type.function.js | #EBB07A | — |
| entity.name.function.js | #DBB979 | bold |
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}!`;
}
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}!`;
}
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}!`;
}
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}!`;
}