iColors
Publisher: magnesiumThemes in package: 24
A VS Ccode theme with level color system
A VS Ccode theme with level color system
Full workbench mockup using this variant's colors and tokenColors.
Loading...
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| keyword.control.import.js, keyword.control.from.js, keyword.control.export.js, keyword.control.default.js, keyword.control.import.mjs, keyword.control.from.mjs, keyword.control.export.mjs, keyword.control.default.mjs, keyword.control.import.cjs, keyword.control.from.cjs, keyword.control.export.cjs, keyword.control.default.cjs, keyword.control.import.jsx, keyword.control.from.jsx, keyword.control.export.jsx, keyword.control.default.jsx, keyword.control.import.ts, keyword.control.from.ts, keyword.control.export.ts, keyword.control.default.ts, keyword.control.import.mts, keyword.control.from.mts, keyword.control.export.mts, keyword.control.default.mts, keyword.control.import.cts, keyword.control.from.cts, keyword.control.export.cts, keyword.control.default.cts, keyword.control.import.tsx, keyword.control.from.tsx, keyword.control.export.tsx, keyword.control.default.tsx | #ffffff | italic |
| meta.import.js, meta.import.mjs, meta.import.cjs, meta.import.jsx, meta.import.ts, meta.import.mts, meta.import.cts, meta.import.tsx | #faad14 | |
| variable.other.readwrite.alias, variable.other.object, meta.import.js, meta.import.mjs, meta.import.cjs, meta.import.jsx, meta.import.ts, meta.import.mts, meta.import.cts, meta.import.tsx | #ffd666 | |
| keyword.operator.expression.import, meta.import.js, meta.import.mjs, meta.import.cjs, meta.import.jsx, meta.import.ts, meta.import.mts, meta.import.cts, meta.import.tsx | #5cdbd3 | |
| keyword.control.type.js, keyword.control.type.mjs, keyword.control.type.cjs, keyword.control.type.jsx, keyword.control.type.ts, keyword.control.type.mts, keyword.control.type.cts, keyword.control.type.tsx | #36cfc9 | |
| storage.type.js, storage.type.mjs, storage.type.cjs, storage.type.jsx, storage.type.ts, storage.type.mts, storage.type.cts, storage.type.tsx | #ffffff | |
| storage.modifier.async.js, keyword.control.flow.js, storage.modifier.async.mjs, keyword.control.flow.mjs, storage.modifier.async.cjs, keyword.control.flow.cjs, storage.modifier.async.jsx, keyword.control.flow.jsx, storage.modifier.async.ts, keyword.control.flow.ts, storage.modifier.async.mts, keyword.control.flow.mts, storage.modifier.async.cts, keyword.control.flow.cts, storage.modifier.async.tsx, keyword.control.flow.tsx | #eb2f96 | |
| storage.type.function.js, storage.type.function.mjs, storage.type.function.cjs, storage.type.function.jsx, storage.type.function.ts, storage.type.function.mts, storage.type.function.cts, storage.type.function.tsx | #36cfc9 | bold |
| entity.name.function.js, entity.name.function.mjs, entity.name.function.cjs, entity.name.function.jsx, entity.name.function.ts, entity.name.function.mts, entity.name.function.cts, entity.name.function.tsx | #ffc53d | bold |
| variable.parameter.js, variable.parameter.mjs, variable.parameter.cjs, variable.parameter.jsx, variable.parameter.ts, variable.parameter.mts, variable.parameter.cts, variable.parameter.tsx | #f0f0f0 | |
| storage.type.function.arrow.js, storage.type.function.arrow.mjs, storage.type.function.arrow.cjs, storage.type.function.arrow.jsx, storage.type.function.arrow.ts, storage.type.function.arrow.mts, storage.type.function.arrow.cts, storage.type.function.arrow.tsx | #f759ab | |
| meta.function-call.js, meta.function-call.mjs, meta.function-call.cjs, meta.function-call.jsx, meta.function-call.ts, meta.function-call.mts, meta.function-call.cts, meta.function-call.tsx | #ffd666 | |
| comment.line.double-slash.js, comment.block.js, comment.block.documentation.js, comment.line.shebang.js, comment.line.double-slash.mjs, comment.block.mjs, comment.block.documentation.mjs, comment.line.shebang.mjs, comment.line.double-slash.cjs, comment.block.cjs, comment.block.documentation.cjs, comment.line.shebang.cjs, comment.line.double-slash.jsx, comment.block.jsx, comment.block.documentation.jsx, comment.line.shebang.jsx, comment.line.double-slash.ts, comment.block.ts, comment.block.documentation.ts, comment.line.shebang.ts, comment.line.double-slash.mts, comment.block.mts, comment.block.documentation.mts, comment.line.shebang.mts, comment.line.double-slash.cts, comment.block.cts, comment.block.documentation.cts, comment.line.shebang.cts, comment.line.double-slash.tsx, comment.block.tsx, comment.block.documentation.tsx, comment.line.shebang.tsx | #595959 | italic |
| string.template.js, string.template.mjs, string.template.cjs, string.template.jsx, string.template.ts, string.template.mts, string.template.cts, string.template.tsx | #262626 | |
| variable.other.constant.js, variable.other.constant.mjs, variable.other.constant.cjs, variable.other.constant.jsx, variable.other.constant.ts, variable.other.constant.mts, variable.other.constant.cts, variable.other.constant.tsx | #faad14 | bold |
| variable.other.constant.object.js, variable.other.constant.object.mjs, variable.other.constant.object.cjs, variable.other.constant.object.jsx, variable.other.constant.object.ts, variable.other.constant.object.mts, variable.other.constant.object.cts, variable.other.constant.object.tsx | #faad14 | |
| variable.other.readwrite.js, variable.other.readwrite.mjs, variable.other.readwrite.cjs, variable.other.readwrite.jsx, variable.other.readwrite.ts, variable.other.readwrite.mts, variable.other.readwrite.cts, variable.other.readwrite.tsx | #ffe58f | |
| support.variable.property.target.js, support.variable.property.target.mjs, support.variable.property.target.cjs, support.variable.property.target.jsx, support.variable.property.target.ts, support.variable.property.target.mts, support.variable.property.target.cts, support.variable.property.target.tsx | #ffc53d | |
| constant.numeric.decimal.js, constant.language.boolean.false.js, constant.language.boolean.true.js, constant.language.null.js, constant.language.undefined.js, constant.numeric.decimal.mjs, constant.language.boolean.false.mjs, constant.language.boolean.true.mjs, constant.language.null.mjs, constant.language.undefined.mjs, constant.numeric.decimal.cjs, constant.language.boolean.false.cjs, constant.language.boolean.true.cjs, constant.language.null.cjs, constant.language.undefined.cjs, constant.numeric.decimal.jsx, constant.language.boolean.false.jsx, constant.language.boolean.true.jsx, constant.language.null.jsx, constant.language.undefined.jsx, constant.numeric.decimal.ts, constant.language.boolean.false.ts, constant.language.boolean.true.ts, constant.language.null.ts, constant.language.undefined.ts, constant.numeric.decimal.mts, constant.language.boolean.false.mts, constant.language.boolean.true.mts, constant.language.null.mts, constant.language.undefined.mts, constant.numeric.decimal.cts, constant.language.boolean.false.cts, constant.language.boolean.true.cts, constant.language.null.cts, constant.language.undefined.cts, constant.numeric.decimal.tsx, constant.language.boolean.false.tsx, constant.language.boolean.true.tsx, constant.language.null.tsx, constant.language.undefined.tsx | #ffd666 | bold |
| variable.other.property.js, variable.other.property.mjs, variable.other.property.cjs, variable.other.property.jsx, variable.other.property.ts, variable.other.property.mts, variable.other.property.cts, variable.other.property.tsx | #ffc53d | bold |
| keyword.operator.assignment.js, keyword.operator.comparison.js, keyword.operator.logical.js, keyword.operator.arithmetic.js, keyword.operator.expression.typeof.js, keyword.operator.expression.instanceof.js, keyword.operator.increment.js, keyword.operator.decrement.js, keyword.operator.relational.js, keyword.operator.expression.delete.js, keyword.operator.new.js, keyword.operator.bitwise.js, keyword.operator.bitwise.shift.js, keyword.operator.spread.js, keyword.operator.ternary.js, keyword.operator.assignment.compound.js, keyword.operator.assignment.compound.bitwise.js, keyword.operator.expression.in.js, keyword.operator.expression.void.js, punctuation.accessor.optional.js, keyword.generator.asterisk.js, keyword.control.as.js, keyword.control.switch.js, keyword.operator.optional.js, keyword.control.trycatch.js, keyword.operator.expression.keyof.js, keyword.operator.expression.infer.js, keyword.control.new.js, keyword.operator.rest.js, keyword.operator.type.js, keyword.operator.assignment.mjs, keyword.operator.comparison.mjs, keyword.operator.logical.mjs, keyword.operator.arithmetic.mjs, keyword.operator.expression.typeof.mjs, keyword.operator.expression.instanceof.mjs, keyword.operator.increment.mjs, keyword.operator.decrement.mjs, keyword.operator.relational.mjs, keyword.operator.expression.delete.mjs, keyword.operator.new.mjs, keyword.operator.bitwise.mjs, keyword.operator.bitwise.shift.mjs, keyword.operator.spread.mjs, keyword.operator.ternary.mjs, keyword.operator.assignment.compound.mjs, keyword.operator.assignment.compound.bitwise.mjs, keyword.operator.expression.in.mjs, keyword.operator.expression.void.mjs, punctuation.accessor.optional.mjs, keyword.generator.asterisk.mjs, keyword.control.as.mjs, keyword.control.switch.mjs, keyword.operator.optional.mjs, keyword.control.trycatch.mjs, keyword.operator.expression.keyof.mjs, keyword.operator.expression.infer.mjs, keyword.control.new.mjs, keyword.operator.rest.mjs, keyword.operator.type.mjs, keyword.operator.assignment.cjs, keyword.operator.comparison.cjs, keyword.operator.logical.cjs, keyword.operator.arithmetic.cjs, keyword.operator.expression.typeof.cjs, keyword.operator.expression.instanceof.cjs, keyword.operator.increment.cjs, keyword.operator.decrement.cjs, keyword.operator.relational.cjs, keyword.operator.expression.delete.cjs, keyword.operator.new.cjs, keyword.operator.bitwise.cjs, keyword.operator.bitwise.shift.cjs, keyword.operator.spread.cjs, keyword.operator.ternary.cjs, keyword.operator.assignment.compound.cjs, keyword.operator.assignment.compound.bitwise.cjs, keyword.operator.expression.in.cjs, keyword.operator.expression.void.cjs, punctuation.accessor.optional.cjs, keyword.generator.asterisk.cjs, keyword.control.as.cjs, keyword.control.switch.cjs, keyword.operator.optional.cjs, keyword.control.trycatch.cjs, keyword.operator.expression.keyof.cjs, keyword.operator.expression.infer.cjs, keyword.control.new.cjs, keyword.operator.rest.cjs, keyword.operator.type.cjs, keyword.operator.assignment.jsx, keyword.operator.comparison.jsx, keyword.operator.logical.jsx, keyword.operator.arithmetic.jsx, keyword.operator.expression.typeof.jsx, keyword.operator.expression.instanceof.jsx, keyword.operator.increment.jsx, keyword.operator.decrement.jsx, keyword.operator.relational.jsx, keyword.operator.expression.delete.jsx, keyword.operator.new.jsx, keyword.operator.bitwise.jsx, keyword.operator.bitwise.shift.jsx, keyword.operator.spread.jsx, keyword.operator.ternary.jsx, keyword.operator.assignment.compound.jsx, keyword.operator.assignment.compound.bitwise.jsx, keyword.operator.expression.in.jsx, keyword.operator.expression.void.jsx, punctuation.accessor.optional.jsx, keyword.generator.asterisk.jsx, keyword.control.as.jsx, keyword.control.switch.jsx, keyword.operator.optional.jsx, keyword.control.trycatch.jsx, keyword.operator.expression.keyof.jsx, keyword.operator.expression.infer.jsx, keyword.control.new.jsx, keyword.operator.rest.jsx, keyword.operator.type.jsx, keyword.operator.assignment.ts, keyword.operator.comparison.ts, keyword.operator.logical.ts, keyword.operator.arithmetic.ts, keyword.operator.expression.typeof.ts, keyword.operator.expression.instanceof.ts, keyword.operator.increment.ts, keyword.operator.decrement.ts, keyword.operator.relational.ts, keyword.operator.expression.delete.ts, keyword.operator.new.ts, keyword.operator.bitwise.ts, keyword.operator.bitwise.shift.ts, keyword.operator.spread.ts, keyword.operator.ternary.ts, keyword.operator.assignment.compound.ts, keyword.operator.assignment.compound.bitwise.ts, keyword.operator.expression.in.ts, keyword.operator.expression.void.ts, punctuation.accessor.optional.ts, keyword.generator.asterisk.ts, keyword.control.as.ts, keyword.control.switch.ts, keyword.operator.optional.ts, keyword.control.trycatch.ts, keyword.operator.expression.keyof.ts, keyword.operator.expression.infer.ts, keyword.control.new.ts, keyword.operator.rest.ts, keyword.operator.type.ts, keyword.operator.assignment.mts, keyword.operator.comparison.mts, keyword.operator.logical.mts, keyword.operator.arithmetic.mts, keyword.operator.expression.typeof.mts, keyword.operator.expression.instanceof.mts, keyword.operator.increment.mts, keyword.operator.decrement.mts, keyword.operator.relational.mts, keyword.operator.expression.delete.mts, keyword.operator.new.mts, keyword.operator.bitwise.mts, keyword.operator.bitwise.shift.mts, keyword.operator.spread.mts, keyword.operator.ternary.mts, keyword.operator.assignment.compound.mts, keyword.operator.assignment.compound.bitwise.mts, keyword.operator.expression.in.mts, keyword.operator.expression.void.mts, punctuation.accessor.optional.mts, keyword.generator.asterisk.mts, keyword.control.as.mts, keyword.control.switch.mts, keyword.operator.optional.mts, keyword.control.trycatch.mts, keyword.operator.expression.keyof.mts, keyword.operator.expression.infer.mts, keyword.control.new.mts, keyword.operator.rest.mts, keyword.operator.type.mts, keyword.operator.assignment.cts, keyword.operator.comparison.cts, keyword.operator.logical.cts, keyword.operator.arithmetic.cts, keyword.operator.expression.typeof.cts, keyword.operator.expression.instanceof.cts, keyword.operator.increment.cts, keyword.operator.decrement.cts, keyword.operator.relational.cts, keyword.operator.expression.delete.cts, keyword.operator.new.cts, keyword.operator.bitwise.cts, keyword.operator.bitwise.shift.cts, keyword.operator.spread.cts, keyword.operator.ternary.cts, keyword.operator.assignment.compound.cts, keyword.operator.assignment.compound.bitwise.cts, keyword.operator.expression.in.cts, keyword.operator.expression.void.cts, punctuation.accessor.optional.cts, keyword.generator.asterisk.cts, keyword.control.as.cts, keyword.control.switch.cts, keyword.operator.optional.cts, keyword.control.trycatch.cts, keyword.operator.expression.keyof.cts, keyword.operator.expression.infer.cts, keyword.control.new.cts, keyword.operator.rest.cts, keyword.operator.type.cts, keyword.operator.assignment.tsx, keyword.operator.comparison.tsx, keyword.operator.logical.tsx, keyword.operator.arithmetic.tsx, keyword.operator.expression.typeof.tsx, keyword.operator.expression.instanceof.tsx, keyword.operator.increment.tsx, keyword.operator.decrement.tsx, keyword.operator.relational.tsx, keyword.operator.expression.delete.tsx, keyword.operator.new.tsx, keyword.operator.bitwise.tsx, keyword.operator.bitwise.shift.tsx, keyword.operator.spread.tsx, keyword.operator.ternary.tsx, keyword.operator.assignment.compound.tsx, keyword.operator.assignment.compound.bitwise.tsx, keyword.operator.expression.in.tsx, keyword.operator.expression.void.tsx, punctuation.accessor.optional.tsx, keyword.generator.asterisk.tsx, keyword.control.as.tsx, keyword.control.switch.tsx, keyword.operator.optional.tsx, keyword.control.trycatch.tsx, keyword.operator.expression.keyof.tsx, keyword.operator.expression.infer.tsx, keyword.control.new.tsx, keyword.operator.rest.tsx, keyword.operator.type.tsx | #eb2f96 | bold |
| keyword.control.conditional.js, keyword.control.conditional.mjs, keyword.control.conditional.cjs, keyword.control.conditional.jsx, keyword.control.conditional.ts, keyword.control.conditional.mts, keyword.control.conditional.cts, keyword.control.conditional.tsx | #eb2f96 | |
| meta.object-literal.key.js, meta.object-literal.key.mjs, meta.object-literal.key.cjs, meta.object-literal.key.jsx, meta.object-literal.key.ts, meta.object-literal.key.mts, meta.object-literal.key.cts, meta.object-literal.key.tsx | #e6fffb | |
| string.quoted.single.js, string.quoted.double.js, string.quoted.single.mjs, string.quoted.double.mjs, string.quoted.single.cjs, string.quoted.double.cjs, string.quoted.single.jsx, string.quoted.double.jsx, string.quoted.single.ts, string.quoted.double.ts, string.quoted.single.mts, string.quoted.double.mts, string.quoted.single.cts, string.quoted.double.cts, string.quoted.single.tsx, string.quoted.double.tsx | #f5f5f5 | |
| string.template.js, string.template.mjs, string.template.cjs, string.template.jsx, string.template.ts, string.template.mts, string.template.cts, string.template.tsx | #ffe58f | |
| punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js, punctuation.definition.template-expression.begin.mjs, punctuation.definition.template-expression.end.mjs, punctuation.definition.template-expression.begin.cjs, punctuation.definition.template-expression.end.cjs, punctuation.definition.template-expression.begin.jsx, punctuation.definition.template-expression.end.jsx, punctuation.definition.template-expression.begin.ts, punctuation.definition.template-expression.end.ts, punctuation.definition.template-expression.begin.mts, punctuation.definition.template-expression.end.mts, punctuation.definition.template-expression.begin.cts, punctuation.definition.template-expression.end.cts, punctuation.definition.template-expression.begin.tsx, punctuation.definition.template-expression.end.tsx | #13c2c2 | |
| keyword.control.loop.js, keyword.operator.expression.of.js, keyword.control.loop.mjs, keyword.operator.expression.of.mjs, keyword.control.loop.cjs, keyword.operator.expression.of.cjs, keyword.control.loop.jsx, keyword.operator.expression.of.jsx, keyword.control.loop.ts, keyword.operator.expression.of.ts, keyword.control.loop.mts, keyword.operator.expression.of.mts, keyword.control.loop.cts, keyword.operator.expression.of.cts, keyword.control.loop.tsx, keyword.operator.expression.of.tsx | #722ed1 | |
| entity.name.label.js, entity.name.label.mjs, entity.name.label.cjs, entity.name.label.jsx, entity.name.label.ts, entity.name.label.mts, entity.name.label.cts, entity.name.label.tsx | #13c2c2 | |
| constant.character.escape.js, constant.character.escape.mjs, constant.character.escape.cjs, constant.character.escape.jsx, constant.character.escape.ts, constant.character.escape.mts, constant.character.escape.cts, constant.character.escape.tsx | #faad14 | |
| storage.type.class.js, storage.type.class.mjs, storage.type.class.cjs, storage.type.class.jsx, storage.type.class.ts, storage.type.class.mts, storage.type.class.cts, storage.type.class.tsx | #ffd666 | bold |
| entity.name.type.class.js, entity.name.type.class.mjs, entity.name.type.class.cjs, entity.name.type.class.jsx, entity.name.type.class.ts, entity.name.type.class.mts, entity.name.type.class.cts, entity.name.type.class.tsx | #ffc53d | |
| variable.language.this.js, variable.language.this.mjs, variable.language.this.cjs, variable.language.this.jsx, variable.language.this.ts, variable.language.this.mts, variable.language.this.cts, variable.language.this.tsx | #36cfc9 | |
| variable.object.property.js, variable.object.property.mjs, variable.object.property.cjs, variable.object.property.jsx, variable.object.property.ts, variable.object.property.mts, variable.object.property.cts, variable.object.property.tsx | #f5f5f5 | bold |
| punctuation.definition.comment.js, punctuation.definition.comment.mjs, punctuation.definition.comment.cjs, punctuation.definition.comment.jsx, punctuation.definition.comment.ts, punctuation.definition.comment.mts, punctuation.definition.comment.cts, punctuation.definition.comment.tsx | #595959 | |
| punctuation.definition.string.template.begin.js, punctuation.definition.string.template.end.js, punctuation.definition.string.template.begin.mjs, punctuation.definition.string.template.end.mjs, punctuation.definition.string.template.begin.cjs, punctuation.definition.string.template.end.cjs, punctuation.definition.string.template.begin.jsx, punctuation.definition.string.template.end.jsx, punctuation.definition.string.template.begin.ts, punctuation.definition.string.template.end.ts, punctuation.definition.string.template.begin.mts, punctuation.definition.string.template.end.mts, punctuation.definition.string.template.begin.cts, punctuation.definition.string.template.end.cts, punctuation.definition.string.template.begin.tsx, punctuation.definition.string.template.end.tsx | #595959 | |
| punctuation.separator.comma.js, punctuation.terminator.statement.js, punctuation.separator.comma.mjs, punctuation.terminator.statement.mjs, punctuation.separator.comma.cjs, punctuation.terminator.statement.cjs, punctuation.separator.comma.jsx, punctuation.terminator.statement.jsx, punctuation.separator.comma.ts, punctuation.terminator.statement.ts, punctuation.separator.comma.mts, punctuation.terminator.statement.mts, punctuation.separator.comma.cts, punctuation.terminator.statement.cts, punctuation.separator.comma.tsx, punctuation.terminator.statement.tsx | #f5f5f5 | |
| punctuation.separator.key-value.js, keyword.operator.type.annotation.js, punctuation.separator.key-value.mjs, keyword.operator.type.annotation.mjs, punctuation.separator.key-value.cjs, keyword.operator.type.annotation.cjs, punctuation.separator.key-value.jsx, keyword.operator.type.annotation.jsx, punctuation.separator.key-value.ts, keyword.operator.type.annotation.ts, punctuation.separator.key-value.mts, keyword.operator.type.annotation.mts, punctuation.separator.key-value.cts, keyword.operator.type.annotation.cts, punctuation.separator.key-value.tsx, keyword.operator.type.annotation.tsx | #f5f5f5 | |
| storage.type.enum.js, storage.type.enum.mjs, storage.type.enum.cjs, storage.type.enum.jsx, storage.type.enum.ts, storage.type.enum.mts, storage.type.enum.cts, storage.type.enum.tsx | #ffd666 | |
| entity.name.type.enum.js, entity.name.type.enum.mjs, entity.name.type.enum.cjs, entity.name.type.enum.jsx, entity.name.type.enum.ts, entity.name.type.enum.mts, entity.name.type.enum.cts, entity.name.type.enum.tsx | #ffe58f | |
| entity.name.type.enum.js, entity.name.type.enum.mjs, entity.name.type.enum.cjs, entity.name.type.enum.jsx, entity.name.type.enum.ts, entity.name.type.enum.mts, entity.name.type.enum.cts, entity.name.type.enum.tsx | #ffd666 | |
| storage.type.interface.js, storage.type.interface.mjs, storage.type.interface.cjs, storage.type.interface.jsx, storage.type.interface.ts, storage.type.interface.mts, storage.type.interface.cts, storage.type.interface.tsx | #36cfc9 | |
| meta.interface.js, meta.interface.mjs, meta.interface.cjs, meta.interface.jsx, meta.interface.ts, meta.interface.mts, meta.interface.cts, meta.interface.tsx | #ffd666 | |
| entity.name.tag.jsx, entity.name.tag.tsx | #ffd666 | |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #ffc53d | |
| punctuation.definition.tag.begin.jsx, punctuation.definition.tag.end.jsx, punctuation.separator.key-value.jsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx, punctuation.separator.key-value.tsx | #ffe58f | |
| entity.name.tag.jsx, entity.name.tag.jsx, entity.name.tag.tsx, entity.name.tag.tsx | #ffc53d | bold |
| entity.other.attribute-name.jsx, entity.other.attribute-name.js.jsx, entity.other.attribute-name.tsx, entity.other.attribute-name.js.tsx | #13c2c2 | bold |
| meta.jsx.children.jsx, meta.jsx.children.tsx | #fafafa | |
| punctuation.definition.tag.begin.jsx, punctuation.definition.tag.end.jsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx | #8c8c8c | |
| support.type.primitive.js, entity.name.type.js, entity.name.type.alias.js, support.type.primitive.mjs, entity.name.type.mjs, entity.name.type.alias.mjs, support.type.primitive.cjs, entity.name.type.cjs, entity.name.type.alias.cjs, support.type.primitive.jsx, entity.name.type.jsx, entity.name.type.alias.jsx, support.type.primitive.ts, entity.name.type.ts, entity.name.type.alias.ts, support.type.primitive.mts, entity.name.type.mts, entity.name.type.alias.mts, support.type.primitive.cts, entity.name.type.cts, entity.name.type.alias.cts, support.type.primitive.tsx, entity.name.type.tsx, entity.name.type.alias.tsx | #36cfc9 | bold underline |
| support.type.builtin.js, support.type.builtin.mjs, support.type.builtin.cjs, support.type.builtin.jsx, support.type.builtin.ts, support.type.builtin.mts, support.type.builtin.cts, support.type.builtin.tsx | #ffd666 | bold underline |
| storage.type.type.js, storage.type.type.mjs, storage.type.type.cjs, storage.type.type.jsx, storage.type.type.ts, storage.type.type.mts, storage.type.type.cts, storage.type.type.tsx | #5cdbd3 | bold italic |
| storage.modifier.js, storage.modifier.mjs, storage.modifier.cjs, storage.modifier.jsx, storage.modifier.ts, storage.modifier.mts, storage.modifier.cts, storage.modifier.tsx | #006d75 | |
| entity.name.type.module.js, entity.name.type.module.mjs, entity.name.type.module.cjs, entity.name.type.module.jsx, entity.name.type.module.ts, entity.name.type.module.mts, entity.name.type.module.cts, entity.name.type.module.tsx | #fff1b8 | bold |
| storage.type.class.jsdoc | #08979c | bold |
| entity.name.type.instance.jsdoc | #13c2c2 | |
| variable.other.jsdoc | #faad14 | |
| punctuation.definition.string.begin.js, punctuation.definition.string.end.js, punctuation.definition.string.begin.mjs, punctuation.definition.string.end.mjs, punctuation.definition.string.begin.cjs, punctuation.definition.string.end.cjs, punctuation.definition.string.begin.jsx, punctuation.definition.string.end.jsx, punctuation.definition.string.begin.ts, punctuation.definition.string.end.ts, punctuation.definition.string.begin.mts, punctuation.definition.string.end.mts, punctuation.definition.string.begin.cts, punctuation.definition.string.end.cts, punctuation.definition.string.begin.tsx, punctuation.definition.string.end.tsx | #faad14 | |
| punctuation.definition.character-class | #08979c | bold |
| punctuation.definition.group.regexp, keyword.operator.or.regexp | #006d75 | bold |
| constant.other.character-class.set.regexp | #b5f5ec | bold |
| meta.group.regexp | #e6fffb | bold |
| keyword.control.anchor.regexp | #fffbe6 | bold |
| support.type.property-name.json.comments | #595959 | italic |
| support.type.property-name.json.comments | #faad14 | bold |
| string.quoted.double.json, string.quoted.single.json | #5cdbd3 | |
| constant.language.json, constant.numeric.json | #5cdbd3 | |
| entity.name.tag.css, entity.other.attribute-name.id.css, entity.other.attribute-name.class.css, entity.name.tag.less, entity.other.attribute-name.id.less, entity.other.attribute-name.class.less, entity.name.tag.scss, entity.other.attribute-name.id.scss, entity.other.attribute-name.class.scss, entity.name.tag.styl, entity.other.attribute-name.id.styl, entity.other.attribute-name.class.styl, entity.name.tag.wxss, entity.other.attribute-name.id.wxss, entity.other.attribute-name.class.wxss | #ffd666 | bold italic |
| support.type.property-name.css, support.type.property-name.less, support.type.property-name.scss, support.type.property-name.styl, support.type.property-name.wxss | #fffbe6 | |
| meta.property-value.css, support.constant.property-value.css, meta.embedded.block.css, meta.property-value.less, support.constant.property-value.less, meta.embedded.block.less, meta.property-value.scss, support.constant.property-value.scss, meta.embedded.block.scss, meta.property-value.styl, support.constant.property-value.styl, meta.embedded.block.styl, meta.property-value.wxss, support.constant.property-value.wxss, meta.embedded.block.wxss | #fff1b8 | |
| constant.numeric.css, constant.numeric.less, constant.numeric.scss, constant.numeric.styl, constant.numeric.wxss | #ffe58f | |
| support.function.misc.css, support.function.misc.less, support.function.misc.scss, support.function.misc.styl, support.function.misc.wxss | #ffe58f | |
| entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-class.less, entity.other.attribute-name.pseudo-class.scss, entity.other.attribute-name.pseudo-class.styl, entity.other.attribute-name.pseudo-class.wxss | #faad14 | |
| entity.other.attribute-name.pseudo-element.css, entity.other.attribute-name.pseudo-element.less, entity.other.attribute-name.pseudo-element.scss, entity.other.attribute-name.pseudo-element.styl, entity.other.attribute-name.pseudo-element.wxss | #ffc53d | |
| keyword.operator.pattern.css, keyword.operator.pattern.less, keyword.operator.pattern.scss, keyword.operator.pattern.styl, keyword.operator.pattern.wxss | #ffc53d | |
| punctuation.definition.entity.css, punctuation.definition.entity.less, punctuation.definition.entity.scss, punctuation.definition.entity.styl, punctuation.definition.entity.wxss | #faad14 | |
| keyword.operator.logical.css, keyword.operator.css, keyword.other.important.css, keyword.operator.combinator.css, keyword.operator.logical.less, keyword.operator.less, keyword.other.important.less, keyword.operator.combinator.less, keyword.operator.logical.scss, keyword.operator.scss, keyword.other.important.scss, keyword.operator.combinator.scss, keyword.operator.logical.styl, keyword.operator.styl, keyword.other.important.styl, keyword.operator.combinator.styl, keyword.operator.logical.wxss, keyword.operator.wxss, keyword.other.important.wxss, keyword.operator.combinator.wxss | #ad6800 | |
| comment.block.css, comment.line.double-slash.css, comment.block.less, comment.line.double-slash.less, comment.block.scss, comment.line.double-slash.scss, comment.block.styl, comment.line.double-slash.styl, comment.block.wxss, comment.line.double-slash.wxss | #595959 | |
| keyword.control.at-rule.css, keyword.control.at-rule.namespace.css, keyword.control.at-rule.import.css, keyword.control.at-rule.keyframes.css, keyword.control.at-rule.media.css, keyword.control.at-rule.page.css, keyword.control.at-rule.supports.css, keyword.control.at-rule.font-face.css, keyword.control.at-rule.font-feature-values.css, keyword.control.at-rule.layer.tailwind.css, keyword.control.at-rule.counter-style.css, meta.at-rule.header.css, keyword.control.at-rule.less, keyword.control.at-rule.namespace.less, keyword.control.at-rule.import.less, keyword.control.at-rule.keyframes.less, keyword.control.at-rule.media.less, keyword.control.at-rule.page.less, keyword.control.at-rule.supports.less, keyword.control.at-rule.font-face.less, keyword.control.at-rule.font-feature-values.less, keyword.control.at-rule.layer.tailwind.less, keyword.control.at-rule.counter-style.less, meta.at-rule.header.less, keyword.control.at-rule.scss, keyword.control.at-rule.namespace.scss, keyword.control.at-rule.import.scss, keyword.control.at-rule.keyframes.scss, keyword.control.at-rule.media.scss, keyword.control.at-rule.page.scss, keyword.control.at-rule.supports.scss, keyword.control.at-rule.font-face.scss, keyword.control.at-rule.font-feature-values.scss, keyword.control.at-rule.layer.tailwind.scss, keyword.control.at-rule.counter-style.scss, meta.at-rule.header.scss, keyword.control.at-rule.styl, keyword.control.at-rule.namespace.styl, keyword.control.at-rule.import.styl, keyword.control.at-rule.keyframes.styl, keyword.control.at-rule.media.styl, keyword.control.at-rule.page.styl, keyword.control.at-rule.supports.styl, keyword.control.at-rule.font-face.styl, keyword.control.at-rule.font-feature-values.styl, keyword.control.at-rule.layer.tailwind.styl, keyword.control.at-rule.counter-style.styl, meta.at-rule.header.styl, keyword.control.at-rule.wxss, keyword.control.at-rule.namespace.wxss, keyword.control.at-rule.import.wxss, keyword.control.at-rule.keyframes.wxss, keyword.control.at-rule.media.wxss, keyword.control.at-rule.page.wxss, keyword.control.at-rule.supports.wxss, keyword.control.at-rule.font-face.wxss, keyword.control.at-rule.font-feature-values.wxss, keyword.control.at-rule.layer.tailwind.wxss, keyword.control.at-rule.counter-style.wxss, meta.at-rule.header.wxss | #d48806 | bold |
| variable.parameter.keyframe-list.css, variable.parameter.keyframe-list.less, variable.parameter.keyframe-list.scss, variable.parameter.keyframe-list.styl, variable.parameter.keyframe-list.wxss | #ffc53d | |
| entity.other.keyframe-offset.percentage.css, entity.other.keyframe-offset.percentage.less, entity.other.keyframe-offset.percentage.scss, entity.other.keyframe-offset.percentage.styl, entity.other.keyframe-offset.percentage.wxss | #ad6800 | |
| support.type.vendored.property-name.css, support.type.vendored.property-name.less, support.type.vendored.property-name.scss, support.type.vendored.property-name.styl, support.type.vendored.property-name.wxss | #ffd666 | |
| string.quoted.single.css, string.quoted.double.css, string.quoted.single.less, string.quoted.double.less, string.quoted.single.scss, string.quoted.double.scss, string.quoted.single.styl, string.quoted.double.styl, string.quoted.single.wxss, string.quoted.double.wxss | #faad14 | |
| variable.css, variable.argument.css, variable.less, variable.argument.less, variable.scss, variable.argument.scss, variable.styl, variable.argument.styl, variable.wxss, variable.argument.wxss | #ffc53d | |
| source.css, source.less, source.scss, source.styl, source.wxss | #ffd666 | |
| punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.definition.tag.begin.xml, punctuation.definition.tag.end.xml, punctuation.definition.tag.begin.wxml, punctuation.definition.tag.end.wxml, punctuation.definition.tag.begin.htm, punctuation.definition.tag.end.htm | #595959 | |
| entity.name.tag.html, entity.name.tag.xml, entity.name.tag.wxml, entity.name.tag.htm | #d48806 | bold |
| entity.other.attribute-name.html, entity.other.attribute-name.xml, entity.other.attribute-name.wxml, entity.other.attribute-name.htm | #ffe58f | |
| string.quoted.double.html, string.quoted.single.html, string.quoted.double.xml, string.quoted.single.xml, string.quoted.double.wxml, string.quoted.single.wxml, string.quoted.double.htm, string.quoted.single.htm | #ffe58f | |
| punctuation.separator.key-value.html, punctuation.separator.key-value.xml, punctuation.separator.key-value.wxml, punctuation.separator.key-value.htm | #ff85c0 | |
| punctuation.definition.comment.html, comment.block.html, punctuation.definition.comment.xml, comment.block.xml, punctuation.definition.comment.wxml, comment.block.wxml, punctuation.definition.comment.htm, comment.block.htm | #595959 | italic |
| entity.other.attribute-name.html, entity.other.attribute-name.xml, entity.other.attribute-name.wxml, entity.other.attribute-name.htm | #ffd666 | |
| meta.attribute.class.html, meta.attribute.class.xml, meta.attribute.class.wxml, meta.attribute.class.htm | #ffe58f | |
| meta.attribute.id.html, meta.attribute.id.xml, meta.attribute.id.wxml, meta.attribute.id.htm | #ffe58f | bold |
| string.quoted.double.html, string.quoted.single.html, string.quoted.double.xml, string.quoted.single.xml, string.quoted.double.wxml, string.quoted.single.wxml, string.quoted.double.htm, string.quoted.single.htm | #ffe58f | |
| text.html.derivative | #ffffff | |
| punctuation.separator.key-value.html, punctuation.separator.key-value.xml, punctuation.separator.key-value.wxml, punctuation.separator.key-value.htm | #874d00 | |
| markup.heading.markdown | #874d00 | bold |
| heading.1.markdown | #ad6800 | bold |
| heading.2.markdown | #d48806 | bold |
| heading.3.markdown | #faad14 | bold |
| heading.4.markdown | #ffc53d | bold |
| heading.5.markdown | #ffd666 | bold |
| heading.6.markdown | #ffe58f | bold |
| punctuation.definition.comment.shell, comment.line.number-sign.shell | #bae637 | |
| markup.list.numbered.markdown, markup.list.unnumbered.markdown | #ff7a45 | bold |
| markup.bold, punctuation.definition.bold | #bae637 | |
| string.other.link.title.markdown, markup.underline.link.markdown | #95de64 | |
| punctuation.definition.link.title.begin.markdown, punctuation.definition.link.title.end.markdown, punctuation.definition.metadata.markdown, punctuation.definition.metadata.markdown | #595959 | bold |
| punctuation.definition.heading.markdown | #5cdbd3 | bold |
| punctuation.definition.markdown, fenced_code.block.language.markdown, punctuation.definition.raw.markdown, punctuation.definition.link.description.begin.markdown, punctuation.definition.link.description.end.markdown, punctuation.definition.metadata.markdown | #d48806 | bold |
| meta.paragraph.markdown | #f5f5f5 | |
| entity.name.tag.yaml, punctuation.separator.key-value.mappin.yaml | #ffc53d | |
| string.unquoted.plain.out.yaml | #ffc53d | |
| entity.other.document.begin.yaml, entity.other.document.end.yaml | #d48806 | bold |
| comment.line.number-sign.yaml, punctuation.definition.comment.yaml | #595959 | italic |
| keyword.local.lua | #d4380d | bold |
| storage.type.function.lua | #b37feb | bold |
| meta.function.lua | #faad14 | |
| support.function.lua | #40a9ff | |
| punctuation.definition.comment, comment.line.double-dash, comment.block | #595959 | |
| string.template.lua | #1890ff | |
| constant.language.lua | #73d13d | bold |
| keyword.operator.lua | #eb2f96 | |
| keyword.control.lua | #eb2f96 | |
| meta.object-literal.key.lua | #ffd591 | |
| string.quoted.single.lua, string.quoted.double.lua, string.quoted.other.multiline.lua | #b7eb8f | |
| keyword.control.loop.lua, keyword.operator.expression.of.lua | #b37feb | |
| constant.character.escape.lua | #13c2c2 | |
| string.regexp.lua | #b37feb | |
| punctuation.attribute-shorthand.bind.html.toml, keyword.control.conditional.toml | #ffd6e7 | bold |
| punctuation.attribute-shorthand.slot.html.toml, entity.other.attribute-name.html.toml | #fffb8f | bold |
| entity.name.tag.template.html.toml, entity.name.tag.script.html.toml, entity.name.tag.style.html.toml | #95de64 | bold |
| punctuation.attribute-shorthand.event.html.toml | #95de64 | bold |
| comment.line.number-sign.dockerfile.dockerfile | #595959 | bold italic |
| source.dockerfile.dockerfile | #faad14 | |
| keyword.other.special-method.dockerfile.dockerfile | #ffc53d | bold |
| string.quoted.single.dockerfile, string.quoted.double.dockerfile | #bfbfbf | bold italic |
| storage.type.rust | #faad14 | bold |
| variable.other.rust, keyword.operator.key-value.rust, punctuation.comma.rust | #ffffff | bold |
| storage.modifier.mut.rust | #006d75 | bold |
| variable.language.self.rust | #ad6800 | italic bold |
| string.quoted.double.rust, string.quoted.signle.rust, string.quoted.single.char.rust | #ffffff | italic |
| keyword.other.fn.rust | #ffc53d | |
| entity.name.function.rust | #fff1b8 | |
| comment.line.double-slash.rust, comment.block.rust, comment.line.documentation.rust, comment.line.shebang.rust | #595959 | |
| punctuation.definition.attribute.rust, meta.attribute.rust | #ffe58f | |
| keyword.use.rust, keyword.other.rust, meta.use.rust.rust | #ffc53d | bold |
| storage.type.rust, keyword.declaration.struct.rust | #36cfc9 | bold |
| constant.character.escape.backslash.rust, constant.character.escape.rust | #ffc53d | |
| keyword.operator.assignment.rust, keyword.operator.comparison.rust, keyword.operator.logical.rust, keyword.operator.arithmetic.rust, keyword.operator.expression.typeof.rust, keyword.operator.expression.instanceof.rust, keyword.operator.increment.rust, keyword.operator.decrement.rust, keyword.operator.relational.rust, keyword.operator.expression.delete.rust, keyword.operator.new.rust, keyword.operator.bitwise.rust, keyword.operator.bitwise.shift.rust, keyword.operator.spread.rust, keyword.operator.ternary.rust, keyword.operator.assignment.compound.rust, keyword.operator.assignment.compound.bitwise.rust, keyword.operator.expression.in.rust, keyword.operator.expression.void.rust, punctuation.accessor.optional.rust, keyword.generator.asterisk.rust, keyword.control.as.rust, keyword.control.switch.rust, keyword.operator.borrow.and.rust, keyword.operator.assignment.equal.rust, keyword.operator.arrow.skinny.rust, keyword.operator.math.rust, keyword.operator.question.rust, meta.interpolation.rust | #36cfc9 | bold |
| entity.name.type.rust | #ffc53d | bold |
| entity.name.function.macro.rust | #00474f | bold |
| punctuation.definition.lifetime.rust, entity.name.type.lifetime.rust | #faad14 | bold |
| keyword.control.rust | #13c2c2 | |
| punctuation.brackets.angle.rust | #595959 | |
| keyword.operator.arrow.fat.rust | #08979c | |
| punctuation.definition.comment.toml, comment.line.number-sign.toml | #595959 | italic |
| string.quoted.single.basic.line.toml, string.quoted.double.basic.line.toml | #fafafa | italic |
| support.type.property-name.table.toml | #ffc53d | bold |
| comment.line.number-sign.editorconfig.editorconfig | #595959 | |
| punctuation.definition.variable.shell, variable.other.special.shell, variable.other.positional.shell, variable.other.normal.shell | #9e1068 | |
| punctuation.definition.comment.shebang.shell, comment.line.number-sign.shebang.shell, keyword.operator.heredoc.shell, keyword.control.heredoc-token.shell, string.unquoted.heredoc.expanded.shell | #595959 | |
| string.quoted.double.shell, string.quoted.single.shell | #ffffff | italic |
| storage.modifier.shell | #faad14 | |
| punctuation.definition.string.begin.shell, punctuation.definition.string.end.shell, string.interpolated.backtick.shell | #ffc53d | |
| keyword.operator.assignment.shell, keyword.operator.comparison.shell, keyword.operator.logical.shell, keyword.operator.arithmetic.shell, keyword.operator.expression.typeof.shell, keyword.operator.expression.instanceof.shell, keyword.operator.increment.shell, keyword.operator.decrement.shell, keyword.operator.relational.shell, keyword.operator.expression.delete.shell, keyword.operator.new.shell, keyword.operator.bitwise.shell, keyword.operator.bitwise.shift.shell, keyword.operator.spread.shell, keyword.operator.ternary.shell, keyword.operator.assignment.compound.shell, keyword.operator.assignment.compound.bitwise.shell, keyword.operator.expression.in.shell, keyword.operator.expression.void.shell, punctuation.accessor.optional.shell, keyword.generator.asterisk.shell, keyword.control.as.shell, keyword.control.switch.shell, keyword.control.shell, meta.scope.if-block.shell | #9e1068 | bold italic |
| constant.character.escape.shell | #13c2c2 | |
| support.function.builtin.shell | #ffc53d | bold |
| comment.line.number-sign | #595959 | italic |
| punctuation.definition.tag.begin.svelte, punctuation.definition.tag.end.svelte | #595959 | |
| entity.name.tag.svelte | #d48806 | bold |
| entity.other.attribute-name.svelte | #ffe58f | |
| string.quoted.double.svelte, string.quoted.single.svelte | #ffe58f | |
| punctuation.separator.key-value.svelte | #ff85c0 | |
| punctuation.definition.comment.svelte, comment.block.svelte | #595959 | italic |
| entity.other.attribute-name.svelte | #ffd666 | |
| meta.attribute.class.svelte | #ffe58f | |
| meta.attribute.id.svelte | #ffe58f | bold |
| string.quoted.double.svelte, string.quoted.single.svelte | #ffe58f | |
| text.html.derivative | #ffffff | |
| punctuation.separator.key-value.svelte | #874d00 | |
| keyword.control.conditional.svelte | #5cdbd3 | |
| keyword.operator.assignment.svelte, keyword.operator.comparison.svelte, keyword.operator.logical.svelte, keyword.operator.arithmetic.svelte, keyword.operator.expression.typeof.svelte, keyword.operator.expression.instanceof.svelte, keyword.operator.increment.svelte, keyword.operator.decrement.svelte, keyword.operator.relational.svelte, keyword.operator.expression.delete.svelte, keyword.operator.new.svelte, keyword.operator.bitwise.svelte, keyword.operator.bitwise.shift.svelte, keyword.operator.spread.svelte, keyword.operator.ternary.svelte, keyword.operator.assignment.compound.svelte, keyword.operator.assignment.compound.bitwise.svelte, keyword.operator.expression.in.svelte, keyword.operator.expression.void.svelte, punctuation.accessor.optional.svelte, keyword.generator.asterisk.svelte, keyword.control.svelte, keyword.control.as.svelte, keyword.control.switch.svelte, keyword.operator.optional.svelte, keyword.control.trycatch.svelte | #36cfc9 | 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}!`;
}