Skip to main content
Home Theme VS Code Abyssal Purple Theme VSCode theme with pitch black background and abyssal purple + high contrast accents
VS Code preview Full workbench mockup using this variant's colors and tokenColors.
colors Workbench UI color keys from the theme JSON colors map.
activityBar.activeBackground #000000 activityBar.background #000000 activityBar.border #32004f activityBar.foreground #8100cd activityBar.inactiveForeground #8100cdbd activityBarBadge.background #001cb6 tokenColors TextMate scopes and font styles (syntax highlighting rules).
scope foreground fontStyle 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 #ffffff — variable.other.generic-type.haskell #d000ff — storage.type.haskell #ffff00 — support.variable.magic.python
Shiki preview TypeScript sample highlighted with this variant's colors and tokenColors.
Abyssal Purple Theme — Abyssal Purple
activityBarBadge.foreground
#ffffff
badge.background #001cb6
badge.foreground #ffffff
breadcrumb.activeSelectionForeground #ffffff
breadcrumb.background #000000
breadcrumb.focusForeground #ffffff
breadcrumb.foreground #cccccccc
button.background #00168e
button.foreground #ffffff
button.hoverBackground #001cb6
button.secondaryBackground #3a3d41
button.secondaryForeground #ffffff
button.secondaryHoverBackground #45494e
checkbox.background #000000
checkbox.border #00000000
checkbox.foreground #ffffff
debugExceptionWidget.background #000000
debugExceptionWidget.border #32004f
debugToolBar.background #000000
debugToolBar.border #32004f
diffEditor.border #32004f
diffEditor.insertedTextBackground #52730648
diffEditor.removedTextBackground #ff000033
dropdown.background #000000
dropdown.border #00000000
dropdown.foreground #ffffff
editor.background #000000
editor.findMatchBackground #7500ba
editor.findMatchBorder #7500ba00
editor.findMatchHighlightBackground #7500ba95
editor.findMatchHighlightBorder #a90a0a00
editor.findRangeHighlightBackground #3a3d4166
editor.findRangeHighlightBorder #ffffff00
editor.foldBackground #4726784d
editor.foreground #ffff00
editor.hoverHighlightBackground #264f7840
editor.inactiveSelectionBackground #3a3d41
editor.lineHighlightBackground #ffffff0A
editor.lineHighlightBorder #282828
editor.rangeHighlightBackground #ffffff0b
editor.rangeHighlightBorder #ffffff00
editor.selectionBackground #3f0064
editor.selectionHighlightBackground #3f006499
editor.selectionHighlightBorder #3f0064
editor.wordHighlightBackground #575757b8
editor.wordHighlightStrongBackground #004972b8
editorBracketMatch.background #7500bae1
editorBracketMatch.border #7500ba
editorCodeLens.foreground #ffffff
editorCursor.background #000000
editorCursor.foreground #aeafad
editorError.background #b83c3670
editorError.border #ff000000
editorError.foreground #ff0000
editorGroup.border #444444
editorGroup.emptyBackground #000000
editorGroupHeader.border #000000
editorGroupHeader.tabsBackground #000000
editorGroupHeader.tabsBorder #8100cd
editorGutter.addedBackground #039603
editorGutter.background #000000
editorGutter.commentRangeForeground #ffffff
editorGutter.deletedBackground #ff0000
editorGutter.foldingControlForeground #ffffff
editorGutter.modifiedBackground #0003b4
editorHoverWidget.background #000000
editorHoverWidget.border #32004f
editorHoverWidget.foreground #ffffff
editorIndentGuide.activeBackground #707070
editorIndentGuide.background #404040
editorInfo.background #4490BF00
editorInfo.border #4490BF00
editorInfo.foreground #75beff
editorLineNumber.activeForeground #ff00cb
editorLineNumber.foreground #8100cd
editorLink.activeForeground #4e94ce
editorMarkerNavigation.background #000000
editorMarkerNavigationError.background #ff0000
editorMarkerNavigationInfo.background #0087ff
editorMarkerNavigationWarning.background #ffd100
editorOverviewRuler.background #ffffff00
editorOverviewRuler.border #FFFFFF0F
editorRuler.foreground #5a5a5a
editorSuggestWidget.background #000000
editorSuggestWidget.border #32004f
editorSuggestWidget.foreground #ffffff
editorSuggestWidget.highlightForeground #a000ff
editorSuggestWidget.selectedBackground #411541
editorWarning.background #a990405c
editorWarning.border #ffffff00
editorWarning.foreground #cca700
editorWhitespace.foreground #ffffff46
editorWidget.background #000000
editorWidget.foreground #cccccc
editorWidget.resizeBorder #32004f
focusBorder #390358
foreground #ffffff
gitDecoration.addedResourceForeground #159d51
gitDecoration.conflictingResourceForeground #6a6aff
gitDecoration.deletedResourceForeground #ee2300
gitDecoration.ignoredResourceForeground #868686
gitDecoration.modifiedResourceForeground #cca700
gitDecoration.stageDeletedResourceForeground #ff2600
gitDecoration.stageModifiedResourceForeground #ffd100
gitDecoration.submoduleResourceForeground #65acee
gitDecoration.untrackedResourceForeground #4cb26f
icon.foreground #ffffff
input.background #000000
input.border #00000000
input.foreground #ffffff
input.placeholderForeground #a6a6a6
inputOption.activeBackground #8100cd
inputOption.activeBorder #007acc00
inputOption.activeForeground #ffffff
list.activeSelectionBackground #32004f
list.activeSelectionForeground #ffffff
list.dropBackground #383b3d
list.focusBackground #32004f
list.focusForeground #ffffff
list.highlightForeground #ad35ff
list.hoverBackground #2a2d2e
list.hoverForeground #cccccc
list.inactiveSelectionBackground #32004f
list.inactiveSelectionForeground #cccccc
listFilterWidget.background #32004f
listFilterWidget.noMatchesOutline #be1100
listFilterWidget.outline #00000000
menu.background #111111
menu.border #32004f
menu.foreground #ffffff
menu.selectionBackground #32004f
menu.selectionBorder #00000000
menu.selectionForeground #ffffff
menu.separatorBackground #32004f
menubar.selectionBackground #FFFFFF21
menubar.selectionForeground #ffffff
merge.commonContentBackground #282828
merge.commonHeaderBackground #383838
merge.currentContentBackground #16362f
merge.currentHeaderBackground #12715a
merge.incomingContentBackground #26384d
merge.incomingHeaderBackground #2b479b
minimap.background #000000
minimap.errorHighlight #ff0000
minimap.findMatchHighlight #7500ba
minimap.selectionHighlight #3f0064
minimap.warningHighlight #cca700
minimapGutter.addedBackground #039603
minimapGutter.deletedBackground #ff0000
minimapGutter.modifiedBackground #0003b4
notificationCenter.border #32004f
notificationCenterHeader.background #32004f
notificationCenterHeader.foreground #ffffff
notifications.background #000000
notifications.border #32004f
notifications.foreground #cccccc
notificationsErrorIcon.foreground #ff2b00
notificationsInfoIcon.foreground #4763ff
notificationsWarningIcon.foreground #cca700
notificationToast.border #32004f
panel.background #000000
panel.border #32004f
panelSection.border #32004f
panelTitle.activeBorder #8100cd
panelTitle.activeForeground #ffffff
panelTitle.inactiveForeground #cccccc
peekView.border #32004f
peekViewEditor.background #230033
peekViewEditor.matchHighlightBackground #003664
peekViewEditor.matchHighlightBorder #ffffff00
peekViewEditorGutter.background #1d002a
peekViewResult.background #111111
peekViewResult.fileForeground #ffffff
peekViewResult.lineForeground #909090
peekViewResult.matchHighlightBackground #2e0049
peekViewResult.selectionBackground #8100cd33
peekViewResult.selectionForeground #ffffff
peekViewTitle.background #000000
peekViewTitleDescription.foreground #ffffffb3
peekViewTitleLabel.foreground #ffffff
pickerGroup.border #000000
pickerGroup.foreground #4763ff
progressBar.background #8100cd
scrollbar.shadow #8100cd
scrollbarSlider.activeBackground #32004fb3
scrollbarSlider.background #32004f
scrollbarSlider.hoverBackground #3a005c
selection.background #6500a1
settings.focusedRowBackground #ffffff07
settings.headerForeground #ffffff
sideBar.background #000000
sideBar.border #32004f
sideBar.dropBackground #383b3d
sideBar.foreground #cccccc
sideBarSectionHeader.background #00000000
sideBarSectionHeader.border #cccccc33
sideBarSectionHeader.foreground #cccccc
sideBarTitle.foreground #bbbbbb
statusBar.background #32004f
statusBar.debuggingBackground #32004f
statusBar.debuggingForeground #ffffff
statusBar.foreground #ffffff
statusBar.noFolderBackground #32004f
statusBar.noFolderForeground #ffffff
statusBarItem.activeBackground #FFFFFF25
statusBarItem.hoverBackground #ffffff1f
statusBarItem.remoteBackground #001cb6
statusBarItem.remoteForeground #ffffff
tab.activeBackground #32004f
tab.activeBorder #8100cd
tab.activeBorderTop #00000000
tab.activeForeground #ffffff
tab.border #000000
tab.inactiveBackground #000000
tab.inactiveForeground #ffffff80
terminal.ansiBlack #000000
terminal.ansiBlue #2472c8
terminal.ansiBrightBlack #666666
terminal.ansiBrightBlue #3b8eea
terminal.ansiBrightCyan #29b8db
terminal.ansiBrightGreen #23d18b
terminal.ansiBrightMagenta #d670d6
terminal.ansiBrightRed #f14c4c
terminal.ansiBrightWhite #e5e5e5
terminal.ansiBrightYellow #f5f543
terminal.ansiCyan #11a8cd
terminal.ansiGreen #0dbc79
terminal.ansiMagenta #bc3fbc
terminal.ansiRed #cd3131
terminal.ansiWhite #e5e5e5
terminal.ansiYellow #e5e510
terminal.border #32004f
terminal.foreground #cccccc
terminal.selectionBackground #4891ff41
terminalCursor.background #8100cd
terminalCursor.foreground #ffffff
textLink.foreground #4763ff
titleBar.activeBackground #000000
titleBar.activeForeground #cccccc
titleBar.border #00000000
titleBar.inactiveBackground #000000bd
titleBar.inactiveForeground #cccccc99
tree.indentGuidesStroke #585858
walkThrough.embeddedEditorBackground #00000050
widget.shadow #32004f #ffffff
punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python #ffff00 —
variable.parameter.function.language.special.self.python #ffcbf2 —
storage.modifier.lifetime.rust #ffff00 —
support.function.std.rust #00afff —
entity.name.lifetime.rust #ffcbf2 —
variable.language.rust #ffffff —
support.constant.edge #d000ff —
constant.other.character-class.regexp #ffffff —
keyword.operator.quantifier.regexp #ffff00 —
punctuation.definition.string.begin,punctuation.definition.string.end #00ff00 —
variable.parameter.function #ffff00 —
comment markup.link #00a000 —
markup.changed.diff #ffcbf2 —
meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff #00afff —
markup.inserted.diff #00ff00 —
markup.deleted.diff #ffffff —
meta.function.c,meta.function.cpp #ffffff —
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 #ffff00 —
punctuation.separator.key-value #ffff00 —
keyword.operator.expression.import #00afff —
support.constant.math #ffcbf2 —
support.constant.property.math #ffff00 —
variable.other.constant #ffcbf2 —
storage.type.annotation.java, storage.type.object.array.java #ffcbf2 —
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 #ffff00 —
storage.modifier.import.java,storage.type.java,storage.type.generic.java #ffcbf2 —
keyword.operator.instanceof.java #d000ff —
meta.definition.variable.name.java #ffffff —
keyword.operator.logical #00afff —
keyword.operator.bitwise #00afff —
keyword.operator.channel #00afff —
support.constant.property-value.scss,support.constant.property-value.css #ffff00 —
keyword.operator.css,keyword.operator.scss,keyword.operator.less #00afff —
support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss #ffff00 —
punctuation.separator.list.comma.css #ffff00 —
support.constant.color.w3c-standard-color-name.css #ffff00 —
support.type.vendored.property-name.css #00afff —
support.module.node,support.type.object.module,support.module.node #ffcbf2 —
entity.name.type.module #ffcbf2 —
variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node #ffffff —
support.constant.json #ffff00 —
keyword.operator.expression.instanceof, keyword.operator.new, keyword.operator.ternary, keyword.operator.optional, keyword.operator.expression.keyof #d000ff —
support.type.object.console #ffffff —
support.variable.property.process #ffff00 —
entity.name.function,support.function.console #00afff —
keyword.operator.misc.rust #ffff00 —
keyword.operator.sigil.rust #d000ff —
keyword.operator.delete #d000ff —
support.type.object.dom #00afff —
support.variable.dom,support.variable.property.dom #ffffff —
keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational #00afff —
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 #d000ff —
punctuation.separator.delimiter #ffff00 —
punctuation.separator.c,punctuation.separator.cpp #d000ff —
support.type.posix-reserved.c,support.type.posix-reserved.cpp #00afff —
keyword.operator.sizeof.c,keyword.operator.sizeof.cpp #d000ff —
variable.parameter.function.language.python #ffff00 —
support.type.python #00afff —
keyword.operator.logical.python #d000ff —
variable.parameter.function.python #ffff00 —
punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python #ffff00 —
meta.function-call.generic.python #00afff —
constant.character.format.placeholder.other.python #ffff00 —
keyword.operator.assignment.compound #d000ff —
keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts #00afff —
entity.name.namespace #ffcbf2 —
variable.language #ffcbf2 —
token.variable.parameter.java #ffff00 —
import.storage.java #ffcbf2 —
token.package.keyword #d000ff —
entity.name.function, meta.require, support.function.any-method, variable.function #00afff —
entity.name.type.namespace #ffcbf2 —
support.class, entity.name.type.class #ffcbf2 —
entity.name.class.identifier.namespace.type #ffcbf2 —
entity.name.class, variable.other.class.js, variable.other.class.ts #ffcbf2 —
variable.other.class.php #ffffff —
control.elements, keyword.operator.less #ffff00 —
keyword.other.special-method #00afff —
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 #d000ff —
token.storage.type.java #ffcbf2 —
support.type.property-name #ffff00 —
support.constant.property-value #ffff00 —
support.constant.font-name #ffff00 —
entity.other.inherited-class #ffcbf2 —
constant.other.symbol #00afff —
punctuation.definition.constant #ffff00 —
entity.other.attribute-name #ffff00 —
entity.other.attribute-name.id #00afff normal
entity.other.attribute-name.class.css #ffff00 normal
markup.heading punctuation.definition.heading, entity.name.section #00afff —
keyword.other.unit #ffffff —
markup.bold,todo.bold #ffff00 —
punctuation.definition.bold #ffcbf2 —
markup.italic, punctuation.definition.italic,todo.emphasis #d000ff —
entity.name.section.markdown #ffffff —
punctuation.definition.heading.markdown #ffffff —
punctuation.definition.list.begin.markdown #ffffff —
markup.heading.setext #ffff00 —
punctuation.definition.bold.markdown #ffff00 —
markup.inline.raw.markdown #00ff00 —
markup.inline.raw.string.markdown #00ff00 —
punctuation.definition.list.markdown #ffffff —
punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.metadata.markdown #ffffff —
beginning.punctuation.definition.list.markdown #ffffff —
punctuation.definition.metadata.markdown #ffffff —
markup.underline.link.markdown,markup.underline.link.image.markdown #d000ff —
string.other.link.title.markdown,string.other.link.description.markdown #00afff —
constant.character.escape #00afff —
punctuation.section.embedded, variable.interpolation #ffffff —
punctuation.section.embedded.begin,punctuation.section.embedded.end #d000ff —
invalid.illegal.bad-ampersand.html #ffff00 —
invalid.deprecated #ffffff —
invalid.unimplemented #ffffff —
source.json meta.structure.dictionary.json > string.quoted.json #ffffff —
source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string #ffffff —
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 #00ff00 —
source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json #00afff —
support.type.property-name.json #ffffff —
support.type.property-name.json punctuation #ffffff —
text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade #d000ff —
text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade #d000ff —
support.other.namespace.use.php,support.other.namespace.use-as.php,support.other.namespace.php,entity.other.alias.php,meta.interface.php #ffcbf2 —
keyword.operator.error-control.php #d000ff —
keyword.operator.type.php #d000ff —
punctuation.section.array.begin.php #ffff00 —
punctuation.section.array.end.php #ffff00 —
invalid.illegal.non-null-typehinted.php #f44747 —
storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php #ffcbf2 —
meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php #00afff —
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 #ffff00 —
support.constant.core.rust #ffff00 —
support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php #ffff00 —
entity.name.goto-label.php,support.other.php #00afff —
keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php #00afff —
keyword.operator.regexp.php #d000ff —
keyword.operator.comparison.php #00afff —
keyword.operator.heredoc.php,keyword.operator.nowdoc.php #d000ff —
meta.function.decorator.python #00afff —
support.token.decorator.python,meta.function.decorator.identifier.python #00afff —
function.parameter #ffff00 —
function.parameter.ruby, function.parameter.cs #ffff00 —
constant.language.symbol.ruby #00afff —
inline-color-decoration rgb-value #ffff00 —
support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx #ffcbf2 —
block.scope.end,block.scope.begin #ffff00 —
entity.name.variable.local.cs #ffffff —
token.error-token #f44747 —
token.debug-token #d000ff —
punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded #d000ff —
meta.template.expression #ffff00 —
keyword.operator.module #d000ff —
support.type.type.flowtype #00afff —
support.type.primitive #ffcbf2 —
meta.property.object #ffffff —
variable.parameter.function.js #ffffff —
keyword.other.template.begin #00ff00 —
keyword.other.template.end #00ff00 —
keyword.other.substitution.begin #00ff00 —
keyword.other.substitution.end #00ff00 —
keyword.operator.assignment #00afff —
keyword.operator.assignment.go #ffcbf2 —
keyword.operator.arithmetic.go, keyword.operator.address.go #d000ff —
entity.name.package.go #ffcbf2 —
support.type.prelude.elm #00afff —
support.constant.elm #ffff00 —
punctuation.quasi.element #d000ff —
constant.character.entity #ffffff —
entity.other.attribute-name.pseudo-element, entity.other.attribute-name.pseudo-class #00afff —
entity.global.clojure #ffcbf2 —
meta.symbol.clojure #ffffff —
constant.keyword.clojure #00afff —
meta.arguments.coffee, variable.parameter.function.coffee #ffffff —
meta.scope.prerequisites.makefile #ffffff —
storage.modifier.import.groovy #ffcbf2 —
meta.method.groovy #00afff —
meta.definition.variable.name.groovy #ffffff —
meta.definition.class.inherited.classes.groovy #00ff00 —
support.variable.semantic.hlsl #ffcbf2 —
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 #d000ff —
text.variable, text.bracketed #ffffff —
support.type.swift, support.type.vb.asp #ffcbf2 —
entity.name.function.xi #ffcbf2 —
entity.name.class.xi #00afff —
constant.character.character-class.regexp.xi #ffffff —
constant.regexp.xi #d000ff —
keyword.control.xi #00afff —
beginning.punctuation.definition.quote.markdown.xi #00ff00 —
beginning.punctuation.definition.list.markdown.xi #00a000 —
constant.character.xi #00afff —
constant.other.color.rgb-value.xi #ffffff —
punctuation.definition.tag.xi #00a000 —
entity.name.label.cs, entity.name.scope-resolution.function.call, entity.name.scope-resolution.function.definition #ffcbf2 —
entity.name.label.cs, markup.heading.setext.1.markdown, markup.heading.setext.2.markdown #ffffff —
meta.brace.square #ffff00 —
comment, punctuation.definition.comment #00a000 italic
markup.quote.markdown #00a000 —
punctuation.definition.block.sequence.item.yaml #ffff00 —
constant.language.symbol.elixir #00afff —
entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super — italic
comment.line.double-slash,comment.block.documentation — italic
keyword.control.import.python,keyword.control.flow.python — italic
markup.italic.markdown — italic
meta.return.type.ts, support.type.primitive.ts #00FFFF —
variable.language.this #D000FF —
variable.other.readwrite, text.html.derivative, support.constant.property-value.css, constant.numeric.css, support.constant.color.w3c-standard-color-name.css, support.constant.color.w3c-extended-color-name.css #FFFFFF —
punctuation.definition.heading.markdown, entity.name.section.markdown, entity.name.tag.html, entity.name.tag.css, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, entity.name.type, entity.name.type.class, punctuation.definition.entity.css, entity.other.attribute-name.class.css, entity.name.tag.custom.scss, variable.other.readwrite.alias.ts #9370DB —
entity.name.function.member, entity.name.function, support.type.property-name #449ce4 —
source.ignore, meta.paragraph.markdown, entity.other.attribute-name.html, entity.other.attribute-name.attribute.scss, variable.other.constant.ts, variable.other.property, variable.other.object.property.ts, keyword.other.unit, support.type.property-name.json, variable.scss, support.constant.font-name.css, meta.property-value.scss, meta.at-rule.include.scss #ffb5e9 —
support.type.primitive.ts, constant.language.boolean, variable.other.constant.object.html, variable.other.object.html, variable.other.readwrite, meta.ng-binding.event.html #FFD700 —
meta.attribute-selector.scss #00FF00 —
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 } !` ;
}
fetchUser.ts
index.ts
README.md
src
components
fetchUser.ts
src
components
fetchUser.ts
fetchUser 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Problems1
Output
Debug Console
Terminal
Ports
~/my-project $ pnpm dev
▲ Next.js ready on http://localhost:3000
✓ compiled client and server successfully in 412ms
wait - compiling /theme/vscode...
~/my-project
main*
Button.tsx
31
$
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 } !` ;
}
Abyssal Purple Theme | Coding Theme