VS Code preview Full workbench mockup using this variant's colors and tokenColors.
fetchUser.tssrc/components index.ts README.md
src
components fetchUser.ts Button.tsx Modal.tsx legacy.tsx fetch Config.tsindex.ts renamed.ts staged.ts removed.ts
vendor package.json broken.ts slow.ts tsconfig.json README.md package-lock.json 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
31
32
33
34
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 } ! ` ;
}
Problems1
Output
Debug Console
Terminal
Ports
✓ fetchUser passed 12 blk
✗ Cannot find name 'user'. error ▲ warning 412 ready localhost
Ln 5, Col 12
Spaces: 2
UTF-8
LF
TypeScript
Popcorn
colors Workbench UI color keys from the theme JSON colors map.
key HEX RGB RGBA activityBar.activeBorder
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) activityBar.background
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) activityBar.border
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) activityBar.foreground
#A9A9D2 RGB(169, 169, 210) RGBA(169, 169, 210, 1) activityBarBadge.background
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) activityBarBadge.foreground
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) button.background
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) button.foreground
#07071D RGB(7, 7, 29) RGBA(7, 7, 29, 1) checkbox.background
#07071D RGB(7, 7, 29) RGBA(7, 7, 29, 1) checkbox.border
#07071D RGB(7, 7, 29) RGBA(7, 7, 29, 1) checkbox.foreground
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) editor.background
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) editor.foreground
#F8F8F8 RGB(248, 248, 248) RGBA(248, 248, 248, 1) editor.lineHighlightBackground
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) editor.lineHighlightBorder
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) editor.selectionBackground
#07071D RGB(7, 7, 29) RGBA(7, 7, 29, 1) editorGroup.border
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) editorGroupHeader.tabsBackground
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) editorGroupHeader.tabsBorder
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) editorWidget.background
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) editorWidget.border
#07071D RGB(7, 7, 29) RGBA(7, 7, 29, 1) extensionButton.prominentBackground
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) extensionButton.prominentForeground
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) extensionButton.prominentHoverBackground
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) focusBorder
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) input.background
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) input.foreground
#A9A9D2 RGB(169, 169, 210) RGBA(169, 169, 210, 1) list.activeSelectionBackground
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) list.focusOutline
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) list.hoverBackground
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) list.inactiveFocusBackground
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) list.inactiveSelectionBackground
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) sash.hoverBorder
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) searchEditor.textInputBorder
#07071D RGB(7, 7, 29) RGBA(7, 7, 29, 1) settings.dropdownBackground
#07071D RGB(7, 7, 29) RGBA(7, 7, 29, 1) settings.dropdownBorder
#07071D RGB(7, 7, 29) RGBA(7, 7, 29, 1) settings.modifiedItemIndicator
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) sideBar.background
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) sideBar.foreground
#A9A9D2 RGB(169, 169, 210) RGBA(169, 169, 210, 1) sideBarSectionHeader.background
#111128 RGB(17, 17, 40) RGBA(17, 17, 40, 1) sideBarSectionHeader.foreground
#A9A9D2 RGB(169, 169, 210) RGBA(169, 169, 210, 1) statusBar.background
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) statusBar.foreground
#A9A9D2 RGB(169, 169, 210) RGBA(169, 169, 210, 1) tab.activeBackground
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) tab.inactiveBackground
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) terminal.background
#181832 RGB(24, 24, 50) RGBA(24, 24, 50, 1) terminal.border
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) textLink.activeForeground
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) textLink.foreground
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) titleBar.activeBackground
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1) titleBar.activeForeground
#F8F8F8 RGB(248, 248, 248) RGBA(248, 248, 248, 1) titleBar.inactiveForeground
#A9A9D2 RGB(169, 169, 210) RGBA(169, 169, 210, 1) tree.indentGuidesStroke
#232337 RGB(35, 35, 55) RGBA(35, 35, 55, 1)
tokenColors Foregrounds this theme assigns to the token scope catalog. A rule with only a font style is skipped, and a longer matching scope wins. Italic and bold rules are not listed — the preview above shows them in the code.
scope HEX RGB RGBA comment
#606086 RGB(96, 96, 134) RGBA(96, 96, 134, 1) comment.block
#606086 RGB(96, 96, 134) RGBA(96, 96, 134, 1) comment.block.documentation
#606086 RGB(96, 96, 134) RGBA(96, 96, 134, 1) comment.line
#606086 RGB(96, 96, 134) RGBA(96, 96, 134, 1) constant
#FFCB6B RGB(255, 203, 107) RGBA(255, 203, 107, 1) constant.character
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) constant.character.escape
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) constant.numeric
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) constant.numeric.integer
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) constant.numeric.float
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) constant.numeric.hex
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) constant.numeric.octal
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) constant.other
#FFCB6B RGB(255, 203, 107) RGBA(255, 203, 107, 1) constant.other.placeholder
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) entity
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.class
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.function
#FF7D7D RGB(255, 125, 125) RGBA(255, 125, 125, 1) entity.name.method
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.namespace
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.section
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.selector
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.tag
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) entity.name.type
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.type.enum
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.type.interface
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.name.type.struct
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) entity.other
#FFCB6B RGB(255, 203, 107) RGBA(255, 203, 107, 1) entity.other.attribute-name
#FFCB6B RGB(255, 203, 107) RGBA(255, 203, 107, 1) entity.other.inherited-class
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) invalid
#FF5370 RGB(255, 83, 112) RGBA(255, 83, 112, 1) invalid.deprecated
#FF5370 RGB(255, 83, 112) RGBA(255, 83, 112, 1) invalid.illegal
#FF5370 RGB(255, 83, 112) RGBA(255, 83, 112, 1) keyword
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) keyword.control
#FF7D7D RGB(255, 125, 125) RGBA(255, 125, 125, 1) keyword.control.flow
#FF7D7D RGB(255, 125, 125) RGBA(255, 125, 125, 1) keyword.operator
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) keyword.operator.new
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) keyword.operator.assignment
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) keyword.operator.arithmetic
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) keyword.operator.logical
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) keyword.other
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) markup
#F8F8F8 RGB(248, 248, 248) RGBA(248, 248, 248, 1) markup.bold
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) markup.changed
#B2E1D3 RGB(178, 225, 211) RGBA(178, 225, 211, 1) markup.deleted
#FF5370 RGB(255, 83, 112) RGBA(255, 83, 112, 1) markup.heading
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) markup.inline.raw
#B2E1D3 RGB(178, 225, 211) RGBA(178, 225, 211, 1) markup.inserted
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) markup.italic
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) markup.raw
#F8F8F8 RGB(248, 248, 248) RGBA(248, 248, 248, 1) markup.underline
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) markup.underline.link
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) meta
#65737E RGB(101, 115, 126) RGBA(101, 115, 126, 1) meta.function-call
#FF7D7D RGB(255, 125, 125) RGBA(255, 125, 125, 1) meta.tag
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) punctuation.definition.bracket
#B2CCD6 RGB(178, 204, 214) RGBA(178, 204, 214, 1) punctuation.definition.comment
#606086 RGB(96, 96, 134) RGBA(96, 96, 134, 1) punctuation.definition.string.begin
#B2CCD6 RGB(178, 204, 214) RGBA(178, 204, 214, 1) punctuation.definition.string.end
#B2CCD6 RGB(178, 204, 214) RGBA(178, 204, 214, 1) punctuation.separator
#B2CCD6 RGB(178, 204, 214) RGBA(178, 204, 214, 1) punctuation.separator.continuation
#B2CCD6 RGB(178, 204, 214) RGBA(178, 204, 214, 1) punctuation.terminator
#B2CCD6 RGB(178, 204, 214) RGBA(178, 204, 214, 1) storage
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) storage.modifier
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) storage.type
#D566E8 RGB(213, 102, 232) RGBA(213, 102, 232, 1) string
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.interpolated
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.other
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.quoted
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.quoted.double
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.quoted.other
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.quoted.single
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.quoted.triple
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.regexp
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.template
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) string.unquoted
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) support
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) support.class
#FFCB6B RGB(255, 203, 107) RGBA(255, 203, 107, 1) support.constant
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1) support.function
#FF7D7D RGB(255, 125, 125) RGBA(255, 125, 125, 1) support.other
#FFCB6B RGB(255, 203, 107) RGBA(255, 203, 107, 1) support.type
#B2CCD6 RGB(178, 204, 214) RGBA(178, 204, 214, 1) support.type.primitive
#B2CCD6 RGB(178, 204, 214) RGBA(178, 204, 214, 1) support.type.property-name
#E1A0B7 RGB(225, 160, 183) RGBA(225, 160, 183, 1) variable
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) variable.function
#FF7D7D RGB(255, 125, 125) RGBA(255, 125, 125, 1) variable.language
#FF5370 RGB(255, 83, 112) RGBA(255, 83, 112, 1) variable.name
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) variable.other
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) variable.other.constant
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) variable.other.property
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) variable.other.readwrite
#F8C53A RGB(248, 197, 58) RGBA(248, 197, 58, 1) variable.parameter
#A1DB60 RGB(161, 219, 96) RGBA(161, 219, 96, 1)