Vishwa - Complete Extension Pack
Publisher: Vishwakarma IndustriesThemes in package: 4
Complete language support, themes, and file icons for Vishwa - English-like programming made simple. Includes 4 beautiful themes and professional file icons.
Complete language support, themes, and file icons for Vishwa - English-like programming made simple. Includes 4 beautiful themes and professional file icons.
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.line.note.vishwa, punctuation.definition.comment.vishwa | #6e7781 | italic |
| keyword.control.vishwa, keyword.control.conditional.vishwa, keyword.control.loop.vishwa | #FF5722 | bold |
| keyword.other.vishwa, storage.type.function.vishwa, storage.type.structure.vishwa | #8250df | bold |
| keyword.operator.vishwa, keyword.operator.arithmetic.vishwa, keyword.operator.comparison.vishwa, keyword.operator.logical.vishwa | #0550ae | — |
| support.function.io.vishwa, entity.name.function.io.vishwa | #FF9800 | bold |
| support.function.math.vishwa, entity.name.function.math.vishwa, support.function.builtin.math.vishwa | #7d4e00 | bold |
| support.function.string.vishwa, entity.name.function.string.vishwa, support.function.builtin.string.vishwa | #4CAF50 | bold |
| support.function.array.vishwa, entity.name.function.array.vishwa, support.function.builtin.array.vishwa | #044f1e | bold |
| support.function.functional.vishwa, entity.name.function.functional.vishwa, support.function.builtin.functional.vishwa | #6639ba | bold italic |
| support.function.testing.vishwa, entity.name.function.testing.vishwa | #bf3989 | — |
| entity.name.function.vishwa, entity.name.function.definition.vishwa | #8250df | — |
| entity.name.function.call.vishwa, meta.function-call.vishwa | #a475f9 | — |
| variable.other.vishwa, variable.other.readwrite.vishwa | #033d8b | — |
| variable.other.constant.vishwa, constant.language.vishwa | #0550ae | bold |
| variable.parameter.vishwa, meta.function.parameters.vishwa | #bc4c00 | — |
| string.quoted.double.vishwa, punctuation.definition.string.vishwa | #0a3069 | — |
| constant.numeric.vishwa, constant.numeric.integer.vishwa, constant.numeric.float.vishwa | #116329 | — |
| constant.language.boolean.vishwa, constant.language.null.vishwa | #0550ae | bold |
| keyword.control.exception.vishwa, storage.type.exception.vishwa | #a40e26 | bold |
| keyword.other.special.vishwa, keyword.operator.assignment.vishwa | #0969da | — |
| entity.name.type.vishwa, entity.name.structure.vishwa | #7d4e00 | bold |
| keyword.control.file.vishwa, support.function.file.vishwa | #bc4c00 | — |
| keyword.control.import.vishwa, keyword.control.export.vishwa, keyword.control.module.vishwa | #6639ba | bold |
| keyword.operator.collection.vishwa, keyword.operator.access.vishwa | #116329 | — |
| support.type.primitive.vishwa, entity.name.type.primitive.vishwa | #9a6700 | italic |
| punctuation.definition.array.vishwa, punctuation.definition.dictionary.vishwa, punctuation.separator.vishwa | #57606a | — |
| constant.character.escape.vishwa | #0550ae | bold |
| invalid.illegal.vishwa, invalid.deprecated.vishwa | #82071e | strikethrough |
| meta.function.vishwa, meta.structure.vishwa, meta.block.vishwa | #1f2328 | — |
| support.function.type.vishwa, entity.name.function.type.vishwa, support.function.builtin.type.vishwa | #0969da | bold |
| support.function.utility.vishwa, entity.name.function.utility.vishwa, support.function.builtin.utility.vishwa | #99286e | bold |
| support.function.file-io.vishwa, entity.name.function.file-io.vishwa, support.function.builtin.file-io.vishwa | #953800 | bold |
| keyword.control.loop.break.vishwa, keyword.control.loop.continue.vishwa | #a40e26 | bold |
| keyword.control.return.vishwa | #6639ba | bold |
| keyword.control.call.vishwa, keyword.other.call.vishwa | #8250df | — |
| keyword.other.create.vishwa, keyword.operator.new.vishwa | #7d4e00 | bold |
| keyword.operator.complement.vishwa | #218bff | — |
| meta.object-literal.key.vishwa, string.unquoted.key.vishwa | #0550ae | — |
| meta.array.index.vishwa | #116329 | — |
| keyword.operator.word.vishwa, keyword.operator.comparison.word.vishwa, keyword.operator.arithmetic.word.vishwa | #0550ae | bold |
| keyword.control.end.vishwa, keyword.control.block.end.vishwa | #cf222e | bold |
| variable.other.property.vishwa, meta.property.vishwa, variable.other.member.vishwa | #033d8b | — |
| punctuation.parenthesis.vishwa, meta.brace.round.vishwa | #57606a | — |
| punctuation.separator.dictionary.vishwa, punctuation.separator.key-value.vishwa | #57606a | — |
| punctuation.separator.comma.vishwa, punctuation.separator.parameter.vishwa | #57606a | — |
| punctuation.accessor.vishwa, punctuation.separator.period.vishwa | #57606a | — |
| keyword.operator.conjunction.vishwa, keyword.other.conjunction.vishwa | #0969da | — |
| keyword.control.loop.each.vishwa, keyword.control.iterator.vishwa | #cf222e | bold |
| keyword.control.loop.times.vishwa, keyword.other.times.vishwa | #cf222e | — |
| keyword.control.loop.while.vishwa | #cf222e | bold |
| keyword.control.conditional.then.vishwa | #cf222e | — |
| keyword.control.conditional.otherwise.vishwa, keyword.control.conditional.else.vishwa | #cf222e | bold |
| keyword.other.set.vishwa, storage.type.variable.vishwa | #8250df | bold |
| keyword.other.define.vishwa, storage.type.constant.vishwa | #8250df | bold |
| keyword.control.loop.repeat.vishwa | #cf222e | bold |
| keyword.control.loop.for.vishwa | #cf222e | bold |
| keyword.operator.in.vishwa, keyword.control.loop.in.vishwa | #0969da | — |
| keyword.control.conditional.if.vishwa | #cf222e | bold |
| storage.type.function.definition.vishwa, keyword.other.function.vishwa | #8250df | bold |
| storage.type.structure.definition.vishwa, keyword.other.structure.vishwa | #7d4e00 | bold |
| keyword.control.exception.try.vishwa | #a40e26 | bold |
| keyword.control.exception.catch.vishwa | #a40e26 | bold |
| keyword.control.exception.finally.vishwa | #a40e26 | bold |
| keyword.control.exception.throw.vishwa | #a40e26 | bold |
| keyword.other.ask.vishwa, support.function.input.vishwa | #FF9800 | bold |
| keyword.other.store.vishwa | #0969da | — |
| keyword.other.from.vishwa, keyword.operator.from.vishwa | #0969da | — |
| keyword.operator.at.vishwa, keyword.operator.accessor.vishwa | #116329 | bold |
| keyword.operator.add.vishwa, keyword.operator.remove.vishwa | #116329 | — |
| keyword.other.with.vishwa, keyword.operator.with.vishwa | #0969da | — |
| keyword.other.as.vishwa, keyword.operator.type.vishwa | #0969da | — |
| keyword.operator.to.vishwa, keyword.operator.assignment.to.vishwa | #0969da | — |
| keyword.operator.is.vishwa, keyword.operator.comparison.is.vishwa | #0550ae | — |
| keyword.operator.not.vishwa, keyword.operator.logical.not.vishwa | #0550ae | bold |
| keyword.operator.and.vishwa, keyword.operator.or.vishwa, keyword.operator.logical.and.vishwa, keyword.operator.logical.or.vishwa | #0550ae | bold |
| keyword.operator.plus.vishwa, keyword.operator.minus.vishwa, keyword.operator.times.vishwa, keyword.operator.modulo.vishwa | #0550ae | — |
| keyword.operator.divided.vishwa, keyword.operator.by.vishwa, keyword.operator.division.vishwa | #0550ae | — |
| keyword.operator.equal.vishwa, keyword.operator.greater.vishwa, keyword.operator.less.vishwa, keyword.operator.than.vishwa | #0550ae | — |
| keyword.control.import.module.vishwa, keyword.control.export.module.vishwa, keyword.other.module.vishwa | #6639ba | bold |
| keyword.control.file.open.vishwa, keyword.control.file.close.vishwa, keyword.control.file.read.vishwa, keyword.control.file.write.vishwa | #bc4c00 | bold |
| keyword.other.show.vishwa, support.function.output.vishwa | #FF9800 | bold |
| keyword.other.display.vishwa, support.function.display.vishwa | #FF9800 | bold |
| keyword.operator.concatenation.vishwa, keyword.operator.string.and.vishwa | #0969da | — |
| punctuation.definition.array.begin.vishwa, punctuation.definition.array.end.vishwa, meta.brace.square.vishwa | #116329 | bold |
| punctuation.definition.dictionary.begin.vishwa, punctuation.definition.dictionary.end.vishwa, meta.brace.curly.vishwa | #7d4e00 | bold |
| entity.name.function.definition.vishwa, meta.function.definition.vishwa entity.name.function.vishwa | #8250df | bold |
| entity.name.function.call.vishwa, meta.function.call.vishwa entity.name.function.vishwa | #a475f9 | — |
| entity.name.type.structure.definition.vishwa, meta.structure.definition.vishwa entity.name.type.vishwa | #7d4e00 | bold |
| entity.name.type.structure.instance.vishwa, variable.other.structure.vishwa | #9a6700 | — |
| variable.other.property.definition.vishwa, entity.name.variable.field.vishwa | #0550ae | — |
| variable.other.property.access.vishwa, meta.property.object.vishwa | #033d8b | — |
| variable.parameter.function.definition.vishwa, entity.name.variable.parameter.vishwa | #bc4c00 | italic |
| meta.function.call.arguments.vishwa, variable.parameter.function.call.vishwa | #1f2328 | — |
| variable.other.iterator.vishwa, entity.name.variable.iterator.vishwa | #953800 | italic |
| variable.other.error.vishwa, entity.name.variable.error.vishwa | #a40e26 | italic |
| constant.numeric.negative.vishwa | #116329 | — |
| constant.numeric.decimal.vishwa, constant.numeric.float.decimal.vishwa | #116329 | — |
| constant.character.escape.vishwa, constant.character.escape.newline.vishwa, constant.character.escape.tab.vishwa | #0550ae | bold |
| punctuation.definition.string.begin.vishwa, punctuation.definition.string.end.vishwa | #033d8b | — |
| string.quoted.double.key.vishwa, meta.object-literal.key.string.vishwa | #0550ae | — |
| meta.object-literal.value.vishwa | #1f2328 | — |
| meta.array.literal.element.vishwa | #1f2328 | — |
| keyword.control.block.delimiter.vishwa, punctuation.definition.block.vishwa | #cf222e | bold |
| keyword.operator.comparison.phrase.vishwa, keyword.operator.relational.vishwa | #0550ae | bold |
| meta.assignment.vishwa, keyword.operator.assignment.expression.vishwa | #0969da | — |
| meta.conditional.vishwa, meta.if.vishwa | #1f2328 | — |
| meta.loop.vishwa, meta.repeat.vishwa | #1f2328 | — |
| meta.try.vishwa, meta.catch.vishwa, meta.finally.vishwa | #1f2328 | — |
| constant.language.builtin.vishwa, support.constant.vishwa | #0550ae | bold italic |
| variable.language.special.vishwa, variable.language.this.vishwa | #6639ba | italic |
| keyword.operator.modulo.arithmetic.vishwa | #0550ae | — |
| keyword.operator.unary.minus.vishwa, keyword.operator.arithmetic.unary.vishwa | #0550ae | — |
| meta.group.vishwa, meta.parens.vishwa | #1f2328 | — |
| punctuation.separator.continuation.vishwa | #57606a | — |
| meta.whitespace.vishwa | #1f2328 | — |
| invalid.illegal.syntax.vishwa, invalid.illegal.character.vishwa | #82071e | strikethrough underline |
| invalid.deprecated.feature.vishwa | #762c00 | strikethrough italic |
| comment.line.note.todo.vishwa, comment.line.note.fixme.vishwa | #633c01 | bold italic |
| comment.block.documentation.vishwa | #6e7781 | italic |
| entity.name.namespace.vishwa, entity.name.module.vishwa | #6639ba | — |
| entity.name.type.class.vishwa, support.type.class.vishwa | #7d4e00 | — |
| entity.name.type.interface.vishwa | #116329 | — |
| entity.name.type.enum.vishwa | #116329 | — |
| entity.name.type.parameter.vishwa | #0550ae | italic |
| entity.name.function.decorator.vishwa, meta.decorator.vishwa | #7d4e00 | italic |
| entity.name.label.vishwa | #0550ae | — |
| entity.name.function.macro.vishwa | #7d4e00 | bold |
| string.regexp.vishwa | #a40e26 | — |
| string.template.vishwa, punctuation.definition.template-expression.vishwa | #0a3069 | — |
| meta.embedded.line.vishwa, source.vishwa.embedded | #953800 | — |
| 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 | — |
| keyword.control.import.python, keyword.control.flow.python, storage.type.function.python | #cf222e | — |
| support.type.python, support.function.builtin.python | #0550ae | — |
| variable.parameter.function.language.python, meta.function-call.arguments.python | #953800 | — |
| constant.language.python | #0550ae | — |
| meta.function.decorator.python, entity.name.function.decorator.python | #7d4e00 | — |
| variable.other.readwrite.js, variable.other.readwrite.ts, variable.other.object.js, variable.other.object.ts | #1f2328 | — |
| entity.name.type.ts, entity.name.type.tsx, support.type.primitive.ts, support.type.primitive.tsx | #116329 | — |
| entity.name.type.interface.ts, entity.name.type.interface.tsx | #116329 | — |
| variable.other.constant.js, variable.other.constant.ts | #0550ae | — |
| meta.decorator.js, meta.decorator.ts | #7d4e00 | — |
| entity.name.tag.tsx, entity.name.tag.jsx | #116329 | — |
| support.class.component.tsx, support.class.component.jsx | #116329 | — |
| entity.other.attribute-name.tsx, entity.other.attribute-name.jsx | #0550ae | — |
| storage.type.java, storage.type.generic.java, storage.type.annotation.java | #116329 | — |
| keyword.other.import.java, keyword.other.package.java | #cf222e | — |
| entity.name.type.class.java, entity.name.type.interface.java | #116329 | — |
| meta.method.java, meta.method.identifier.java | #8250df | — |
| constant.other.enum.java | #0550ae | — |
| storage.type.built-in.primitive.c, storage.type.built-in.primitive.cpp, storage.modifier.c, storage.modifier.cpp | #cf222e | — |
| entity.name.type.class.cpp, entity.name.type.struct.cpp | #116329 | — |
| keyword.control.directive.c, keyword.control.directive.cpp | #8250df | — |
| entity.name.function.preprocessor.c, entity.name.function.preprocessor.cpp | #7d4e00 | — |
| storage.type.cs, keyword.type.cs | #116329 | — |
| entity.name.type.namespace.cs | #1f2328 | — |
| entity.name.type.class.cs, entity.name.type.interface.cs | #116329 | — |
| storage.modifier.cs | #cf222e | — |
| storage.type.go, entity.name.type.go | #116329 | — |
| keyword.function.go, keyword.var.go, keyword.const.go | #cf222e | — |
| entity.name.function.go | #8250df | — |
| entity.name.package.go | #1f2328 | — |
| storage.type.rust, entity.name.type.rust, storage.class.std.rust | #116329 | — |
| keyword.other.rust, storage.modifier.rust | #cf222e | — |
| entity.name.function.rust | #8250df | — |
| support.macro.rust | #7d4e00 | — |
| storage.type.lifetime.rust, entity.name.type.lifetime.rust | #0550ae | — |
| storage.type.php, keyword.other.type.php | #116329 | — |
| support.function.construct.php | #8250df | — |
| constant.language.php | #0550ae | — |
| variable.other.php | #953800 | — |
| keyword.control.class.ruby, keyword.control.module.ruby, keyword.control.def.ruby | #cf222e | — |
| entity.name.type.class.ruby, entity.name.type.module.ruby | #116329 | — |
| variable.other.constant.ruby | #0550ae | — |
| support.class.ruby | #116329 | — |
| punctuation.definition.variable.ruby | #953800 | — |
| storage.type.swift, support.type.swift | #116329 | — |
| keyword.other.declaration-specifier.swift | #cf222e | — |
| entity.name.function.swift | #8250df | — |
| support.function.swift | #0550ae | — |
| storage.type.kotlin, keyword.other.kotlin | #cf222e | — |
| entity.name.type.kotlin | #116329 | — |
| entity.name.function.kotlin | #8250df | — |
| storage.type.scala, keyword.declaration.scala | #cf222e | — |
| entity.name.class.scala, entity.name.type.scala | #116329 | — |
| storage.type.primitive.dart, support.class.dart | #116329 | — |
| entity.name.function.dart | #8250df | — |
| storage.modifier.dart | #cf222e | — |
| keyword.control.elixir, keyword.operator.other.elixir | #cf222e | — |
| entity.name.type.module.elixir | #116329 | — |
| variable.other.constant.elixir | #0550ae | — |
| storage.type.haskell, keyword.other.haskell | #cf222e | — |
| entity.name.function.haskell | #8250df | — |
| entity.name.type.haskell | #116329 | — |
| keyword.other.DML.sql, keyword.other.DDL.sql | #cf222e | — |
| constant.other.database-name.sql, constant.other.table-name.sql | #953800 | — |
| support.function.aggregate.sql | #8250df | — |
| support.function.builtin.shell, support.function.external.shell | #8250df | — |
| variable.other.normal.shell, variable.other.positional.shell | #953800 | — |
| string.quoted.double.shell, string.quoted.single.shell | #0a3069 | — |
| support.function.powershell, entity.name.function.powershell | #8250df | — |
| variable.other.readwrite.powershell | #953800 | — |
| keyword.other.special-method.dockerfile, keyword.operator.dockerfile | #cf222e | — |
| entity.name.function.package.dockerfile | #8250df | — |
| entity.name.tag.yaml | #0550ae | — |
| punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml | #7d4e00 | — |
| keyword.key.toml | #0550ae | — |
| entity.name.tag.toml | #116329 | — |
| keyword.operation.graphql, keyword.type.graphql | #cf222e | — |
| entity.name.type.graphql | #116329 | — |
| variable.parameter.graphql | #953800 | — |
| entity.name.type.terraform, storage.type.terraform | #116329 | — |
| variable.other.terraform | #953800 | — |
| keyword.control.lua, storage.type.function.lua | #cf222e | — |
| entity.name.function.lua | #8250df | — |
| keyword.control.r, storage.type.r | #cf222e | — |
| entity.name.function.r, support.function.r | #8250df | — |
| keyword.control.julia, storage.type.julia | #cf222e | — |
| entity.name.function.julia | #8250df | — |
| support.function.general.tex, keyword.control.preamble.tex | #8250df | — |
| variable.parameter.function.latex | #953800 | — |
| support.function.vim | #8250df | — |
| storage.type.vim | #cf222e | — |
| keyword.mnemonic.assembly, entity.name.function.assembly | #cf222e | — |
| constant.numeric.assembly | #116329 | — |
| support.type.property-name.css, support.type.property-name.scss, support.type.property-name.less | #0550ae | — |
| support.constant.property-value.css, support.constant.property-value.scss | #116329 | — |
| entity.name.tag.css, entity.name.tag.scss, entity.name.tag.less | #8250df | — |
| entity.other.attribute-name.class.css, entity.other.attribute-name.id.css | #116329 | — |
| keyword.control.at-rule.css, keyword.control.at-rule.scss | #cf222e | — |
| variable.scss, variable.css, variable.less | #953800 | — |
| support.function.misc.scss, support.function.misc.css | #8250df | — |
| support.type.property-name.json, support.type.property-name.json.comments | #0550ae | — |
| string.quoted.double.json, string.quoted.single.json | #116329 | — |
| constant.language.json | #0550ae | — |
| entity.name.tag.xml, entity.name.tag.html | #116329 | — |
| entity.other.attribute-name.xml, entity.other.attribute-name.html | #0550ae | — |
| meta.tag.preprocessor.xml, punctuation.definition.tag.xml | #57606a | — |
| keyword.other.definition.ini, entity.name.section.group-title.ini | #0550ae | — |
| meta.scope.message.git-commit, text.git-commit | #1f2328 | — |
| entity.name.tag.git-commit | #116329 | — |
| constant.language.git-commit | #0550ae | — |
| meta.scope.subject.git-commit | #0550ae | bold |
| invalid.deprecated.line-too-long.git-commit | #a40e26 | — |
| comment.line.number-sign.git-commit | #6e7781 | italic |
| meta.embedded.line.git-rebase, keyword.control.git-rebase | #8250df | — |
| markup.heading.1.markdown | #cf222e | bold |
| markup.heading.2.markdown | #953800 | bold |
| markup.heading.3.markdown | #7d4e00 | bold |
| markup.heading.4.markdown | #116329 | bold |
| markup.heading.5.markdown | #0550ae | bold |
| markup.heading.6.markdown | #8250df | bold |
| markup.inline.raw.markdown, markup.fenced_code.block.markdown | #116329 | — |
| fenced_code.block.language.markdown | #0550ae | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #0550ae | underline |
| string.other.link.title.markdown, string.other.link.description.markdown | #0550ae | — |
| markup.bold.markdown | #953800 | bold |
| markup.italic.markdown | #0550ae | italic |
| punctuation.definition.list.begin.markdown, markup.list.unnumbered.markdown, markup.list.numbered.markdown | #7d4e00 | — |
| markup.table.markdown, punctuation.definition.table.markdown | #8250df | — |
| markup.quote.markdown, punctuation.definition.quote.begin.markdown | #57606a | italic |
| string.regexp.character-class, constant.character.escape.backslash.regexp | #7d4e00 | — |
| keyword.operator.quantifier.regexp, keyword.operator.or.regexp | #cf222e | — |
| punctuation.definition.group.regexp | #8250df | — |
| constant.other.character-class.regexp | #116329 | — |
| keyword.control.perl, storage.type.perl | #cf222e | — |
| support.function.perl | #8250df | — |
| entity.name.function.clojure, entity.name.namespace.clojure | #8250df | — |
| keyword.control.clojure | #cf222e | — |
| keyword.other.fsharp, storage.type.fsharp | #cf222e | — |
| entity.name.type.fsharp | #116329 | — |
| keyword.control.erlang, storage.type.erlang | #cf222e | — |
| entity.name.function.erlang | #8250df | — |
| keyword.control.nim, storage.type.nim | #cf222e | — |
| entity.name.function.nim | #8250df | — |
| keyword.control.crystal, storage.type.crystal | #cf222e | — |
| entity.name.class.crystal | #116329 | — |
| keyword.control.zig, storage.type.zig | #cf222e | — |
| entity.name.function.zig | #8250df | — |
| keyword.control.v, storage.type.v | #cf222e | — |
| entity.name.function.v | #8250df | — |
| keyword.control.solidity, storage.type.solidity | #cf222e | — |
| entity.name.type.contract.solidity | #116329 | — |
| support.type.primitive.solidity | #0550ae | — |
| keyword.cobol, storage.type.cobol | #cf222e | — |
| keyword.control.fortran, storage.type.fortran | #cf222e | — |
| keyword.control.matlab, storage.type.matlab | #cf222e | — |
| support.function.matlab | #8250df | — |
| string.template.js, string.template.ts, string.template.jsx, string.template.tsx | #0a3069 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end | #8250df | — |
| storage.modifier.async.js, storage.modifier.async.ts, keyword.control.flow.js, keyword.control.flow.ts | #8250df | — |
| meta.object-binding-pattern-variable.js, meta.object-binding-pattern-variable.ts | #953800 | — |
| storage.type.function.arrow.js, storage.type.function.arrow.ts | #cf222e | — |
| keyword.control.import.js, keyword.control.import.ts, keyword.control.export.js, keyword.control.export.ts, keyword.control.from.js, keyword.control.from.ts | #cf222e | — |
| string.quoted.single.python.f-string, string.quoted.double.python.f-string | #0a3069 | — |
| meta.fstring.python | #8250df | — |
| meta.function.parameters.python, meta.function.return-type.python | #116329 | — |
| support.function.magic.python | #8250df | italic |
| entity.name.type.class.python | #116329 | bold |
| support.function.hook.react, entity.name.function.hook.react | #8250df | italic |
| support.class.component.jsx, support.class.component.tsx | #116329 | bold |
| punctuation.definition.block.tag.jsdoc, meta.jsx.children.tsx | #953800 | — |
| storage.modifier.lifetime.rust, entity.name.type.lifetime.rust | #7d4e00 | italic |
| entity.name.type.trait.rust, storage.type.trait.rust | #116329 | italic |
| keyword.other.unsafe.rust | #a40e26 | bold |
| meta.attribute.rust, punctuation.definition.attribute.rust | #7d4e00 | — |
| keyword.go.goroutine | #8250df | bold |
| keyword.operator.channel.go | #cf222e | — |
| keyword.defer.go | #8250df | — |
| storage.type.template.cpp, keyword.other.template.cpp | #8250df | — |
| entity.name.namespace.cpp, entity.name.scope-resolution.cpp | #953800 | — |
| support.type.smart-pointer.cpp | #116329 | — |
| keyword.control.wat, storage.type.wat | #cf222e | — |
| entity.name.function.wat | #8250df | — |
| keyword.control.svelte, entity.name.tag.svelte | #cf222e | — |
| entity.other.attribute-name.svelte | #0550ae | — |
| keyword.control.astro, entity.name.tag.astro | #8250df | — |
| keyword.control.prisma, storage.type.prisma | #cf222e | — |
| entity.name.type.model.prisma | #116329 | — |
| keyword.other.proto, storage.type.proto | #cf222e | — |
| entity.name.type.message.proto | #116329 | — |
| keyword.control.wgsl, storage.type.wgsl | #cf222e | — |
| keyword.other.nix, storage.type.nix | #cf222e | — |
| entity.name.function.nix | #8250df | — |
| keyword.other.dhall, storage.type.dhall | #cf222e | — |
| keyword.control.jsonnet, storage.type.jsonnet | #cf222e | — |
| support.function.nextjs, entity.name.function.nextjs | #8250df | — |
| support.function.nuxtjs, entity.name.function.nuxtjs | #116329 | — |
| keyword.control.django, entity.name.tag.django | #116329 | — |
| keyword.control.jinja, entity.name.tag.jinja | #cf222e | — |
| support.function.jest, support.function.vitest | #8250df | — |
| support.function.pytest | #0550ae | — |
| support.function.aggregate.mongodb, support.function.query.mongodb | #116329 | — |
| support.function.redis | #cf222e | — |
| keyword.directive.nginx, entity.name.directive.nginx | #116329 | — |
| keyword.directive.apache, entity.name.directive.apache | #cf222e | — |
| markup.inserted.diff | #116329 | — |
| markup.deleted.diff | #a40e26 | — |
| markup.changed.diff | #7d4e00 | — |
| meta.diff.header | #0550ae | bold |
| log.error, keyword.error.log | #a40e26 | bold |
| log.warning, keyword.warning.log | #7d4e00 | — |
| log.info, keyword.info.log | #0550ae | — |
| log.debug, keyword.debug.log | #57606a | — |
| log.date, constant.numeric.date.log | #8250df | — |
| punctuation.separator.key-value, punctuation.separator.dictionary | #cf222e | — |
| punctuation.definition.parameters, punctuation.definition.arguments | #57606a | — |
| constant.language.boolean, constant.language.null, constant.language.undefined | #0550ae | italic |
| constant.language.infinity, constant.language.nan | #cf222e | — |
| keyword.operator.logical, keyword.operator.comparison | #cf222e | bold |
| keyword.operator.assignment.compound | #8250df | — |
| keyword.operator.spread, keyword.operator.rest | #7d4e00 | — |
| meta.function-call.generic, meta.function-call.object, meta.method-call | #8250df | — |
| variable.other.readwrite.declaration, meta.definition.variable | #953800 | bold |
| meta.embedded.expression, punctuation.section.embedded | #8250df | — |
| entity.name.type.class, entity.name.class, support.class | #116329 | bold |
| entity.name.type.interface, entity.name.interface | #116329 | italic |
| entity.name.type.enum, entity.name.enum | #116329 | — |
| entity.name.type.module, entity.name.namespace | #953800 | — |
| support.type.primitive, support.type.builtin, keyword.type | #0550ae | italic |
| entity.name.type.parameter, meta.type.parameters | #7d4e00 | italic |
| variable.language.this, variable.language.self, variable.language.super | #cf222e | italic bold |
| variable.language.special, constant.language.symbol | #8250df | italic |
| storage.type.annotation, punctuation.definition.annotation | #7d4e00 | — |
| entity.name.label, keyword.control.goto | #0550ae | bold |
| constant.character.escape, constant.character.escape.backslash | #7d4e00 | bold |
| constant.other.placeholder, constant.other.format-spec | #8250df | — |
| constant.numeric.hex, constant.numeric.binary, constant.numeric.octal | #116329 | bold |
| constant.numeric.float, constant.numeric.decimal | #116329 | — |
| keyword.other.unit, constant.other.unit | #953800 | — |
| constant.other.color, constant.other.rgb-value | #116329 | — |
| string.other.link, markup.underline.link | #0550ae | underline |
| invalid.illegal, invalid.deprecated | #a40e26 | strikethrough |
| invalid.deprecated.warning | #7d4e00 | italic |
| comment.line.todo, comment.block.todo | #7d4e00 | bold |
| comment.line.fixme, comment.block.fixme | #cf222e | bold |
| comment.line.note, comment.block.note | #0550ae | bold |
| storage.type.class.jsdoc, entity.name.type.instance.jsdoc | #116329 | — |
| variable.other.jsdoc, variable.parameter.jsdoc | #953800 | — |
| keyword.other.alias.sql, keyword.other.order.sql | #8250df | — |
| constant.other.column-name.sql | #0550ae | — |
| entity.other.attribute-name.id, entity.other.attribute-name.class | #116329 | italic |
| entity.other.attribute-name.pseudo-class | #8250df | — |
| entity.other.attribute-name.parent-selector, entity.other.attribute-name.pseudo-element | #8250df | italic |
| keyword.control.at-rule.media, support.constant.media | #cf222e | bold |
| keyword.control.at-rule.keyframes, entity.name.function.keyframes | #8250df | — |
| markup.heading.setext | #cf222e | bold underline |
| markup.quote.markdown | #57606a | italic |
| markup.inline.raw.string.markdown | #116329 | — |
| entity.name.type.anchor.yaml | #7d4e00 | bold |
| variable.other.alias.yaml | #8250df | — |
| support.type.property-name.json.comments | #0550ae | italic |
| entity.name.section.package.json, support.type.property-name.package.json | #116329 | bold |
| constant.numeric.version, string.unquoted.version | #8250df | — |
| variable.other.env, variable.other.constant.env | #953800 | bold |
| variable.other.bracket.shell, variable.other.dollar.shell | #953800 | — |
| string.interpolated.backtick.shell, string.interpolated.dollar.shell | #8250df | — |
| support.type.utility.ts, support.type.utility.tsx | #0550ae | italic |
| keyword.operator.type.extends.ts, keyword.operator.type.infer.ts | #8250df | — |
| keyword.operator.type.keyof.ts, keyword.operator.type.typeof.ts | #cf222e | italic |
| punctuation.definition.block, punctuation.definition.brace, punctuation.definition.bracket | #424a53 | — |
| punctuation.separator.arrow, storage.type.function.arrow | #cf222e | bold |
| keyword.operator.ternary, punctuation.separator.ternary | #8250df | bold |
| keyword.operator.optional, punctuation.accessor.optional | #7d4e00 | bold |
| keyword.operator.type.assertion, meta.type.assertion | #8250df | — |
| punctuation.definition.typeparameters, meta.type.parameters | #7d4e00 | — |
| meta.object-literal.key, variable.object.property | #0550ae | — |
| meta.object-literal.computed-property, punctuation.definition.computed-property | #8250df | — |
| variable.parameter.rest, meta.parameter.rest | #953800 | italic |
| variable.parameter.default, meta.parameter.default | #953800 | — |
| keyword.control.default, keyword.control.as | #cf222e | italic |
| string.quoted.module, meta.import.module | #116329 | — |
| meta.field.declaration, variable.object.property.declaration | #0550ae | — |
| storage.modifier.static, keyword.other.static | #8250df | italic |
| storage.modifier.access, keyword.other.access | #cf222e | — |
| storage.type.property.get, storage.type.property.set | #8250df | italic |
| keyword.operator.unpacking.python, keyword.operator.unpacking.parameter.python | #7d4e00 | bold |
| keyword.control.comprehension.python, meta.comprehension.python | #8250df | — |
| keyword.control.with.python, keyword.control.as.python | #cf222e | bold |
| keyword.operator.borrow.rust, keyword.operator.dereference.rust | #7d4e00 | bold |
| keyword.operator.question.rust | #8250df | bold |
| keyword.other.where.rust, meta.where.rust | #cf222e | — |
| keyword.operator.address.go, keyword.operator.pointer.go | #7d4e00 | bold |
| keyword.control.range.go | #8250df | — |
| keyword.operator.cast.cpp, keyword.operator.sizeof.cpp | #cf222e | bold |
| storage.type.lambda.cpp, punctuation.definition.capture.cpp | #8250df | — |
| keyword.other.important.css, keyword.other.important.scss | #cf222e | bold |
| variable.css, variable.argument.css | #953800 | italic |
| support.function.calc.css, support.function.var.css | #8250df | bold |
| keyword.operation.graphql, keyword.type.graphql | #cf222e | bold |
| variable.graphql, meta.variable.graphql | #953800 | italic |
| meta.directive.graphql, entity.name.function.directive.graphql | #7d4e00 | — |
| keyword.other.create.sql, keyword.other.drop.sql | #cf222e | bold |
| keyword.other.join.sql, keyword.other.inner.sql, keyword.other.outer.sql | #8250df | bold |
| keyword.other.over.sql, keyword.other.partition.sql | #0550ae | — |
| markup.strikethrough.markdown, markup.deleted.markdown | #cf222e | strikethrough |
| markup.checkbox.markdown, punctuation.definition.checkbox.markdown | #116329 | bold |
| markup.footnote.markdown, entity.name.footnote.markdown | #8250df | — |
| keyword.control.flow.block-scalar.folded.yaml, keyword.control.flow.block-scalar.literal.yaml | #8250df | bold |
| entity.name.type.merge-key.yaml | #7d4e00 | bold |
| keyword.operator.flag.dockerfile, entity.name.function.package.dockerfile | #0550ae | — |
| variable.other.dockerfile, meta.variable.dockerfile | #953800 | bold |
| keyword.operator.quantifier.regexp, keyword.control.anchor.regexp | #cf222e | bold |
| punctuation.definition.group.assertion.regexp, meta.assertion.regexp | #8250df | bold |
| variable.other.regexp, entity.name.section.group.regexp | #7d4e00 | — |
| meta.scope.changed-files.git-commit, meta.scope.message.git-commit | #1f2328 | — |
| markup.conflict.marker, punctuation.definition.conflict.marker | #a40e26 | bold |
| keyword.operator.redirect.shell, keyword.operator.pipe.shell | #cf222e | bold |
| string.unquoted.heredoc.shell, keyword.operator.heredoc.shell | #116329 | — |
| comment.line.double-slash.json5, comment.block.json5 | #6e7781 | italic |
| punctuation.separator.comma.trailing.json5 | #7d4e00 | — |
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}!`;
}