Pichon Theme
Pichon Theme: Dark Modern, but even darker. Deep, refined tones with token colors inspired by top themes
Pichon Theme: Dark Modern, but even darker. Deep, refined tones with token colors inspired by top themes
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 |
|---|---|---|
| meta.embedded | #abb2bf | — |
| punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison | #e06c75 | — |
| variable.other.generic-type.haskell | #c678dd | — |
| storage.type.haskell | #d19a66 | — |
| support.variable.magic.python | #e06c75 | — |
| punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python | #abb2bf | — |
| variable.parameter.function.language.special.self.python | #e5c07b | — |
| variable.parameter.function.language.special.cls.python | #e5c07b | — |
| storage.modifier.lifetime.rust | #abb2bf | — |
| support.function.std.rust | #61afef | — |
| entity.name.lifetime.rust | #e5c07b | — |
| variable.language.rust | #e06c75 | — |
| support.constant.edge | #c678dd | — |
| constant.other.character-class.regexp | #e06c75 | — |
| keyword.operator.word | #c678dd | — |
| keyword.operator.quantifier.regexp | #d19a66 | — |
| variable.parameter.function | #abb2bf | — |
| comment markup.link | #5c6370 | — |
| markup.changed.diff | #e5c07b | — |
| meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff | #61afef | — |
| markup.inserted.diff | #98c379 | — |
| markup.deleted.diff | #e06c75 | — |
| meta.function.c,meta.function.cpp | #e06c75 | — |
| punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c | #abb2bf | — |
| punctuation.separator.key-value | #abb2bf | — |
| keyword.operator.expression.import | #61afef | — |
| support.constant.math | #e5c07b | — |
| support.constant.property.math | #d19a66 | — |
| variable.other.constant | #e5c07b | — |
| storage.type.annotation.java, storage.type.object.array.java | #e5c07b | — |
| source.java | #e06c75 | — |
| punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java | #abb2bf | — |
| meta.method.java | #61afef | — |
| storage.modifier.import.java,storage.type.java,storage.type.generic.java | #e5c07b | — |
| keyword.operator.instanceof.java | #c678dd | — |
| meta.definition.variable.name.java | #e06c75 | — |
| keyword.operator.logical | #56b6c2 | — |
| keyword.operator.bitwise | #56b6c2 | — |
| keyword.operator.channel | #56b6c2 | — |
| support.constant.property-value.scss,support.constant.property-value.css | #d19a66 | — |
| keyword.operator.css,keyword.operator.scss,keyword.operator.less | #56b6c2 | — |
| support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss | #d19a66 | — |
| punctuation.separator.list.comma.css | #abb2bf | — |
| support.constant.color.w3c-standard-color-name.css | #d19a66 | — |
| support.type.vendored.property-name.css | #56b6c2 | — |
| support.module.node,support.type.object.module,support.module.node | #e5c07b | — |
| entity.name.type.module | #e5c07b | — |
| variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node | #e06c75 | — |
| support.constant.json | #d19a66 | — |
| keyword.operator.expression.instanceof, keyword.operator.new, keyword.operator.ternary, keyword.operator.optional, keyword.operator.expression.keyof | #c678dd | — |
| support.type.object.console | #e06c75 | — |
| support.variable.property.process | #d19a66 | — |
| entity.name.function,support.function.console | #61afef | — |
| keyword.operator.misc.rust | #abb2bf | — |
| keyword.operator.sigil.rust | #c678dd | — |
| keyword.operator.delete | #c678dd | — |
| support.type.object.dom | #56b6c2 | — |
| support.variable.dom,support.variable.property.dom | #e06c75 | — |
| keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational | #56b6c2 | — |
| keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp | #c678dd | — |
| punctuation.separator.delimiter | #abb2bf | — |
| punctuation.separator.c,punctuation.separator.cpp | #c678dd | — |
| support.type.posix-reserved.c,support.type.posix-reserved.cpp | #56b6c2 | — |
| keyword.operator.sizeof.c,keyword.operator.sizeof.cpp | #c678dd | — |
| variable.parameter.function.language.python | #d19a66 | — |
| support.type.python | #56b6c2 | — |
| keyword.operator.logical.python | #c678dd | — |
| variable.parameter.function.python | #d19a66 | — |
| punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python | #abb2bf | — |
| meta.function-call.generic.python | #61afef | — |
| constant.character.format.placeholder.other.python | #d19a66 | — |
| keyword.operator | #abb2bf | — |
| keyword.operator.assignment.compound | #c678dd | — |
| keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts | #56b6c2 | — |
| keyword | #c678dd | — |
| entity.name.namespace | #e5c07b | — |
| variable | #e06c75 | — |
| variable.c | #abb2bf | — |
| variable.language | #e5c07b | — |
| token.variable.parameter.java | #abb2bf | — |
| import.storage.java | #e5c07b | — |
| token.package.keyword | #c678dd | — |
| token.package | #abb2bf | — |
| entity.name.function, meta.require, support.function.any-method, variable.function | #61afef | — |
| entity.name.type.namespace | #e5c07b | — |
| support.class, entity.name.type.class | #e5c07b | — |
| entity.name.class.identifier.namespace.type | #e5c07b | — |
| entity.name.class, variable.other.class.js, variable.other.class.ts | #e5c07b | — |
| variable.other.class.php | #e06c75 | — |
| entity.name.type | #e5c07b | — |
| keyword.control | #c678dd | — |
| control.elements, keyword.operator.less | #d19a66 | — |
| keyword.other.special-method | #61afef | — |
| storage | #c678dd | — |
| token.storage | #c678dd | — |
| keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void | #c678dd | — |
| token.storage.type.java | #e5c07b | — |
| support.function | #56b6c2 | — |
| support.type.property-name | #abb2bf | — |
| support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml | #e06c75 | — |
| support.constant.property-value | #abb2bf | — |
| support.constant.font-name | #d19a66 | — |
| meta.tag | #abb2bf | — |
| string | #98c379 | — |
| constant.other.symbol | #56b6c2 | — |
| constant.numeric | #d19a66 | — |
| constant | #d19a66 | — |
| punctuation.definition.constant | #d19a66 | — |
| entity.name.tag | #e06c75 | — |
| entity.other.attribute-name | #d19a66 | — |
| entity.other.attribute-name.id | #61afef | — |
| entity.other.attribute-name.class.css | #d19a66 | — |
| meta.selector | #c678dd | — |
| markup.heading | #e06c75 | — |
| markup.heading punctuation.definition.heading, entity.name.section | #61afef | — |
| keyword.other.unit | #e06c75 | — |
| markup.bold,todo.bold | #d19a66 | — |
| punctuation.definition.bold | #e5c07b | — |
| markup.italic, punctuation.definition.italic,todo.emphasis | #c678dd | — |
| emphasis md | #c678dd | — |
| entity.name.section.markdown | #e06c75 | — |
| punctuation.definition.heading.markdown | #e06c75 | — |
| punctuation.definition.list.begin.markdown | #e5c07b | — |
| markup.heading.setext | #abb2bf | — |
| punctuation.definition.bold.markdown | #d19a66 | — |
| markup.inline.raw.markdown | #98c379 | — |
| markup.inline.raw.string.markdown | #98c379 | — |
| punctuation.definition.raw.markdown | #e5c07b | — |
| punctuation.definition.list.markdown | #e5c07b | — |
| punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.metadata.markdown | #e06c75 | — |
| beginning.punctuation.definition.list.markdown | #e06c75 | — |
| punctuation.definition.metadata.markdown | #e06c75 | — |
| markup.underline.link.markdown,markup.underline.link.image.markdown | #c678dd | — |
| string.other.link.title.markdown,string.other.link.description.markdown | #61afef | — |
| markup.raw.monospace.asciidoc | #98c379 | — |
| punctuation.definition.asciidoc | #e5c07b | — |
| markup.list.asciidoc | #e5c07b | — |
| markup.link.asciidoc,markup.other.url.asciidoc | #c678dd | — |
| string.unquoted.asciidoc,markup.other.url.asciidoc | #61afef | — |
| string.regexp | #56b6c2 | — |
| punctuation.section.embedded, variable.interpolation | #e06c75 | — |
| punctuation.section.embedded.begin,punctuation.section.embedded.end | #c678dd | — |
| invalid.illegal | #ffffff | — |
| invalid.illegal.bad-ampersand.html | #abb2bf | — |
| invalid.illegal.unrecognized-tag.html | #e06c75 | — |
| invalid.broken | #ffffff | — |
| invalid.deprecated | #ffffff | — |
| invalid.deprecated.entity.other.attribute-name.html | #d19a66 | — |
| invalid.unimplemented | #ffffff | — |
| source.json meta.structure.dictionary.json > string.quoted.json | #e06c75 | — |
| source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string | #e06c75 | — |
| source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation | #98c379 | — |
| source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json | #56b6c2 | — |
| support.type.property-name.json | #e06c75 | — |
| support.type.property-name.json punctuation | #e06c75 | — |
| text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade | #c678dd | — |
| text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade | #c678dd | — |
| support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php | #e5c07b | — |
| keyword.operator.error-control.php | #c678dd | — |
| keyword.operator.type.php | #c678dd | — |
| punctuation.section.array.begin.php | #abb2bf | — |
| punctuation.section.array.end.php | #abb2bf | — |
| invalid.illegal.non-null-typehinted.php | #f44747 | — |
| storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php | #e5c07b | — |
| meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php | #61afef | — |
| punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php | #abb2bf | — |
| support.constant.core.rust | #d19a66 | — |
| support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php | #d19a66 | — |
| entity.name.goto-label.php,support.other.php | #61afef | — |
| keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php | #56b6c2 | — |
| keyword.operator.regexp.php | #c678dd | — |
| keyword.operator.comparison.php | #56b6c2 | — |
| keyword.operator.heredoc.php,keyword.operator.nowdoc.php | #c678dd | — |
| meta.function.decorator.python | #61afef | — |
| support.token.decorator.python,meta.function.decorator.identifier.python | #56b6c2 | — |
| function.parameter | #abb2bf | — |
| function.brace | #abb2bf | — |
| function.parameter.ruby, function.parameter.cs | #abb2bf | — |
| constant.language.symbol.ruby | #56b6c2 | — |
| constant.language.symbol.hashkey.ruby | #56b6c2 | — |
| rgb-value | #56b6c2 | — |
| inline-color-decoration rgb-value | #d19a66 | — |
| less rgb-value | #d19a66 | — |
| selector.sass | #e06c75 | — |
| support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx | #e5c07b | — |
| block.scope.end,block.scope.begin | #abb2bf | — |
| storage.type.cs | #e5c07b | — |
| entity.name.variable.local.cs | #e06c75 | — |
| token.info-token | #61afef | — |
| token.warn-token | #d19a66 | — |
| token.error-token | #f44747 | — |
| token.debug-token | #c678dd | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #c678dd | — |
| meta.template.expression | #abb2bf | — |
| keyword.operator.module | #c678dd | — |
| support.type.type.flowtype | #61afef | — |
| support.type.primitive | #e5c07b | — |
| meta.property.object | #e06c75 | — |
| variable.parameter.function.js | #e06c75 | — |
| keyword.other.template.begin | #98c379 | — |
| keyword.other.template.end | #98c379 | — |
| keyword.other.substitution.begin | #98c379 | — |
| keyword.other.substitution.end | #98c379 | — |
| keyword.operator.assignment | #56b6c2 | — |
| keyword.operator.assignment.go | #e5c07b | — |
| keyword.operator.arithmetic.go, keyword.operator.address.go | #c678dd | — |
| keyword.operator.arithmetic.c, keyword.operator.arithmetic.cpp | #c678dd | — |
| entity.name.package.go | #e5c07b | — |
| support.type.prelude.elm | #56b6c2 | — |
| support.constant.elm | #d19a66 | — |
| punctuation.quasi.element | #c678dd | — |
| constant.character.entity | #e06c75 | — |
| entity.other.attribute-name.pseudo-element, entity.other.attribute-name.pseudo-class | #56b6c2 | — |
| entity.global.clojure | #e5c07b | — |
| meta.symbol.clojure | #e06c75 | — |
| constant.keyword.clojure | #56b6c2 | — |
| meta.arguments.coffee, variable.parameter.function.coffee | #e06c75 | — |
| source.ini | #98c379 | — |
| meta.scope.prerequisites.makefile | #e06c75 | — |
| source.makefile | #e5c07b | — |
| storage.modifier.import.groovy | #e5c07b | — |
| meta.method.groovy | #61afef | — |
| meta.definition.variable.name.groovy | #e06c75 | — |
| meta.definition.class.inherited.classes.groovy | #98c379 | — |
| support.variable.semantic.hlsl | #e5c07b | — |
| support.type.texture.hlsl, support.type.sampler.hlsl, support.type.object.hlsl, support.type.object.rw.hlsl, support.type.fx.hlsl, support.type.object.hlsl | #c678dd | — |
| text.variable, text.bracketed | #e06c75 | — |
| support.type.swift, support.type.vb.asp | #e5c07b | — |
| entity.name.function.xi | #e5c07b | — |
| entity.name.class.xi | #56b6c2 | — |
| constant.character.character-class.regexp.xi | #e06c75 | — |
| constant.regexp.xi | #c678dd | — |
| keyword.control.xi | #56b6c2 | — |
| invalid.xi | #abb2bf | — |
| beginning.punctuation.definition.quote.markdown.xi | #98c379 | — |
| beginning.punctuation.definition.list.markdown.xi | #7f848e | — |
| constant.character.xi | #61afef | — |
| accent.xi | #61afef | — |
| wikiword.xi | #d19a66 | — |
| constant.other.color.rgb-value.xi | #ffffff | — |
| punctuation.definition.tag.xi | #5c6370 | — |
| entity.name.label.cs, entity.name.scope-resolution.function.call, entity.name.scope-resolution.function.definition | #e5c07b | — |
| entity.name.label.cs, markup.heading.setext.1.markdown, markup.heading.setext.2.markdown | #e06c75 | — |
| meta.brace.square | #abb2bf | — |
| comment, punctuation.definition.comment | #7f848e | — |
| markup.quote.markdown | #5c6370 | — |
| punctuation.definition.block.sequence.item.yaml | #abb2bf | — |
| constant.language.symbol.elixir, constant.language.symbol.double-quoted.elixir | #56b6c2 | — |
| entity.name.variable.parameter.cs | #e5c07b | — |
| entity.name.variable.field.cs | #e06c75 | — |
| markup.deleted | #e06c75 | — |
| markup.inserted | #98c379 | — |
| markup.underline | — | underline |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #BE5046 | — |
| support.other.namespace.php | #abb2bf | — |
| variable.parameter.function.latex | #e06c75 | — |
| variable.other.object | #e5c07b | — |
| variable.other.constant.property | #e06c75 | — |
| entity.other.inherited-class | #e5c07b | — |
| variable.other.readwrite.c | #e06c75 | — |
| entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php | #abb2bf | — |
| constant.numeric.decimal.asm.x86_64 | #c678dd | — |
| support.other.parenthesis.regexp | #d19a66 | — |
| constant.character.escape | #56b6c2 | — |
| string.regexp | #e06c75 | — |
| log.info | #98c379 | — |
| log.warning | #e5c07b | — |
| log.error | #e06c75 | — |
| keyword.operator.expression.is | #c678dd | — |
| entity.name.label | #e06c75 | — |
| support.class.math.block.environment.latex, constant.other.general.math.tex | #61afef | — |
| constant.character.math.tex | #98c379 | — |
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 |
|---|---|---|
| meta.embedded, source.groovy.embedded, string meta.image.inline.markdown, variable.legacy.builtin.python | #D4D4D4 | — |
| emphasis | — | italic |
| strong | — | bold |
| header | #000080 | — |
| comment | #6A9955 | — |
| constant.language | #569CD6 | — |
| constant.numeric, variable.other.enummember, keyword.operator.plus.exponent, keyword.operator.minus.exponent | #B5CEA8 | — |
| constant.regexp | #646695 | — |
| entity.name.tag | #569CD6 | — |
| entity.name.tag.css, entity.name.tag.less | #D7BA7D | — |
| entity.other.attribute-name | #9CDCFE | — |
| entity.other.attribute-name.class.css, source.css entity.other.attribute-name.class, entity.other.attribute-name.id.css, entity.other.attribute-name.parent-selector.css, entity.other.attribute-name.parent.less, source.css entity.other.attribute-name.pseudo-class, entity.other.attribute-name.pseudo-element.css, source.css.less entity.other.attribute-name.id, entity.other.attribute-name.scss | #D7BA7D | — |
| invalid | #F44747 | — |
| markup.underline | — | underline |
| markup.bold | #569CD6 | bold |
| markup.heading | #569CD6 | bold |
| markup.italic | — | italic |
| markup.strikethrough | — | strikethrough |
| markup.inserted | #B5CEA8 | — |
| markup.deleted | #CE9178 | — |
| markup.changed | #569CD6 | — |
| punctuation.definition.quote.begin.markdown | #6A9955 | — |
| punctuation.definition.list.begin.markdown | #6796E6 | — |
| markup.inline.raw | #CE9178 | — |
| punctuation.definition.tag | #808080 | — |
| meta.preprocessor, entity.name.function.preprocessor | #569CD6 | — |
| meta.preprocessor.string | #CE9178 | — |
| meta.preprocessor.numeric | #B5CEA8 | — |
| meta.structure.dictionary.key.python | #9CDCFE | — |
| meta.diff.header | #569CD6 | — |
| storage | #569CD6 | — |
| storage.type | #569CD6 | — |
| storage.modifier, keyword.operator.noexcept | #569CD6 | — |
| string, meta.embedded.assembly | #CE9178 | — |
| string.tag | #CE9178 | — |
| string.value | #CE9178 | — |
| string.regexp | #D16969 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #569CD6 | — |
| meta.template.expression | #D4D4D4 | — |
| support.type.vendored.property-name, support.type.property-name, source.css variable, source.coffee.embedded | #9CDCFE | — |
| keyword | #569CD6 | — |
| keyword.control | #569CD6 | — |
| keyword.operator | #D4D4D4 | — |
| keyword.operator.new, keyword.operator.expression, keyword.operator.cast, keyword.operator.sizeof, keyword.operator.alignof, keyword.operator.typeid, keyword.operator.alignas, keyword.operator.instanceof, keyword.operator.logical.python, keyword.operator.wordlike | #569CD6 | — |
| keyword.other.unit | #B5CEA8 | — |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #569CD6 | — |
| support.function.git-rebase | #9CDCFE | — |
| constant.sha.git-rebase | #B5CEA8 | — |
| storage.modifier.import.java, variable.language.wildcard.java, storage.modifier.package.java | #D4D4D4 | — |
| variable.language | #569CD6 | — |
| entity.name.function, support.function, support.constant.handlebars, source.powershell variable.other.member, entity.name.operator.custom-literal | #DCDCAA | — |
| support.class, support.type, entity.name.type, entity.name.namespace, entity.other.attribute, entity.name.scope-resolution, entity.name.class, storage.type.numeric.go, storage.type.byte.go, storage.type.boolean.go, storage.type.string.go, storage.type.uintptr.go, storage.type.error.go, storage.type.rune.go, storage.type.cs, storage.type.generic.cs, storage.type.modifier.cs, storage.type.variable.cs, storage.type.annotation.java, storage.type.generic.java, storage.type.java, storage.type.object.array.java, storage.type.primitive.array.java, storage.type.primitive.java, storage.type.token.java, storage.type.groovy, storage.type.annotation.groovy, storage.type.parameters.groovy, storage.type.generic.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.primitive.groovy | #4EC9B0 | — |
| meta.type.cast.expr, meta.type.new.expr, support.constant.math, support.constant.dom, support.constant.json, entity.other.inherited-class, punctuation.separator.namespace.ruby | #4EC9B0 | — |
| keyword.control, source.cpp keyword.operator.new, keyword.operator.delete, keyword.other.using, keyword.other.directive.using, keyword.other.operator, entity.name.operator | #C586C0 | — |
| variable, meta.definition.variable.name, support.variable, entity.name.variable, constant.other.placeholder | #9CDCFE | — |
| variable.other.constant, variable.other.enummember | #4FC1FF | — |
| meta.object-literal.key | #9CDCFE | — |
| support.constant.property-value, support.constant.font-name, support.constant.media-type, support.constant.media, constant.other.color.rgb-value, constant.other.rgb-value, support.constant.color | #CE9178 | — |
| punctuation.definition.group.regexp, punctuation.definition.group.assertion.regexp, punctuation.definition.character-class.regexp, punctuation.character.set.begin.regexp, punctuation.character.set.end.regexp, keyword.operator.negation.regexp, support.other.parenthesis.regexp | #CE9178 | — |
| constant.character.character-class.regexp, constant.other.character-class.set.regexp, constant.other.character-class.regexp, constant.character.set.regexp | #D16969 | — |
| keyword.operator.or.regexp, keyword.control.anchor.regexp | #DCDCAA | — |
| keyword.operator.quantifier.regexp | #D7BA7D | — |
| constant.character, constant.other.option | #569CD6 | — |
| constant.character.escape | #D7BA7D | — |
| entity.name.label | #C8C8C8 | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
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 |
|---|---|---|
| text, source, variable.other.readwrite, punctuation.definition.variable | #cdd6f4 | — |
| punctuation | #9399b2 | |
| comment, punctuation.definition.comment | #6c7086 | italic |
| string, punctuation.definition.string | #a6e3a1 | — |
| constant.character.escape | #f5c2e7 | — |
| constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point | #fab387 | — |
| keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword | #cba6f7 | |
| entity.name.tag.documentation | #cba6f7 | — |
| keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value | #94e2d5 | — |
| entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function | #89b4fa | italic |
| entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct | #f9e2af | italic |
| entity.name.enum | #f9e2af | italic |
| meta.enum variable.other.readwrite, variable.other.enummember | #94e2d5 | — |
| meta.property.object | #94e2d5 | — |
| meta.type, meta.type-alias, support.type, entity.name.type | #f9e2af | italic |
| meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator | #fab387 | — |
| variable.parameter, meta.function.parameters | #eba0ac | italic |
| constant.language, support.function.builtin | #f38ba8 | — |
| entity.other.attribute-name.documentation | #f38ba8 | — |
| keyword.control.directive, punctuation.definition.directive | #f9e2af | — |
| punctuation.definition.typeparameters | #89dceb | — |
| entity.name.namespace | #f9e2af | — |
| support.type.property-name.css | #89b4fa | |
| variable.language.this, variable.language.this punctuation.definition.variable | #f38ba8 | — |
| variable.object.property | #cdd6f4 | — |
| string.template variable, string variable | #cdd6f4 | — |
| keyword.operator.new | — | bold |
| storage.modifier.specifier.extern.cpp | #cba6f7 | — |
| entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp | #f9e2af | — |
| storage.type.class.doxygen | — | |
| storage.modifier.reference.cpp | #94e2d5 | — |
| meta.interpolation.cs | #cdd6f4 | — |
| comment.block.documentation.cs | #cdd6f4 | — |
| source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css | #f9e2af | — |
| punctuation.separator.operator.css | #94e2d5 | — |
| source.css entity.other.attribute-name.pseudo-class | #94e2d5 | — |
| source.css constant.other.unicode-range | #fab387 | — |
| source.css variable.parameter.url | #a6e3a1 | |
| support.type.vendored.property-name | #89dceb | — |
| source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss | #eba0ac | — |
| source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less | #89b4fa | — |
| keyword.other.unit.percentage.css | #fab387 | — |
| source.css meta.attribute-selector | #a6e3a1 | — |
| keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml | #89b4fa | |
| constant.language.json, constant.language.yaml | #fab387 | — |
| entity.name.type.anchor.yaml, variable.other.alias.yaml | #f9e2af | |
| support.type.property-name.table, entity.name.section.group-title.ini | #f9e2af | — |
| constant.other.time.datetime.offset.toml | #f5c2e7 | — |
| punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml | #f5c2e7 | — |
| entity.other.document.begin.yaml | #f5c2e7 | — |
| markup.changed.diff | #fab387 | — |
| meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff | #89b4fa | — |
| markup.inserted.diff | #a6e3a1 | — |
| markup.deleted.diff | #f38ba8 | — |
| variable.other.env | #89b4fa | — |
| string.quoted variable.other.env | #cdd6f4 | — |
| support.function.builtin.gdscript | #89b4fa | — |
| constant.language.gdscript | #fab387 | — |
| comment meta.annotation.go | #eba0ac | — |
| comment meta.annotation.parameters.go | #fab387 | — |
| constant.language.go | #fab387 | — |
| variable.graphql | #cdd6f4 | — |
| string.unquoted.alias.graphql | #f2cdcd | — |
| constant.character.enum.graphql | #94e2d5 | — |
| meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql | #f2cdcd | — |
| keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag | #cba6f7 | — |
| entity.name.tag | #89b4fa | |
| text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation | #f38ba8 | — |
| entity.other.attribute-name | #f9e2af | — |
| support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue | #f5c2e7 | |
| punctuation.definition.annotation, storage.type.annotation | #fab387 | — |
| constant.other.enum.java | #94e2d5 | — |
| storage.modifier.import.java | #cdd6f4 | — |
| comment.block.javadoc.java keyword.other.documentation.javadoc.java | — | |
| meta.export variable.other.readwrite.js | #eba0ac | — |
| variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts | #cdd6f4 | — |
| variable.other.jsdoc, comment.block.documentation variable.other | #eba0ac | |
| storage.type.class.jsdoc | — | |
| support.type.object.console.js | #cdd6f4 | — |
| support.constant.node, support.type.object.module.js | #cba6f7 | — |
| storage.modifier.implements | #cba6f7 | — |
| constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts | #cba6f7 | — |
| variable.parameter.generic | #f9e2af | — |
| keyword.declaration.function.arrow.js, storage.type.function.arrow.ts | #94e2d5 | — |
| punctuation.decorator.ts | #89b4fa | italic |
| keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts | #cba6f7 | — |
| support.function.macro.julia | #94e2d5 | italic |
| constant.language.julia | #fab387 | — |
| constant.other.symbol.julia | #eba0ac | — |
| text.tex keyword.control.preamble | #94e2d5 | — |
| text.tex support.function.be | #89dceb | — |
| constant.other.general.math.tex | #f2cdcd | — |
| variable.language.liquid | #f5c2e7 | — |
| comment.line.double-dash.documentation.lua storage.type.annotation.lua | #cba6f7 | |
| comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua | #cdd6f4 | — |
| heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, heading.1.quarto punctuation.definition.heading.quarto, heading.1.quarto, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc | #f38ba8 | — |
| heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, heading.2.quarto punctuation.definition.heading.quarto, heading.2.quarto, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc | #fab387 | — |
| heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, heading.3.quarto punctuation.definition.heading.quarto, heading.3.quarto, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc | #f9e2af | — |
| heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, heading.4.quarto punctuation.definition.heading.quarto, heading.4.quarto, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc | #a6e3a1 | — |
| heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, heading.5.quarto punctuation.definition.heading.quarto, heading.5.quarto, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc | #89b4fa | — |
| heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, heading.6.quarto punctuation.definition.heading.quarto, heading.6.quarto, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc | #cba6f7 | — |
| markup.bold | #f38ba8 | bold |
| markup.italic | #f38ba8 | italic |
| markup.strikethrough | #a6adc8 | strikethrough |
| punctuation.definition.link, markup.underline.link | #89b4fa | — |
| text.html.markdown punctuation.definition.link.title, text.html.quarto punctuation.definition.link.title, string.other.link.title.markdown, string.other.link.title.quarto, markup.link, punctuation.definition.constant.markdown, punctuation.definition.constant.quarto, constant.other.reference.link.markdown, constant.other.reference.link.quarto, markup.substitution.attribute-reference | #b4befe | — |
| punctuation.definition.raw.markdown, punctuation.definition.raw.quarto, markup.inline.raw.string.markdown, markup.inline.raw.string.quarto, markup.raw.block.markdown, markup.raw.block.quarto | #a6e3a1 | — |
| fenced_code.block.language | #89dceb | — |
| markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc | #9399b2 | — |
| markup.quote, punctuation.definition.quote.begin | #f5c2e7 | — |
| meta.separator.markdown | #94e2d5 | — |
| punctuation.definition.list.begin.markdown, punctuation.definition.list.begin.quarto, markup.list.bullet | #94e2d5 | — |
| markup.heading.quarto | — | bold |
| entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix | #89b4fa | — |
| variable.parameter.name.nix | #cdd6f4 | |
| meta.embedded variable.parameter.name.nix | #b4befe | |
| string.unquoted.path.nix | #f5c2e7 | |
| support.attribute.builtin, meta.attribute.php | #f9e2af | — |
| meta.function.parameters.php punctuation.definition.variable.php | #eba0ac | — |
| constant.language.php | #cba6f7 | — |
| text.html.php support.function | #89dceb | — |
| keyword.other.phpdoc.php | — | |
| support.variable.magic.python, meta.function-call.arguments.python | #cdd6f4 | — |
| support.function.magic.python | #89dceb | italic |
| variable.parameter.function.language.special.self.python, variable.language.special.self.python | #f38ba8 | italic |
| keyword.control.flow.python, keyword.operator.logical.python | #cba6f7 | — |
| storage.type.function.python | #cba6f7 | — |
| support.token.decorator.python, meta.function.decorator.identifier.python | #89dceb | — |
| meta.function-call.python | #89b4fa | — |
| entity.name.function.decorator.python, punctuation.definition.decorator.python | #fab387 | italic |
| constant.character.format.placeholder.other.python | #f5c2e7 | — |
| support.type.exception.python, support.function.builtin.python | #fab387 | — |
| support.type.python | #fab387 | — |
| constant.language.python | #cba6f7 | — |
| meta.indexed-name.python, meta.item-access.python | #eba0ac | italic |
| storage.type.string.python | #a6e3a1 | italic |
| meta.function.parameters.python | — | |
| string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end | #f5c2e7 | — |
| keyword.control.anchor.regexp | #cba6f7 | — |
| string.regexp.ts | #cdd6f4 | — |
| punctuation.definition.group.regexp, keyword.other.back-reference.regexp | #a6e3a1 | — |
| punctuation.definition.character-class.regexp | #f9e2af | — |
| constant.other.character-class.regexp | #f5c2e7 | — |
| constant.other.character-class.range.regexp | #f5e0dc | — |
| keyword.operator.quantifier.regexp | #94e2d5 | — |
| constant.character.numeric.regexp | #fab387 | — |
| punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp | #89b4fa | — |
| meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust | #f9e2af | italic |
| meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust | — | |
| entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust | #cba6f7 | |
| entity.name.type.numeric.rust | #cba6f7 | |
| meta.generic.rust | #fab387 | — |
| entity.name.impl.rust | #f9e2af | italic |
| entity.name.module.rust | #fab387 | — |
| entity.name.trait.rust | #f9e2af | italic |
| storage.type.source.rust | #f9e2af | — |
| entity.name.union.rust | #f9e2af | — |
| meta.enum.rust storage.type.source.rust | #94e2d5 | — |
| support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust | #89b4fa | italic |
| storage.modifier.lifetime.rust, entity.name.type.lifetime | #89b4fa | italic |
| string.quoted.double.rust constant.other.placeholder.rust | #f5c2e7 | — |
| meta.function.return-type.rust meta.generic.rust storage.type.rust | #cdd6f4 | — |
| meta.function.call.rust | #89b4fa | — |
| punctuation.brackets.angle.rust | #89dceb | — |
| constant.other.caps.rust | #fab387 | — |
| meta.function.definition.rust variable.other.rust | #eba0ac | — |
| meta.function.call.rust variable.other.rust | #cdd6f4 | — |
| variable.language.self.rust | #f38ba8 | — |
| variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust | #f5c2e7 | — |
| comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell | #f5c2e7 | italic |
| comment.line.shebang constant.language | #94e2d5 | italic |
| meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation | #f38ba8 | — |
| meta.string meta.interpolation.parameter.shell variable.other.readwrite | #fab387 | italic |
| source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell | #94e2d5 | — |
| entity.name.tag.heredoc.shell | #cba6f7 | — |
| string.quoted.double.shell variable.other.normal.shell | #cdd6f4 | — |
Full workbench mockup using this variant's colors and tokenColors.
Loading...
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| comment, punctuation.definition.comment, string.comment | #6a737d | — |
| constant, entity.name.constant, variable.other.constant, variable.other.enummember, variable.language | #79b8ff | — |
| entity, entity.name | #b392f0 | — |
| variable.parameter.function | #e1e4e8 | — |
| entity.name.tag | #85e89d | — |
| keyword | #f97583 | — |
| storage, storage.type | #f97583 | — |
| storage.modifier.package, storage.modifier.import, storage.type.java | #e1e4e8 | — |
| string, punctuation.definition.string, string punctuation.section.embedded source | #9ecbff | — |
| support | #79b8ff | — |
| meta.property-name | #79b8ff | — |
| variable | #ffab70 | — |
| variable.other | #e1e4e8 | — |
| invalid.broken | #fdaeb7 | italic |
| invalid.deprecated | #fdaeb7 | italic |
| invalid.illegal | #fdaeb7 | italic |
| invalid.unimplemented | #fdaeb7 | italic |
| carriage-return | #24292e | italic underline |
| message.error | #fdaeb7 | — |
| string variable | #79b8ff | — |
| source.regexp, string.regexp | #dbedff | — |
| string.regexp.character-class, string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition | #dbedff | — |
| string.regexp constant.character.escape | #85e89d | bold |
| support.constant | #79b8ff | — |
| support.variable | #79b8ff | — |
| meta.module-reference | #79b8ff | — |
| punctuation.definition.list.begin.markdown | #ffab70 | — |
| markup.heading, markup.heading entity.name | #79b8ff | bold |
| markup.quote | #85e89d | — |
| markup.italic | #e1e4e8 | italic |
| markup.bold | #e1e4e8 | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
| markup.inline.raw | #79b8ff | — |
| markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted | #fdaeb7 | — |
| markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted | #85e89d | — |
| markup.changed, punctuation.definition.changed | #ffab70 | — |
| markup.ignored, markup.untracked | #2f363d | — |
| meta.diff.range | #b392f0 | bold |
| meta.diff.header | #79b8ff | — |
| meta.separator | #79b8ff | bold |
| meta.output | #79b8ff | — |
| brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote | #d1d5da | — |
| brackethighlighter.unmatched | #fdaeb7 | — |
| constant.other.reference.link, string.other.link | #dbedff | underline |
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}
export interface User {
id: string;
name: string;
role: "admin" | "member";
tags: string[];
}
/**
* Fetch user data by ID
* @param id
* @returns User object or null if ID is invalid
*/
export async function fetchUser(id: string): Promise<User | null> {
if (!id) {
return null;
}
const response = await fetch(`/api/users/${id}`, {
method: "GET",
headers: { Accept: "application/json" },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return (await response.json()) as User;
}
function greet(user: User): string {
// Simple greeting function that uses the user's name
return `Hello, ${user.name}!`;
}