Skip to main content
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.background #789078 activityBar.border #C0D8C0 activityBar.foreground #D8C0A8 activityBarBadge.background #D8D8C0 activityBarBadge.foreground #789078 badge.background #78907830 tokenColors TextMate scopes and font styles (syntax highlighting rules).
scope foreground fontStyle variable, string constant.other.placeholder, invalid.deprecated, keyword, storage.type, storage.modifier #607878 — variable, string constant.other.placeholder, entity.name.function, punctuation.definition.interpolation.end.bracket.curly.scss, punctuation.definition.interpolation.begin.bracket.curly.scss — italic punctuation.definition.interpolation.end.bracket.curly.scss, punctuation.definition.interpolation.begin.bracket.curly.scss #789078 — constant.other.php #C0A8A8 —
Shiki preview TypeScript sample highlighted with this variant's colors and tokenColors.
Forest Witch — Forest Witch
badge.foreground
#909090
breadcrumb.activeSelectionForeground #909090
breadcrumb.background #789078
breadcrumb.focusForeground #D8C0A8
breadcrumb.foreground #A8A890
breadcrumbPicker.background #789078
button.background #90909050
contrastBorder #90909040
debugToolBar.background #789078
diffEditor.insertedTextBackground #78907815
diffEditor.removedTextBackground #A8C0C020
dropdown.background #789078
dropdown.border #F0D8D810
editor.background #90A890
editor.findMatchBackground #789078
editor.findMatchBorder #909090
editor.findMatchHighlightBackground #90909093
editor.findMatchHighlightBorder #F0D8D830
editor.foreground #D8C0A8
editor.lineHighlightBackground #78907850
editor.selectionBackground #D8D8C030
editor.selectionHighlightBackground #9090906b
editor.selectionHighlightBorder #D8D8C0f0
editorBracketMatch.background #789078
editorBracketMatch.border #C0A8A87f
editorCursor.foreground #C0A8A8
editorError.foreground #A8C0C070
editorGroup.border #78907830
editorGroupHeader.tabsBackground #789078
editorGutter.addedBackground #78907860
editorGutter.deletedBackground #A8C0C060
editorGutter.modifiedBackground #D8D8C060
editorHoverWidget.background #789078
editorHoverWidget.border #F0D8D810
editorIndentGuide.activeBackground #C0D8C0
editorIndentGuide.background #C0D8C070
editorInfo.foreground #D8D8C070
editorLineNumber.activeForeground #D8D8C0
editorLineNumber.foreground #909090c0
editorLink.activeForeground #D8C0A8
editorMarkerNavigation.background #D8C0A805
editorOverviewRuler.border #789078
editorOverviewRuler.errorForeground #A8C0C040
editorOverviewRuler.findMatchForeground #909090
editorOverviewRuler.infoForeground #D8D8C040
editorOverviewRuler.warningForeground #C0A8A870
editorRuler.foreground #C0D8C0
editorSuggestWidget.background #789078
editorSuggestWidget.border #F0D8D810
editorSuggestWidget.foreground #D8C0A8
editorSuggestWidget.highlightForeground #C0A8A8
editorSuggestWidget.selectedBackground #90909020
editorWarning.foreground #789078
editorWhitespace.foreground #D8C0A840
editorWidget.background #789078
editorWidget.border #C0A8A8
editorWidget.resizeBorder #909090
extensionButton.prominentBackground #575757c7
extensionButton.prominentHoverBackground #A8C0C0
focusBorder #F0D8D800
gitDecoration.conflictingResourceForeground #C0A8A8
gitDecoration.deletedResourceForeground #A8C0C0
gitDecoration.ignoredResourceForeground #909090
gitDecoration.modifiedResourceForeground #575757c7
gitDecoration.untrackedResourceForeground #D8D8C0
input.background #607878
input.border #F0D8D810
input.foreground #D8C0A8
input.placeholderForeground #D8C0A860
inputOption.activeBackground #D8C0A830
inputOption.activeBorder #D8C0A830
inputValidation.errorBorder #A8C0C050
inputValidation.infoBorder #D8D8C050
inputValidation.warningBorder #C0A8A850
list.activeSelectionBackground #789078
list.activeSelectionForeground #909090
list.focusBackground #607878
list.focusForeground #D8D8C0
list.highlightForeground #909090
list.hoverBackground #90A890
list.hoverForeground #607878
list.inactiveSelectionBackground #78907830
list.inactiveSelectionForeground #909090
list.warningForeground #C0A8A8
listFilterWidget.background #78907830
listFilterWidget.noMatchesOutline #78907830
listFilterWidget.outline #78907830
menu.background #789078f8
menu.border #90909050
menu.foreground #D8C0A8
menu.selectionBackground #607878
menu.selectionBorder #78907830
menu.selectionForeground #D8C0A8
menu.separatorBackground #D8C0A8
menubar.selectionBackground #607878
menubar.selectionBorder #90909050
menubar.selectionForeground #D8C0A8
minimap.background #789078
minimapGutter.addedBackground #A8C0C0
minimapGutter.deletedBackground #C0A8A8
minimapGutter.modifiedBackground #789078
minimapSlider.activeBackground #789078b0
minimapSlider.background #78907880
minimapSlider.hoverBackground #789078a0
notificationLink.foreground #909090
notifications.background #789078
notifications.foreground #D8C0A8
panel.background #607878
panel.border #78907860
panelTitle.activeBorder #909090
panelTitle.activeForeground #F0D8D8
panelTitle.inactiveForeground #D8C0A8
peekView.border #78907830
peekViewEditor.background #D8C0A805
peekViewEditor.matchHighlightBackground #90909050
peekViewEditorGutter.background #D8C0A805
peekViewResult.background #D8C0A805
peekViewResult.matchHighlightBackground #90909050
peekViewResult.selectionBackground #90909070
peekViewTitle.background #D8C0A805
peekViewTitleDescription.foreground #D8C0A860
pickerGroup.foreground #909090
progressBar.background #909090
scrollbar.shadow #78907800
scrollbarSlider.activeBackground #789078
scrollbarSlider.background #789078
scrollbarSlider.hoverBackground #789078
selection.background #909090
settings.checkboxBackground #789078
settings.checkboxForeground #D8C0A8
settings.dropdownBackground #789078
settings.dropdownForeground #D8C0A8
settings.headerForeground #909090
settings.modifiedItemIndicator #909090
settings.numberInputBackground #789078
settings.numberInputForeground #D8C0A8
settings.textInputBackground #789078
settings.textInputForeground #D8C0A8
sideBar.background #789078
sideBar.border #90909050
sideBar.foreground #D8D8C0
sideBarSectionHeader.background #607878
sideBarSectionHeader.border #78907860
sideBarSectionHeader.foreground #D8D8C0
sideBarTitle.foreground #D8C0A8
statusBar.background #607878
statusBar.border #78907860
statusBar.debuggingBackground #C0A8A8
statusBar.debuggingForeground #F0D8D8
statusBar.foreground #A8C0A8
statusBar.noFolderBackground #789078
statusBarItem.hoverBackground #90909020
statusBarItem.remoteBackground #909090
statusBarItem.remoteForeground #789078
tab.activeBackground #607878
tab.activeBorder #909090
tab.activeForeground #F0D8D8
tab.activeModifiedBorder #909090
tab.border #789078
tab.inactiveBackground #90909020
tab.inactiveForeground #D8C0A8af
tab.unfocusedActiveBackground #90909040
tab.unfocusedActiveBorder #909090
tab.unfocusedActiveForeground #D8C0A8
tab.unfocusedInactiveBackground #90909010
tab.unfocusedInactiveForeground #D8C0A87f
terminal.ansiBlack #789078
terminal.ansiBlue #D8D8C0
terminal.ansiBrightBlack #909090
terminal.ansiBrightBlue #D8D8C0
terminal.ansiBrightCyan #D8D8D8
terminal.ansiBrightGreen #789078
terminal.ansiBrightMagenta #C0A8A8
terminal.ansiBrightRed #A8C0C0
terminal.ansiBrightWhite #F0D8D8
terminal.ansiBrightYellow #C0A8A8
terminal.ansiCyan #D8D8D8
terminal.ansiGreen #789078
terminal.ansiMagenta #C0A8A8
terminal.ansiRed #A8C0C0
terminal.ansiWhite #F0D8D8
terminal.ansiYellow #C0A8A8
terminal.background #789078
terminalCursor.background #789078
terminalCursor.foreground #C0A8A8
textLink.activeForeground #D8C0A8
textLink.foreground #F0D8D8
titleBar.activeBackground #607878
titleBar.activeForeground #D8C0A8
titleBar.border #78907860
titleBar.inactiveBackground #607878
titleBar.inactiveForeground #909090
tree.indentGuidesStroke #C0D8C0
widget.shadow #78907830 invalid, invalid.illegal #A8C0C0 —
keyword.control, constant.other.color, punctuation.definition.tag, punctuation, punctuation.separator.inheritance.php, punctuation.definition.tag.html, punctuation.section.embedded, keyword.other.template, keyword.other.substitution, entity.name.tag.reference.scss #607878 —
punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, entity.name.type.module.js #A8A890 —
keyword.control.at-rule, punctuation.terminator.rule.css, keyword.control.operator, punctuation.definition.entity.css, keyword.operator.assignment.js, punctuation.separator.comma.js, punctuation.definition.string.begin.js, punctuation.definition.string.end.js, punctuation.definition.binding-pattern.object.js #D8C0A8 —
punctuation.definition, string.quoted.single.scss #F0C0C0 —
comment.line.scss, comment.line.double-slash.js, punctuation.definition.comment.scss, punctuation.definition.comment.js, punctuation.definition.comment.html, comment.block.html #6D6F7C —
text.html.derivative #607878 —
entity.name.tag, meta.tag.sgml, markup.deleted.git_gutter #D8C0A8 —
entity.name.tag.html — bold
variable.parameter.js, variable.parameter.keyframe-list.css #bbc0a8 —
variable.other.object.js, storage.type.js, string.other.link.title.markdown, variable.other.readwrite.js, variable.other.property.js #607878
string, string.quoted.double.html, variable.other.constant.js, variable.other.object.property.js, string.quoted.double.json, markup.fenced_code.block.markdown, markup.inline.raw.string.markdown, variable.function, keyword.other.special-method, entity.name.function, markup.bold, markup.bold.markdown, markup.italic.markdown, meta.class-method.js entity.name.function.js, variable.function.constructor, entity.name.tag.other.html, entity.name.tag.block.any.html, source.sass keyword.control #D8C0A8 —
punctuation.definition.string.begin.html, punctuation.definition.string.end.html #D8D8D8 —
support.other.variable, string.other.link, markup.table #D8C0A8 —
constant.numeric, constant.language, constant.character, constant.escape, keyword.other.unit, keyword.other, punctuation.separator.key-value.html #607878 —
variable.parameter.function.language.special, variable.parameter #607878 —
constant.other.symbol, constant.other.key, entity.other.inherited-class, keyword.other.unit, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly, constant.other.object.key.js, string.unquoted.label.js #789078
entity.name, support.type, support.class, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter, support.type.sys-types, entity.other.attribute-name.html #C0A8A8 —
source.css support.type.property-name, source.sass support.type.property-name, source.scss support.type.property-name, source.less support.type.property-name, source.stylus support.type.property-name, source.postcss support.type.property-name #A8A890 —
entity.name.module.js, variable.import.parameter.js, variable.other.class.js #A8C0C0 —
entity.name.method.js, tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js #D8D8C0 italic
entity.other.attribute-name, support.function #C0A8A8 —
entity.other.attribute-name.id, entity.other.attribute-name.class, entity.other.attribute-name.pseudo-class, entity.name.tag.css, keyword.control.conditional.js, support.constant, entity.other.attribute-name.html, string.quoted.single.js, storage.type.function.js, meta.object-literal.key #607878 —
source.scss keyword.control #C0A8A8 —
constant.character.escape #D8D8D8 —
*url*, *link*, *uri* — underline
source.js constant.other.object.key.js string.unquoted.label.js #D8C0A8 italic
support.type.property-name.json #D8C0A8 —
text.html.markdown, punctuation.definition.list_item.markdown #D8C0A8 —
text.html.markdown markup.inline.raw.markdown #C0A8A8 —
text.html.markdown markup.inline.raw.markdown, punctuation.definition.raw.markdown #90909050 —
text.html.markdown meta.dummy.line-break — —
markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown, entity.name.section.markdown #A8A890 bold
markup.underline #D8D8C0 underline
markup.quote punctuation.definition.blockquote.markdown #ff000050 —
string.other.link.description.title.markdown #C0A8A8 —
constant.other.reference.link.markdown #C0A8A8 —
punctuation.definition.raw.markdown, punctuation.definition.markdown #D8D8D8 —
variable.language.fenced.markdown #909090 —
meta.separator #A7A8AF bold
token.error-token #FF293B —
token.debug-token #D8D8D8 —
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...
main*
Button.tsx
31
~/my-project
$
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 } ! ` ;
}
Forest Witch | Coding Theme