Photonica
Publisher: Luke NiuThemes in package: 4
Photonica themes for VS code. Its soft colors will be helpful for you to get inspired.
Photonica themes for VS code. Its soft colors will be helpful for you to get inspired.
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 |
|---|---|---|
| #E6E6E6 | — | |
| comment | #8C8C8C | |
| none | #D7D7D7 | — |
| emphasis | — | italic |
| strong | — | bold |
| constant | #9696FF | — |
| constant.character, constant.other, constant.other.symbol | #9696FF | — |
| constant.language, constant.language.json | #AFE1F0 | — |
| constant.numeric.c, constant.numeric.cpp | #AFE1F0 | — |
| constant.numeric | #8CDCFF | — |
| ts.block.class.declaration.method.constant.numeric.decimal, constant.numeric.json | #AFE1AF | — |
| constant.regexp | #AFE1AF | — |
| constant.character.escape | #8CB4BE | — |
| variable | #D7D7D7 | — |
| variable.other | #AFE1F0 | — |
| variable.other.property, variable.other.object.property | #AFE1F0 | — |
| variable.language | #D28CFA | — |
| variable.parameter | #8CC8B4 | — |
| variable.parameter.function, text.html.basic | #8CC8B4 | — |
| string, string.quoted.double.include.c, string.quoted.other.lt-gt.include.c | #A0BE7D | — |
| string.regexp | #8CC8B4 | — |
| function, entity.name.function, entity.name.function.c, entity.name.function.cpp | #3CBEFF | — |
| meta.for | #E6E6E6 | — |
| meta.while | #E6E6E6 | — |
| meta.if | #E6E6E6 | — |
| meta.function | #B4DCF0 | — |
| meta.function-call | #9696FF | — |
| storage | #8CB4FF | — |
| storage.type | #E1A0FF | — |
| storage.modifier, storage.modifier.c, storage.modifier.cpp | #78EBD7 | — |
| entity.name.class, entity.name.type.class, meta.class | #DCDCDC | — |
| entity.other.inherited-class | #3CBEFF | — |
| entity.name.function, meta.require | #3CBEFF | — |
| entity.name.tag | #FFC800 | — |
| entity.other.attribute-name | #FFC800 | — |
| entity.other.attribute-name.id | #7DBEA0 | — |
| entity.name.section, entity.name.section.latex | #C8FAFF | — |
| support.function, support.function.any-method | #5AE6AA | — |
| support.function.console.js | #B49BFF | — |
| support.function.construct | #64DCDC | — |
| support.class | #9696FF | — |
| support.class.builtin | #9696FF | — |
| support.class.math, support.class.math.block.environment.latex, support.class.math.block.tex, meta.function.environment.math.latex | #8CDCFF | — |
| support.class.console.js | #E1A0FF | — |
| support.constant | #E1A0FF | — |
| support.type.property-name.media | #A0C8FF | — |
| support.type | #E1A0FF | — |
| support.type.exception | #FFC800 | — |
| invalid.deprecated | #787878 | — |
| invalid.illegal | #F0788C | — |
| markup.bold | — | bold |
| markup.italic | — | italic |
| markup.changed | #3CBEFF | — |
| markup.deleted | #A0A0A0 | — |
| markup.inserted | #8CBE82 | — |
| markup.quote | #D28CFA | — |
| markup.list | #D7D7D7 | — |
| markup.heading punctuation.definition.heading | #F0DCFF | |
| string.other.link | #D2646E | — |
| meta.link, meta.paragraph.inline.link.underline.detected-link | #64A0DC | — |
| markup.raw.inline | #8CC8A0 | — |
| meta.block, meta.block.c, meta.block.cpp | #D7D7D7 | — |
| meta.preprocessor | #8CDCFF | — |
| meta.preprocessor.at-rule keyword.control.at-rule, meta.at-rule.import, keyword.control.at-rule | #3CBEFF | — |
| source.c meta.preprocessor.include, source.c string.quoted.other.lt-gt.include, source.cpp meta.preprocessor.include, source.cpp string.quoted.other.lt-gt.include | #B4DCF0 | — |
| meta.separator | #D7D7D7 | — |
| meta.selector, entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector-suffix.scss | #C8F064 | — |
| meta.at-rule.keyframes.scss entity.other.attribute-name.scss | #B4DCF0 | — |
| source.java meta.tag.template.value.javadoc | #AFDC9B | — |
| punctuation | #B4DCF0 | — |
| punctuation.definition | #B4DCF0 | — |
| punctuation.definition.directive | #9696FF | — |
| punctuation.definition.parameters | #D7D7D7 | — |
| punctuation.definition.method-parameters | #AFE1AF | — |
| punctuation.definition.function-parameters | #B4DCF0 | — |
| punctuation.section | #D7D7D7 | — |
| punctuation.definition.tag | #D7D7D7 | — |
| punctuation.definition.comment, punctuation.end.definition.comment, punctuation.start.definition.comment | #8C8C8C | — |
| punctuation.separator | #D7D7D7 | — |
| punctuation.separator.pointer-access, punctuation.separator.pointer-access.c, punctuation.separator.pointer-access.cpp | #A0C8FF | — |
| punctuation.section.function | #B4DCF0 | — |
| punctuation.support.type.property-name, support.type.property-name.json | #F0C850 | — |
| support.constant.mathematical-symbols | #D7D7D7 | — |
| punctuation.decorator.objectliteral.object.member.accessor | #D7D7D7 | — |
| block.brace.array.literal.square, block.brace.round, block.punctuation | #D7D7D7 | — |
| brace.array.literal.square, brace.type.square | #D7D7D7 | — |
| meta.brace, meta.brace.round, meta.brace.square | #D7D7D7 | — |
| punctuation.section.embedded, variable.interpolation | #D7D7D7 | — |
| punctuation.section.embedded.begin, punctuation.section.embedded.end | #D7D7D7 | — |
| punctuation.terminator | #B4DCF0 | — |
| punctuation.definition.variable, punctuation.definition.variable.php, variable.other.php | #8CBEBE | — |
| source.java punctuation.definition.keyword.javadoc | #8CB4FF | — |
| source.java punctuation.definition.tag.begin.javadoc, source.java punctuation.definition.tag.end.javadoc | #A0C88C | — |
| token.debug-token | #D28CFA | — |
| token.error-token | #FF5064 | — |
| token.warn-token | #A0C88C | — |
| token.info-token | #AF8CF0 | — |
| constant.language.boolean, constant.language.boolean.true.js, constant.language.boolean.false.js, constant.language.null.js | #D28CFA | — |
| keyword | #FF9600 | — |
| keyword.other | #3CBEFF | — |
| keyword.other.namespace | #5EE6AA | — |
| keyword.other.use | #FF9600 | — |
| keyword.other.new | #3CBEFF | — |
| keyword.control.import.python, keyword.control.directive.include.c, keyword.control.directive.define.c, source.c keyword.control.directive.conditional, source.cpp keyword.control.directive.conditional | #FF9600 | — |
| keyword.control.flow, keyword.control.flow.python | #C8F064 | — |
| keyword.other.special-method | #8CB4FF | — |
| keyword.operator | #78D2FF | — |
| keyword.operator.symbols | #78D2FF | — |
| keyword.operator.comparison, keyword.operator.logical | #B4DCF5 | — |
| keyword.storage.modifier | #D28CFA | — |
| keyword.control.at-rule.import, keyword.control.at-rule.import punctuation.definition | #A0C8FF | — |
| keyword.control.at-rule.media, keyword.control.at-rule.media punctuation.definition | #FF9600 | — |
| keyword.control.at-rule.mixin.scss, keyword.control.at-rule.mixin.scss punctuation.definition | #FF9600 | — |
| keyword.control.at-rule.include, keyword.control.at-rule.include punctuation.definition | #B4DCF0 | — |
| keyword.control.at-rule.font-face, keyword.control.at-rule.font-face punctuation.definition | #AFDC9B | — |
| keyword.control.at-rule.keyframes.scss, keyword.control.at-rule.keyframes.scss punctuation.definition | #A078C8 | — |
| keyword.control.content.scss, keyword.control.content.scss punctuation.definition | #AFE1AF | — |
| storage.type.class | #FFC800 | — |
| storage.type.struct.cpp | #FFC800 | — |
| storage.type.template | #C8F064 | — |
| meta.at-rule.constant.numeric.media, meta.property-list.property-value.constant.numeric, scss.meta.property-list.at-rule.media, property-list.scss.constant.numeric.variable.set, meta.scss.set.variable.constant.numeric.map, scss.meta.set.variable.constant.numeric, scss.meta.at-rule.property-list.constant.numeric.media, constant.numeric.css, constant.numeric.scss, constant.numeric.sass | #AFE1AF | — |
| source.css punctuation.definition.keyword | #8CB4FF | — |
| source.css constant.other.color.rgb-value, support.constant.named-color, meta.property-value constant, constant.other.color.rgb-value, constant.other.rgb-value.css, constant.other.color, constant.numeric.color.hex-value.scss, constant.numeric.color.hex-value.scss punctuation.definition.constant.scss | #AFDC9B | — |
| variable.css, variable.sass, variable.scss | #A0C8FF | — |
| constant.character.escape.css, string.quoted.single.css | #A0BE7D | — |
| string.quoted.double.attribute-value.scss | #A0BE7D | — |
| scss.meta.at-rule.import.string.quoted.single | #A0C8FF | — |
| entity.property-list.other.attribute-name.pseudo-element.css, entity.property-list.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css | #D28CFA | — |
| entity.name.tag.scss, entity.name.tag.css | #C8F064 | — |
| entity.name.tag.reference.scss | #AFE1AF | — |
| entity.other.attribute-name.attribute.scss | #D2646E | — |
| source.css support.type.property-name, support.type.property-name.css, support.type.property-name.scss, support.type.property-name.sass, meta.property-list.css meta.property-name.css, meta.property-list.scss meta.property-name.scss, entity.name.tag.custom.scss, meta.property-list.scss meta.property-name.sass, entity.name.tag.custom.sass | #9696FF | — |
| meta.property-group support.constant.property-value.css, meta.property-list.css meta.property-value.css, meta.property-value support.constant.property-value.css, meta.property-group support.constant.property-value.scss, meta.property-group support.constant.property-value.sass, meta.property-value support.constant.property-value.scss, meta.property-value support.constant.property-value.sass, variable.parameter.misc.css, parameter.less.data-uri comment markup.raw, source.less meta.property-value.css, scss.meta.set.variable.constant.support.font-name, meta.property-value.scss | #8CC8B4 | — |
| source.css meta.property-value | #A0C8FF | — |
| meta.constructor.argument.css, meta.constructor.argument.sass | #D28CFA | — |
| meta.at-rule.r.seturncss, meta.at-rule.return.scss punctuation.definition, meta.at-rule.else.scss, meta.at-rule.else.scss punctuation.definition,meta.at-rule.if.scss, meta.at-rule.if.scss punctuation.definition, | #FF7814 | — |
| entity.scss.meta.property-list.punctuation.other.attribute-name.class.css.definition, entity.punctuation.other.attribute-name.class.css.definition, punctuation.definition.entity.css, meta.selector.css | #A0C8FF | — |
| keyword.other.important, token.literal.sass, meta.at-rule.keyword.other.unit.media, meta.scss.keyword.other.unit.property-list.property-value, property-list.scss.set.variable.keyword.unit, other.meta.scss.set.variable.keyword.unit.map, scss.meta.set.variable.keyword.other.unit, scss.meta.at-rule.keyword.property-list.other.unit.media | #A0C8FF | |
| keyword.other.unit, keyword.other.unit.scss, keyword.other.unit.css, keyword.other.unit.scss | #AFE1AF | |
| source.css keyword.control.at-rule.media, source.css keyword.control.at-rule.media punctuation.definition.keyword | #FF9600 | — |
| support.function.misc.scss, keyword.control.at-rule.function.scss, keyword.control.at-rule.function.scss punctuation.definition, entity.name.function.scss | #FFC800 | — |
| source.css.scss punctuation.definition.interpolation.begin.bracket.curly, source.css.scss punctuation.definition.interpolation.end.bracket.curly, punctuation.definition.interpolation.begin.bracket.curly.scss, punctuation.definition.interpolation.end.bracket.curly.scss | #D7D7D7 | — |
| source.css.scss variable.interpolation | #A0C8FF | |
| constant.character.escape.scss, string.quoted.single.scss, scss.meta.set.variable.string.quoted.single | #A0BE7D | — |
| source.sass entity.other.attribute-name.placeholder.sass, source.sass entity.other.attribute-name.placeholder.sass punctuation.definition.entity.sass, source.scss entity.other.attribute-name.placeholder.scss, source.scss entity.other.attribute-name.placeholder.scss punctuation.definition.entity.scss, entity.other.attribute-name.placeholder.scss | #A0C8FF | — |
| entity.other.attribute-name.css | #3CBEFF | — |
| support.function.be.latex, support.function.any-method | #5AE6AA | — |
| support.class.latex | #8CDCFF | — |
| meta.function.environment.frame.latex, text.tex.latex | #D7D7D7 | — |
| constant.character.math.tex | #E1A0FF | — |
| support.class.math.latex | #E1A0FF | — |
| support.function.general.tex | #D28CFA | — |
| support.function.be.latex | #3CBEFF | — |
| support.function.textit.latex | #5AE6AA | — |
| variable.parameter.function.latex | #78EBD7 | — |
| keyword.control.table.cell.latex, keyword.control.table.newline.latex | #8CB4FF | — |
| keyword.control.newline.tex | #8CB4FF | — |
| support.function.section.latex | #9696FF | — |
| keyword.other.item.latex | #DC96BE | — |
| constant.other.general.math.tex | #9696FF | — |
| meta.paragraph.markdown | #D7D7D7 | — |
| text.html.markdown markup.fenced_code.block, text.html.markdown markup.fenced_code.block punctuation.definition | #78A0E6 | — |
| markup.heading | #8CDCFF | — |
| text.html.markdown markup.inline.raw, text.html.markdown markup.inline.raw punctuation.definition.raw | #A0C88C | — |
| text.html.markdown markup.italic | — | italic |
| text.html.markdown beginning.punctuation.definition.list | #AFE1AF | — |
| text.html.markdown beginning.punctuation.definition.quote | #D28CFA | — |
| text.html.markdown markup.quote | #D28CFA | — |
| text.html.markdown punctuation.definition.heading | #6496C8 | — |
| text.html.markdown punctuation.definition.constant, text.html.markdown punctuation.definition.string | #6496C8 | — |
| text.html.markdown constant.other.reference.link, text.html.markdown string.other.link.description, text.html.markdown string.other.link.title | #D2646E | — |
| keyword.control.equation.align.latex | #D2646E | — |
| variable.other.c, variable.other.cpp | #D7D7D7 | — |
| storage.type.c, storage.type.cpp | #FFC800 | — |
| meta.using-namespace-declaration.c, meta.using-namespace-declaration.cpp | #8CDCFF | — |
| keyword.operator.c, keyword.operator.cpp | #B4DCF0 | — |
| source.c punctuation.definition.directive, source.c keyword.control.directive.conditional, source.cpp punctuation.definition.directive, source.cpp keyword.control.directive.conditional | #FF9600 | — |
| keyword.other.operator.overload, keyword.other.operator.overload.c, keyword.other.operator.overload.cpp | #3CBEFF | — |
| source.go constant.other.placeholder.go | #D28CFA | — |
| keyword.struct, keyword.struct.go | #FFC800 | — |
| keyword.type, keyword.type.go | #FFC800 | — |
| keyword.function.go | #FFC800 | — |
| storage.type.string | #8CC8B4 | — |
| keyword.control, keyword.control.go | #FFC800 | — |
| storage.type.error, storage.type.error.go | #D2646E | — |
| keyword.other.package | #FF7814 | — |
| keyword.other.import | #FFC800 | — |
| source.java comment.block.documentation.javadoc punctuation.definition.entity.html | #82A0C8 | — |
| source.java constant.other | #AFDC9B | — |
| storage.modifier.java | #E1A0FF | — |
| source.java meta.method-call meta.method | #87C8E1 | — |
| source.java meta.tag.template.link.javadoc, source.java string.other.link.title.javadoc | #D28CFA | — |
| source.java keyword.other.documentation | #AFDC9B | — |
| source.java keyword.other.documentation.author.javadoc | #AFDC9B | — |
| source.java keyword.other.documentation.directive, source.java keyword.other.documentation.custom | #FF7814 | — |
| source.java keyword.other.documentation.see.javadoc | #FF7814 | — |
| source.java storage.modifier.import | #96BEBE | — |
| source.java storage.modifier.package | #96BEBE | — |
| source.java storage.type | #96BEBE | — |
| source.java storage.type.annotation | #5AE6AA | — |
| source.java storage.type.generic | #FFC800 | — |
| source.java storage.type.primitive | #5AE6AA | — |
| source.diff meta.diff.range.context | #8CC8B4 | — |
| source.diff meta.diff.header.from-file | #B4DCF0 | — |
| source.diff punctuation.definition.from-file | #8CC8B4 | — |
| source.diff punctuation.definition.range | #8CC8B4 | — |
| source.diff punctuation.definition.separator | #8CB4FF | — |
| source.python meta.function-call, source.python meta.function-call.generic | #3CBEFF | — |
| storage.type.function.python, storage.type.function.php | #FFC800 | — |
| storage.type.format.python | #8CB4FF | — |
| entity.name.function.python | #3CBEFF | — |
| support.function.magic.python | #A0C8FF | — |
| source.python variable.language.special.self.python | #D28CFA | — |
| source.python entity.name.function.decorator, source.python meta.function.decorator support.type | #D2646E | — |
| source.python support.type | #D28CFA | — |
| source.python variable.parameter.function.language | #78B4FF | — |
| source.python meta.function.parameters variable.parameter.function.language.special.self | #E1A0FF | — |
| meta.function-call.arguments.python | #78B4FF | — |
| support.type.exception.python | #FFC800 | — |
| meta.item-access.arguments.python | #A0C8FF | — |
| constant.character.format.placeholder.other.python | #A0C8FF | — |
| constant.numeric.dec.python | #AFE1F0 | — |
| keyword.control.regexp, keyword.control.anchor.regexp | #3CBEFF | — |
| keyword.other.python | #FFC800 | — |
| keyword.control.import.from.python | #FFC800 | — |
| keyword.control.import.julia, keyword.control.using.julia | #FF9600 | — |
| constant.numeric.julia | #DCAAD2 | — |
| keyword.other.julia | #FFC800 | — |
| keyword.control.julia, keyword.control.end.julia | #C8F064 | — |
| support.function.julia | #3CBEFF | — |
| support.function.macro.julia | #5AE6AA | — |
| entity.name.function.julia | #D28CFA | — |
| variable.interpolation.julia | #A0C8FF | — |
| keyword.storage.modifier.julia | #D28CFA | — |
| source.js punctuation.decorator, source.js meta.decorator variable.other.readwrite, source.js meta.decorator entity.name.function | #D2646E | — |
| meta.js.function.punctuation.definition.block.comment.line.double-slash, js.function.punctuation.definition.block.object.objectliteral.member.comment.line.double-slash | #8C8C8C | |
| source.js meta.object-literal.key | #D28CFA | — |
| meta.object-literal.key, meta.object.member.object-literal.key, meta.object-literal.key.js entity.name.function.js | #D28CFA | — |
| source.js storage.type.class.jsdoc | #FFC800 | — |
| source.js string.quoted.template punctuation.quasi.element.begin, source.js string.quoted.template punctuation.quasi.element.end, source.js string.template punctuation.definition.template-expression, source.js string.template punctuation.definition.template-expression | #8CB4FF | — |
| source.js string.quoted.template meta.method-call.with-arguments | #D2B4FF | — |
| source.js string.template meta.template.expression support.variable.property, source.js string.template meta.template.expression variable.other.object | #A0C8FF | — |
| source.js support.type.primitive | #8CB4FF | — |
| source.js meta.var.expr variable.other.object | #8CC8B4 | — |
| source.js variable.other.readwrite.alias | #8CC8B4 | — |
| comment.block.documentation.js, comment.block.documentation.js punctuation.definition.comment.js | #8C8C8C | — |
| keyword.operator.expression.typeof.js | #C8F064 | — |
| variable.other.readwrite.js | #C8C8C8 | — |
| variable.parameter.js | #78B4FF | — |
| function.storage.type.block.js | #C8F064 | — |
| support.function.dom.js | #8CC8B4 | — |
| storage.type.function.js | #FFC800 | — |
| source.ts punctuation.decorator, source.ts meta.decorator variable.other.readwrite, source.ts meta.decorator entity.name.function | #D2646E | — |
| punctuation.decorator.ts | #D28CFA | — |
| ts.block.class.method.declaration.comment.line.double-slash, ts.class.comment.line.double-slash, ts.punctuation.definition.decorator.objectliteral.object.member.array.literal.comment.line.double-slash | #8C8C8C | |
| keyword.control.export.ts, keyword.control.flow.ts | #FF9600 | — |
| storage.type.function.arrow.ts | #9696FF | — |
| storage.type.ts | #3CBEFF | — |
| entity.name.function.ts | #D28CFA | — |
| punctuation.accessor.ts | #B4DCF0 | — |
| entity.name.type.ts, source.ts entity.name.type | #9696FF | — |
| storage.modifier.ts | #E1A0FF | — |
| support.function.math.ts | #8CDCFF | — |
| source.ts meta.object-literal.key | #D28CFA | — |
| source.ts meta.object-literal.key entity.name.function | #D28CFA | — |
| source.ts support.class, source.ts entity.name.class | #FFC800 | — |
| source.ts support.type | #D28CFA | — |
| block.variable.class.declaration.method.parameter.arrow, block.variable.other.class.declaration.property.method.ts, block.variable.other.object.class.declaration.method.ts, block.variable.other.object.class.declaration.property.method.ts, block.variable.other.object.array.literal.class.declaration.method.var.expr.ts, block.variable.other.object.array.literal.class.declaration.method.var.expr.tsblock.variable.class.declaration.method.parameter.arrow.ts, ts.block.variable.other.class.declaration.property.method.ts | #D7D7D7 | — |
| ts.keyword.control.block.class.method.declaration.flow | #C8F064 | — |
| source.ts support.constant.math, source.ts support.constant.dom, source.ts support.constant.json | #8CC8B4 | — |
| source.ts support.variable | #A0C8FF | — |
| meta.type.annotation.ts | #6496C8 | — |
| ts.class.storage.modifier.declaration.method.parameters | #C8F064 | — |
| ts.block.string.quoted.single, ts.string.quoted.single.class.field.declaration | #A0C88C | — |
| ts.block.variable.class.declaration.method.parameter.arrow | #C8D7DC | — |
| ts.block.objectliteral.object.member.class.declaration.method.language.constant.boolean | #D28CFA | — |
| support.type.class.declaration.method.return.primitive.ts, type.annotation.support.class.declaration.method.parameters.primitive.ts | #87C8E1 | — |
| ts.entity.name.class.type.method.declaration.parameters.return, ts.punctuation.definition.begin.class.type.method.declaration.parameters.return.typeparameters, ts.punctuation.definition.end.class.type.method.declaration.parameters.return.typeparameters, ts.block.entity.name.class.type.method.declaration.parameters.new.expr, ts.block.punctuation.definition.begin.class.type.method.declaration.parameters.typeparameters.new.expr, ts.block.punctuation.definition.end.class.type.method.declaration.parameters.typeparameters.new.expr, ts.block.objectliteral.object.member.object-literal.key.class.declaration.method | #87C8E1 | — |
| variable.language.this.ts | #E1A0FF | — |
| text.html.basic constant.character.entity.html | #D2B4FF | — |
| punctuation.definition.entity.html | #AFDC9B | — |
| comment.block.html | #8C8C8C | |
| text.html.basic | #3CBEFF | — |
| text.html.basic constant.other.inline-data | #9696FF | |
| text.html.basic meta.tag.sgml.doctype | #6496C8 | — |
| text.html.basic punctuation.definition.entity | #82A0C8 | — |
| keyword.control.html.elements, entity.name.tag.inline.any.html, entity.name.tag.block.any.html | #FFC800 | — |
| invalid.illegal.bad-ampersand.html | #A0BE7D | — |
| meta.tag.any.html entity.other.attribute-name.html, meta.tag.block.any.html entity.other.attribute-name.html, meta.tag.inline.any.html entity.other.attribute-name.html, meta.tag.other.html entity.other.attribute-name.html, source.js.embedded.html entity.other.attribute-name.html | #9696FF | — |
| string.quoted.double.html, meta.template string.quoted.double | #A0C8FF | — |
| string.quoted.double.html invalid.illegal.bad-ampersand.html | #A0C8FF | — |
| source.properties entity.name.section.group-title.ini | #87C8E1 | — |
| source.properties punctuation.separator.key-value.ini | #8CC8B4 | — |
| source.php meta.function-call, source.php meta.function-call.object | #9696FF | — |
| constant.numeric.php | #AFDC9B | — |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php, punctuation.section.embedded.begin.metatag.php, punctuation.section.embedded.end.metatag.php | #D7D7D7 | — |
| string.quoted.single.js, string.quoted.double.json, meta.structure.dictionary.value.json, meta.string.quoted.embedded.line.php.source.single.string-contents | #A0BE7D | — |
| punctuation.definition.variable.php, variable.other.php | #96BEBE | — |
| keyword.control.php | #C8F064 | — |
| punctuation.terminator.expression.php | #5ABEFF | — |
| meta.tag.any.html.string.quoted.double.embedded.line.php.source.constant.language.inline, meta.embedded.line.php.source.constant.language | #D28CFA | — |
| meta.block.embedded.php.source.comment.documentation.phpdoc | #8C8C8C | — |
| text.xml entity.name.tag.namespace | #FFC800 | — |
| text.xml keyword.other.doctype | #FF7814 | — |
| text.xml meta.tag.preprocessor entity.name.tag | #87C8E1 | — |
| text.xml string.unquoted.cdata, text.xml string.unquoted.cdata punctuation.definition.string | #9696FF | |
| source.yaml entity.name.tag | #87C8E1 | — |
| keyword.operator.other.elixir | #C8F064 | — |
| variable.other.constant.elixir | #D28CFA | — |
| constant.other.symbol.elixir | #8CDCFF | — |
| parameter.variable.function.elixir | #9696FF | — |
| comment.documentation.heredoc.elixir | #82A0C8 | — |
| source.elixir.embedded.source | #8CC8B4 | — |
| variable.other.anonymous.elixir | #D28CFA | — |
| keyword.control.elixir | #FFDC64 | — |
| punctuation.section.function.elixir | #B4DCF0 | — |
| constant.character.escape.elixir | #D28CFA | — |
| string.quoted.double.elixir | #C8D7DC | — |
| support.function.variable.quoted.single.elixir | #96BEBE | — |
| punctuation.section.regexp.begin.elixir | #6496C8 | — |
| string.regexp.interpolated.elixir | #8CC8B4 | — |
| string.regexp.literal.elixir | #AFDC9B | — |
| punctuation.section.list.begin.elixir | #6496C8 | — |
| punctuation.definition.string.begin.elixir | #A0C8FF | — |
| string.quoted.double.interpolated.elixir | #A0C8FF | — |
| constant.language.elixir | #8CC878 | |
| comment.documentation.string | #8C8C8C | — |
| keyword.other.special-method.elixir | #FF7814 | |
| variable.other.readwrite.module.elixir | #9696FF | |
| entity.name.type.module.elixir | #5AE6AA | |
| keyword.operator.assignment.elixir | #FFC800 | — |
| punctuation.definition.variable.elixir | #C8C8C8 | — |
| support.class.options.gnuplot | #96D2FF | — |
| storage.type.plot.gnuplot | #D2B4FF | — |
| keyword.other.command.gnuplot | #FFC800 | — |
| constant.character.escape.gnuplot | #8CB4BE | — |
| storage.type.core, storage.type.core.rust | #C8F064 | — |
| source.rust | #D7D7D7 | — |
| keyword.other.rust, keyword.control.rust | #FFC800 | — |
| keyword.other.fn.rust | #C8F064 | — |
| entity.name.lifetime.rust, storage.modifier.lifetime.rust | #9696FF | — |
| support.type.core.rust, entity.name.type.rust | #5EE6AA | — |
| keyword.other.unsafe.rust | #F05050 | — |
| support.type.marker.rust | #3CBEFF | — |
| keyword.other.where.rust | #3CBEFF | — |
| keyword.operator.misc.rust, keyword.operator.arithmetic.rust | #A0C8FF | — |
| constant.numeric.integer.hexadecimal.rust, constant.numeric.integer.decimal.rust, constant.numeric.dec.python, constant.numeric.float.rust, constant.language.boolean.rust | #AFE1F0 | — |
| support.constant.core.rust | #D28CFA | — |
| meta.function-call.arguments.python, variable.parameter.function-call.python, meta.attribute.rust | #9696FF | — |
| storage.modifier.mut.rust | #D2646E | — |
| entity.name.function | #78D2FF | — |
| keyword.other.phpdoc.php | #C8F064 | — |
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}!`;
}