PaperColor Slim
Publisher: lulzshadowwalkerThemes in package: 1
A minimal port of the PaperColor Slim colorscheme to Visual Studio Code, focused on clarity, consistency, and a distraction-free coding experience.
A minimal port of the PaperColor Slim colorscheme to Visual Studio Code, focused on clarity, consistency, and a distraction-free coding experience.
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 |
|---|---|---|
| comment, punctuation.definition.comment | #808080 | — |
| comment.block.documentation, comment.line.double-slash keyword | #808080 | bold |
| string, string.quoted, string.template | #d7af5f | — |
| string.quoted.single, constant.character | #d7af5f | bold |
| constant.character.escape, string.regexp, string.regexp punctuation | #d7af5f | — |
| constant.numeric, constant.numeric.integer, constant.numeric.float, constant.numeric.hex, constant.numeric.octal | #ff5faf | — |
| constant.language.boolean, constant.language.true, constant.language.false | #d7af00 | bold |
| constant.language, constant.language.null, constant.language.undefined, constant.language.nan, variable.language.this, variable.language.self, variable.language.super | #d0d0d0 | bold |
| constant.other, constant.other.color | #d0d0d0 | — |
| keyword, keyword.control, keyword.other, storage.type, storage.modifier | #afd700 | — |
| keyword.control.conditional, keyword.control.if, keyword.control.else, keyword.control.switch, keyword.control.case, keyword.control.return, keyword.control.break, keyword.control.continue, keyword.control.ternary | #afd700 | — |
| keyword.control.loop, keyword.control.for, keyword.control.while, keyword.control.do, keyword.control.in, keyword.control.of | #afd700 | — |
| keyword.control.exception, keyword.control.try, keyword.control.catch, keyword.control.finally, keyword.control.throw, keyword.control.trycatch | #afd700 | — |
| keyword.control.import, keyword.control.export, keyword.control.from, keyword.control.as, keyword.control.module, keyword.control.require, meta.import keyword, meta.export keyword | #afd700 | — |
| keyword.control.directive, keyword.control.pragma, meta.preprocessor, meta.preprocessor.string, keyword.preprocessor | #afd700 | — |
| keyword.control.directive.conditional, keyword.control.directive.ifdef, keyword.control.directive.ifndef, keyword.control.directive.endif | #5faf5f | — |
| keyword.operator, keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.comparison, keyword.operator.logical, keyword.operator.bitwise, keyword.operator.relational, keyword.operator.expression, keyword.operator.new, keyword.operator.delete, keyword.operator.type, keyword.operator.void, keyword.operator.typeof, keyword.operator.instanceof, keyword.operator.in, keyword.operator.of, keyword.operator.spread, keyword.operator.rest | #00afaf | bold |
| punctuation.separator, punctuation.terminator, punctuation.accessor, punctuation.definition.template-expression | #00afaf | — |
| entity.name.label, punctuation.definition.label | #00afaf | — |
| entity.name.function.macro, entity.name.function.preprocessor, meta.preprocessor entity.name | #00afaf | — |
| entity.name.function, meta.function-call entity.name.function, variable.function, support.function | #5fafd7 | — |
| meta.function-call, meta.method-call | #5fafd7 | — |
| variable, variable.other, variable.other.readwrite, variable.other.object, variable.other.property | #d7875f | — |
| variable.other.member, variable.other.field, meta.property-name, support.type.property-name, entity.other.attribute-name | #d7875f | — |
| variable.parameter, meta.function.parameter variable | #d0d0d0 | — |
| entity.name.type, entity.name.class, entity.name.interface, entity.name.struct, entity.name.enum, support.type, support.class, meta.type.annotation entity.name.type | #af87d7 | — |
| entity.name.type.alias, meta.type.alias entity.name.type | #af87d7 | — |
| storage.type.class, storage.type.namespace, entity.name.namespace, entity.name.module, entity.name.package, support.module, meta.namespace entity.name | #5faf5f | — |
| entity.other.inherited-class | #5faf5f | — |
| entity.name.tag, meta.tag entity.name.tag, support.class.component | #5fafd7 | — |
| entity.other.attribute-name.html, entity.other.attribute-name.jsx, entity.other.attribute-name.tsx, meta.tag.attributes entity.other.attribute-name, text.html entity.other.attribute-name | #d7875f | — |
| punctuation.definition.tag, punctuation.definition.tag.begin, punctuation.definition.tag.end, punctuation.separator.key-value.html | #00afaf | bold |
| constant.other.placeholder, constant.character.format.placeholder, string.interpolated, punctuation.definition.interpolation.begin, punctuation.definition.interpolation.end | #00afaf | bold |
| invalid, invalid.illegal, invalid.deprecated | #ff8080 | bold |
| comment.line keyword.todo, comment.block keyword.todo, comment.line keyword.fixme, comment.block keyword.fixme, comment.line keyword.note, comment.line keyword.hack, comment.line keyword.bug | #ff8700 | bold |
| keyword.other.debugger, keyword.debugger | #ff5faf | — |
| markup.underline, markup.underline.link | — | underline |
| *url*, *link*, *uri*, string.other.link, markup.underline.link | — | underline |
| support.type.property-name.css, support.type.property-name.scss, support.type.property-name.less, meta.property-name.css | #5fafd7 | — |
| support.constant.property-value.css, meta.property-value.css, support.constant.color.w3c-standard-color-name.css | #d7af5f | — |
| keyword.other.unit.css, keyword.other.unit.scss, constant.numeric.css | #ff5faf | — |
| entity.name.tag.css, entity.name.tag.scss | #5fafd7 | — |
| entity.other.attribute-name.class.css, entity.other.attribute-name.id.css, entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css | #d7875f | — |
| keyword.control.at-rule.css, keyword.control.at-rule.media.css, keyword.control.at-rule.import.css, keyword.control.at-rule.include.scss | #afd700 | — |
| markup.heading, markup.heading entity.name, punctuation.definition.heading.markdown | #d7af00 | bold |
| markup.heading.1, markup.heading.1 entity.name | #d7af00 | bold |
| markup.heading.2, markup.heading.2 entity.name | #5fafd7 | bold |
| markup.heading.3, markup.heading.3 entity.name | #af87d7 | bold |
| markup.heading.4, markup.heading.4 entity.name | #ff5faf | bold |
| markup.heading.5, markup.heading.5 entity.name | #ff5faf | — |
| markup.heading.6, markup.heading.6 entity.name | #ff5faf | italic |
| markup.bold, markup.bold string | — | bold |
| markup.italic | — | italic |
| markup.bold markup.italic, markup.italic markup.bold | — | bold italic |
| string.other.link.title.markdown, string.other.link.description.markdown, markup.underline.link.markdown, markup.underline.link.image.markdown, constant.other.reference.link.markdown, meta.link.inline entity.name | #00afaf | — |
| markup.list, punctuation.definition.list.begin.markdown, punctuation.definition.list_item.markdown | #00afaf | — |
| markup.raw.inline, markup.raw.inline.markdown, markup.fenced_code.block, markup.raw.block | #d7af5f | — |
| markup.raw.block.fenced.markdown | #d0d0d0 | — |
| markup.quote, punctuation.definition.blockquote.markdown | — | italic |
| markup.inserted, markup.inserted.git_gutter | #d0d0d0 | — |
| markup.deleted, markup.deleted.git_gutter | #d0d0d0 | — |
| markup.changed, markup.changed.git_gutter | #d0d0d0 | — |
| source.json meta.structure.dictionary.json support.type.property-name.json | #afd700 | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #5fafd7 | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #af87d7 | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #d7875f | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #d7af5f | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #ff5faf | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #00afaf | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #5faf5f | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #afd700 | — |
| entity.name.tag.yaml, meta.block-mapping.yaml entity.name.tag.yaml | #5fafd7 | — |
| keyword.control.flow.yaml, entity.name.type.anchor.yaml, variable.other.alias.yaml, punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml | #d7875f | — |
| support.type.property-name.toml, keyword.other.key.toml | #5fafd7 | — |
| support.type.property-name.table.toml, entity.name.section.toml | #afd700 | — |
| storage.modifier.lifetime.rust, entity.name.lifetime.rust | #d7af5f | — |
| meta.attribute.rust, keyword.other.attribute.rust, punctuation.definition.attribute.rust | #d7875f | — |
| meta.decorator.python, entity.name.function.decorator.python, punctuation.definition.decorator.python | #d7875f | — |
| support.function.builtin.python | #5fafd7 | — |
| variable.other.normal.shell, variable.other.bracket.shell, variable.other.special.shell | #d7875f | — |
| support.function.builtin.shell, keyword.other.shell | #5fafd7 | — |
| string.regexp keyword.operator, string.regexp punctuation.definition.group, string.regexp constant.other.character-class | #00afaf | — |
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}!`;
}