Dark Theme VS2022
Publisher: SoVoKaNThemes in package: 1
Dark theme inspired by Visual Studio 2022.
Dark theme inspired by Visual Studio 2022.
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 | #DCDCDCFF | — |
| comment | #57A64AFF | — |
| string | #D69D85FF | — |
| constant.numeric | #B5CEA8FF | — |
| constant.character | #D69D85FF | — |
| constant.language | #569CD6FF | — |
| variable | #9CDCFEFF | — |
| variable.language | #569CD6FF | — |
| variable.parameter | #9A9A9AFF | — |
| variable.other | #DADADAFF | — |
| entity.name.class | #4EC9B0FF | — |
| entity.name.function | #DCDCAAFF | — |
| entity.name.method | #DCDCAAFF | — |
| entity.name.type | #4EC9B0FF | — |
| keyword.control | #D8A0DFFF | — |
| keyword.control.directive | #9B9B9BFF | — |
| keyword.operator | #B4B4B4FF | — |
| keyword.other | #569CD6FF | — |
| storage.type | #569CD6FF | — |
| storage.modifier | #569CD6FF | — |
| punctuation.definition.string | #E8C9BBFF | — |
| punctuation.section | #B4B4B4FF | — |
| punctuation.separator | #B4B4B4FF | — |
| punctuation.terminator | #B4B4B4FF | — |
| punctuation.definition.begin.bracket.square, punctuation.definition.end.bracket.square | #B4B4B4FF | — |
| variable.other.macro.argument.c | #B4B4B4FF | — |
| meta.preprocessor.macro.c | #B4B4B4FF | — |
| keyword.other.unit.binary.c | #B5CEA8FF | — |
| keyword.other.unit.octal.c | #B5CEA8FF | — |
| keyword.other.unit.hexadecimal.c | #B5CEA8FF | — |
| storage.modifier.array.bracket.square.c | #B4B4B4FF | — |
| punctuation.definition.parameters.begin.c, punctuation.definition.parameters.end.c | #B4B4B4FF | — |
| variable.other.macro.argument.cpp | #B4B4B4FF | — |
| meta.preprocessor.macro.cpp | #B4B4B4FF | — |
| keyword.operator.sizeof.cpp | #569CD6FF | — |
| keyword.other.unit.suffix.floating-point.cpp | #B5CEA8FF | — |
| keyword.other.unit.binary.cpp | #B5CEA8FF | — |
| keyword.other.unit.octal.cpp | #B5CEA8FF | — |
| keyword.other.unit.hexadecimal.cpp | #B5CEA8FF | — |
| entity.name.scope-resolution.cpp | #C8C8C8FF | — |
| entity.name.function.preprocessor.cpp | #DCDCDCFF | — |
| storage.modifier.array.bracket.square.c | #B4B4B4FF | — |
| punctuation.definition.parameters.begin.cpp, punctuation.definition.parameters.end.cpp | #B4B4B4FF | — |
| constant.language.go.mod | #D7BA7DFF | — |
| variable.other.go | #4EC9B0FF | — |
| variable.other.constant.go | #9CDCFEFF | — |
| variable.other.assignment.go | #9CDCFEFF | — |
| variable.other.property.go | #DADADAFF | — |
| entity.name.type.go | #86C691FF | — |
| entity.name.type.package.go | #4EC9B0FF | — |
| keyword.go.mod | #569CD6FF | — |
| keyword.package.go | #569CD6FF | — |
| keyword.struct.go | #569CD6FF | — |
| keyword.interface.go | #569CD6FF | — |
| keyword.function.go | #569CD6FF | — |
| keyword.type.go | #569CD6FF | — |
| keyword.map.go | #569CD6FF | — |
| keyword.var.go | #569CD6FF | — |
| keyword.const.go | #569CD6FF | — |
| punctuation.definition.begin.bracket.curly.go, punctuation.definition.end.bracket.curly.go, punctuation.definition.begin.bracket.round.go, punctuation.definition.end.bracket.round.go, punctuation.definition.begin.bracket.square.go, punctuation.definition.end.bracket.square.go, punctuation.other.comma.go, punctuation.other.colon.go | #B4B4B4FF | — |
| variable.other.object.java | #9CDCFEFF | — |
| variable.other.definition.java | #9CDCFEFF | — |
| entity.other.inherited-class.java | #4EC9B0FF | — |
| keyword.other.import.java | #D8A0DFFF | — |
| storage.type.java | #4EC9B0FF | — |
| storage.modifier.package.java | #4EC9B0FF | — |
| storage.type.function.arrow.java | #B4B4B4FF | — |
| meta.method-call.java | #9CDCFEFF | — |
| punctuation.bracket.angle.java, punctuation.bracket.square.java, punctuation.definition.parameters.begin.bracket.round.java, punctuation.definition.parameters.end.bracket.round.java | #B4B4B4FF | — |
| storage.type.string.python | #E8C9BBFF | — |
| punctuation.definition.decorator.python | #BBB529FF | — |
| punctuation.definition.arguments.begin.python, punctuation.definition.arguments.end.python, punctuation.definition.list.begin.python, punctuation.definition.list.end.python, punctuation.definition.dict.begin.python, punctuation.definition.dict.end.python | #B4B4B4FF | — |
| entity.name.tag.html | #569CD6FF | — |
| entity.other.attribute-name.html | #9CDCFEFF | — |
| punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html | #808080FF | — |
| variable.other.normal.shell | #9CDCFEFF | — |
| variable.other.assignment.shell | #9CDCFEFF | — |
| variable.other.for.shell | #9CDCFEFF | — |
| entity.name.command.shell | #D8A0DFFF | — |
| punctuation.definition.variable.shell | #B4B4B4FF | — |
| string.unquoted.cmake | #9CDCFEFF | — |
| variable.other.cmake | #9CDCFEFF | — |
| variable.other.env.cmake | #9CDCFEFF | — |
| support.function.cmake | #DCDCAAFF | — |
| support.function.commandProperty.cmake | #D8A0DFFF | — |
| support.type.build.cmake | #4EC9B0FF | — |
| support.type.system.cmake | #4EC9B0FF | — |
| support.type.testProperty.cmake | #4EC9B0FF | — |
| support.type.targetProperty.cmake | #569CD6FF | — |
| support.type.globalProperty.cmake | #4EC9B0FF | — |
| support.type.sourceFile.cmake | #4EC9B0FF | — |
| support.type.provideInfo.cmake | #4EC9B0FF | — |
| text.xml | #C8C8C8FF | — |
| entity.name.tag.xml | #569CD6FF | — |
| entity.other.attribute-name.xml | #92CAF4FF | — |
| entity.name.tag.localname.xml | #569CD6FF | — |
| entity.other.attribute-name.localname.xml | #92CAF4FF | — |
| entity.other.attribute-name.namespace.xml | #92CAF4FF | — |
| punctuation.definition.tag.xml | #808080FF | — |
| support.type.property-name.json | #D7BA7DFF | — |
| entity.name.section.group-title.ini | #4EC9B0FF | — |
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}!`;
}