Linux Themes for VS Code
Color themes designed to match the popular Ubuntu themes.
Color themes designed to match the popular Ubuntu themes.
Full workbench mockup using this variant's colors and tokenColors.
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}!`;
}
Linux Themes match popular Ubuntu desktop looks. This pack has four dark themes. They share one syntax palette. Backgrounds differ.
Adapta Nokto and Arc Dark use background #2f343f and text #CCC. Ambiance uses #31312e and #dddddd. United Ubuntu uses #1e1e1e and #dddddd.
Comments are #608b4e. Keywords are #569cd6. Strings are #ce9178. Functions are #DCDCAA. Types are #4EC9B0. Variables are #9CDCFE. Numbers are #b5cea8.
Workbench UI color keys from the theme JSON colors map.
| key | HEX | RGB | RGBA |
|---|---|---|---|
activityBar.background | |||
activityBar.foreground | |||
activityBarBadge.background | |||
activityBarBadge.foreground | |||
badge.background | |||
badge.foreground | |||
button.background | |||
button.foreground | |||
debugToolBar.background | |||
editor.background | |||
editor.foreground | |||
editor.inactiveSelectionBackground | |||
editor.lineHighlightBackground | |||
editor.selectionBackground | |||
editor.selectionHighlightBackground | |||
editorBracketMatch.background | |||
editorCursor.foreground | |||
editorGroup.background | |||
editorGroupHeader.noTabsBackground | |||
editorGroupHeader.tabsBackground | |||
editorIndentGuide.background | |||
input.background | |||
input.border | |||
inputOption.activeBorder | |||
inputValidation.errorBackground | |||
inputValidation.infoBackground | |||
inputValidation.warningBackground | |||
list.dropBackground | |||
scrollbarSlider.activeBackground | |||
scrollbarSlider.background | |||
scrollbarSlider.hoverBackground | |||
sideBar.background | |||
sideBar.foreground | |||
sideBarSectionHeader.background | |||
sideBarTitle.foreground | |||
statusBar.background | |||
statusBar.debuggingBackground | |||
statusBar.noFolderBackground | |||
tab.border | |||
tab.inactiveBackground | |||
tab.inactiveForeground | |||
titleBar.activeBackground | |||
titleBar.activeForeground | |||
titleBar.inactiveBackground | |||
titleBar.inactiveForeground |
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 | |||
comment.block | |||
comment.block.documentation | |||
comment.line | |||
constant | |||
constant.character | |||
constant.character.escape | |||
constant.numeric | |||
constant.numeric.integer | |||
constant.numeric.float | |||
constant.numeric.hex | |||
constant.numeric.octal | |||
constant.other | |||
constant.other.placeholder | |||
constant.regexp | |||
entity | |||
entity.name | |||
entity.name.class | |||
entity.name.function | |||
entity.name.method | |||
entity.name.namespace | |||
entity.name.section | |||
entity.name.selector | |||
entity.name.tag | |||
entity.name.type | |||
entity.name.type.enum | |||
entity.name.type.interface | |||
entity.name.type.struct | |||
entity.other | |||
entity.other.attribute-name | |||
entity.other.inherited-class | |||
invalid | |||
invalid.deprecated | |||
invalid.illegal | |||
keyword | |||
keyword.control | |||
keyword.control.flow | |||
keyword.operator | |||
keyword.operator.new | |||
keyword.operator.assignment | |||
keyword.operator.arithmetic | |||
keyword.operator.logical | |||
keyword.other | |||
markup | |||
markup.bold | |||
markup.changed | |||
markup.deleted | |||
markup.heading | |||
markup.inline.raw | |||
markup.inserted | |||
markup.italic | |||
markup.raw | |||
markup.underline | |||
markup.underline.link | |||
meta | |||
meta.function-call | |||
meta.preprocessor | |||
meta.return-type | |||
meta.selector | |||
meta.tag | |||
meta.type | |||
punctuation.definition.bracket | |||
punctuation.definition.comment | |||
punctuation.definition.string.begin | |||
punctuation.definition.string.end | |||
punctuation.separator | |||
punctuation.separator.continuation | |||
punctuation.terminator | |||
storage | |||
storage.modifier | |||
storage.type | |||
string | |||
string.interpolated | |||
string.other | |||
string.quoted | |||
string.quoted.double | |||
string.quoted.other | |||
string.quoted.single | |||
string.quoted.triple | |||
string.regexp | |||
string.template | |||
string.unquoted | |||
support | |||
support.class | |||
support.constant | |||
support.function | |||
support.other | |||
support.type | |||
support.type.primitive | |||
support.type.property-name | |||
support.variable | |||
variable | |||
variable.function | |||
variable.language | |||
variable.name | |||
variable.other | |||
variable.other.constant | |||
variable.other.property | |||
variable.other.readwrite | |||
variable.parameter |