Statn Penta
Publisher: stuartthompsonThemes in package: 1
A theme for the discerning developer using complementary colors to distinguish key elements. Penta aims to leverage contrast for distinctive clarity while being soft enough for everyday use.
A theme for the discerning developer using complementary colors to distinguish key elements. Penta aims to leverage contrast for distinctive clarity while being soft enough for everyday use.
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 |
|---|---|---|
| keyword, keyword.operator, keyword.operator.constructor, keyword.operator.logical | #f2a92c | — |
| keyword.operator, keyword.operator.comparison, keyword.operator.relational | #f2a92c | — |
| entity.name.class, entity.name.module, entity.name.package, entity.name.type, entity.other.inherited-class, storage, storage.identifier, storage.type, support.class | #f5e97f | — |
| entity.name.variable.parameter, entity.other.attribute-name, parameter.variable, support.type.property-name, variable.language, variable.object.property, variable.other, variable.other.block, variable.other.constant, variable.other.global, variable.other.object, variable.other.property, variable.other.readwrite.batchfile, variable.other.readwrite.class, variable.other.readwrite.instance, variable.parameter, variable.readwrite, variable.readwrite.other.block | #bff598 | — |
| entity.name.tag, entity.other.attribute-name | #93bfef | — |
| entity.name.function, entity.name.function-call, function.support.builtin, function.support.core, support.function | #93bfef | — |
| constant.character, constant.language, constant.numeric, constant.other, string, string.quoted.double, string.quoted.single, string.template, string.unquoted | #f09ff5 | — |
| meta.property-value | #f09ff5 | — |
| meta.brace.curly, meta.brace.round, meta.brace.square, punctuation.definition.entity, punctuation.section.property-list, punctuation.separator, punctuation.separator.comma, punctuation.separator.key-value, punctuation.separator.list.comma, punctuation.separator.parameter, punctuation.terminator.rule, punctuation.terminator.statement | #ffffff | — |
| storage.modifier.import, storage.modifier.package | #2a82df | — |
| #93bfef | — | |
| punctuation.definition.tag | #2a82df | — |
| string.quoted.single, string.quoted.double, string.template, variable.other.constant | #f09ff5 | — |
| comment, string.comment | #185aa0 | — |
| invalid, invalid.deprecated | #880000 | — |
| source.rust keyword.operator.namespace.rust, source.rust keyword.other.crate.rust, source.rust keyword.other.fn.rust, source.rust keyword.other.rust, source.rust keyword.operator.borrow.and.rust, source.rust meta.function.definition.rust keyword.operator.borrow.and.rust, source.rust meta.function.definition.rust storage.modifier.mut.rust, source.rust storage.modifier.mut.rust, source.rust storage.type.rust | #f2a92c | — |
| source.rust entity.name.type.lifetime.rust, source.rust keyword.control.rust, source.rust meta.function.definition.rust variable.language.self.rust, source.rust variable.language.self.rust, source.rust punctuation.definition.lifetime.rust | #f5c167 | — |
| source.rust keyword.operator.access.dot.rust, source.rust keyword.operator.assignment.rust, source.rust keyword.operator.assignment.equal.rust, source.rust keyword.operator.comparison.rust, source.rust keyword.operator.macro.dollar.rust, source.rust keyword.operator.math.rust, source.rust meta.function.definition.rust keyword.operator.key-value.rust | #d38b0d | — |
| source.rust entity.name.module.rust, source.rust entity.name.namespace.rust, source.rust entity.name.type.rust, source.rust entity.name.type.declaration.rust, source.rust entity.name.type.enum.rust, source.rust entity.name.type.numeric.rust, source.rust entity.name.type.option.rust, source.rust entity.name.type.primitive.rust, source.rust entity.name.type.result.rust, source.rust entity.name.type.string.rust, source.rust entity.name.type.struct.rust, source.rust meta.macro.rust, source.rust meta.macro.rules.rust | #f5e97f | — |
| source.rust variable.other.rust | #BFF598 | — |
| source.rust meta.function.call.rust, source.rust meta.function.call.rust entity.name.function.rust, source.rust meta.function.definition.rust entity.name.function.rust, source.rust meta.function.definition.rust keyword.operator.arrow.skinny.rust | #93bfef | — |
| source.rust meta.function.definition.rust punctuation.brackets.round.rust | #5fa1e7 | — |
| source.rust meta.function.definition.rust keyword.operator.arrow.skinny.rust, source.rust keyword.operator.arrow.fat.rust | #2a82df | — |
| source.rust constant.language.bool.rust, source.rust constant.numeric.decimal.rust, source.rust meta.attribute.rust entity.name.type.rust, source.rust meta.function.call.rust string.quoted.single.char.rust, source.rust meta.macro.metavariable.rust, source.rust string.quoted.single.char.rust, source.rust string.quoted.double.rust | #f09ff5 | — |
| source.rust meta.attribute.rust punctuation.brackets.round.rust | #e96bef | — |
| source.rust meta.attribute.rust | #e134ea | — |
| source.rust meta.macro.rust entity.name.function.macro.rust | #e134ea | — |
| source.rust meta.function.definition.rust punctuation.brackets.round.rust, source.rust punctuation.comma.rust, source.rust punctuation.brackets.angle.rust, source.rust punctuation.brackets.curly.rust, source.rust punctuation.brackets.round.rust, source.rust punctuation.brackets.square.rust, source.rust punctuation.semi.rust | #ffffff | — |
| source.rust meta.use.rust entity.name.namespace.rust, source.rust meta.use.rust keyword.operator.namespace.rust, source.rust meta.use.rust keyword.other.rust, source.rust meta.use.rust keyword.other.crate.rust, source.rust meta.use.rust punctuation.brackets.curly.rust, source.rust meta.use.rust punctuation.comma.rust, source.rust meta.use.rust punctuation.semi.rust | #2a82df | — |
| source.rust meta.use.rust entity.name.namespace.rust | #5fa1e7 | — |
| source.rust meta.use.rust, source.rust meta.use.rust entity.name.type.rust | #93BFEF | — |
| source.rust comment.line.documentation.rust, source.rust comment.line.double-slash.rust | #185aa0 | — |
| source.js storage.type.js | #f2a92c | — |
| source.js keyword.operator.assignment.js, source.js keyword.operator.comparison.js, source.js keyword.operator.ternary.js, source.js meta.brace.round.js, source.js storage.type.function.arrow.js | #d38b0d | — |
| source.js meta.var.expr.js, source.js variable.other.readwrite.js | #BFF598 | — |
| source.js meta.function-call.js | #93bfef | — |
| source.js string.quoted.single.js, source.js string.template.js, source.js variable.other.constant.js | #f09ff5 | — |
| source.js comment.line.shebang.js | #f09ff5 | — |
| source.js punctuation.definition.block.js, source.js punctuation.separator.comma.js, source.js punctuation.terminator.statement.js | #ffffff | — |
| source.js meta.export.default.js, source.js meta.export.js keyword.control.export.js, source.js meta.import.js keyword.control.from.js, source.js meta.import.js keyword.control.import.js | #2a82df | — |
| source.js meta.export.js punctuation.definition.block.js, source.js meta.import.js punctuation.definition.block.js, source.js meta.import.js punctuation.definition.string.begin.js, source.js meta.import.js punctuation.definition.string.end.js, source.js meta.import.js string.quoted.single.js | #5fa1e7 | — |
| source.js meta.export.js variable.other.readwrite.alias.js, source.js meta.import.js variable.other.readwrite.alias.js | #93bfef | — |
| source.js comment.block.js, source.js comment.block.documentation.js, source.js comment.block.documentation.js punctuation.definition.bracket.curly.begin.jsdoc, source.js comment.block.documentation.js punctuation.definition.bracket.curly.end.jsdoc, source.js comment.line.documentation.js, source.js comment.line.double-slash.js | #185aa0 | — |
| source.js comment.block.documentation.js storage.type.class.jsdoc | #5fa1e7 | — |
| source.js comment.block.documentation.js entity.name.type.instance.jsdoc | #f5e97f | — |
| source.js comment.block.documentation.js variable.other.jsdoc | #58ba12 | — |
| source.ts keyword.control.conditional.ts, source.ts keyword.control.loop.ts, source.ts meta.class.ts storage.type.class.ts, source.ts meta.class.ts storage.modifier.ts, source.ts meta.enum.declaration.ts storage.type.enum.ts, source.ts meta.method.declaration.ts storage.type.ts, source.ts meta.var.expr.ts storage.type.ts | #f2a92c | — |
| source.ts support.type.primitive.ts | #f5e97f | — |
| source.ts variable.language.super.ts, source.ts variable.language.this.ts | #93bfef | — |
| source.ts punctuation.accessor.ts, source.ts punctuation.accessor.optional.ts, source.ts punctuation.definition.block.ts, source.ts punctuation.definition.parameters.begin.ts, source.ts punctuation.definition.parameters.end.ts, source.ts punctuation.definition.typeparameters | #ffffff | — |
| source.ts meta.export.ts keyword.control.export.ts, source.ts meta.export.default.ts, source.ts meta.import.ts keyword.control.as.ts, source.ts meta.import.ts keyword.control.from.ts, source.ts meta.import.ts keyword.control.import.ts | #2a82df | — |
| source.ts meta.export.ts punctuation.definition.block.ts, source.ts meta.import.ts punctuation.definition.block.ts, source.ts meta.import.ts punctuation.definition.string.begin.ts, source.ts meta.import.ts punctuation.definition.string.end.ts, source.ts meta.import.ts punctuation.separator.comma.ts, source.ts meta.import.ts string.quoted.single.ts | #5fa1e7 | — |
| source.ts meta.export.ts variable.other.readwrite.alias.ts, source.ts meta.import.ts constant.language.import-export-all.ts, source.ts meta.import.ts variable.other.readwrite.alias.ts | #93bfef | — |
| source.go keyword | #f2a92c | — |
| source.go support.function | #93bfef | — |
| source.go punctuation.definition.begin.bracket.curly, source.go punctuation.definition.end.bracket.curly | #ffffff | — |
| source.go comment.line, source.go punctuation.definition.comment | #185aa0 | — |
| source.json punctuation.definition.array.begin.json, source.json punctuation.definition.array.end.json, source.json punctuation.definition.dictionary.begin.json, source.json punctuation.definition.dictionary.end.json, source.json punctuation.separator.array.json, source.json punctuation.separator.dictionary.key-value.json, source.json punctuation.separator.dictionary.pair.json | #d38b0d | — |
| source.json support.type.property-name.json | #93bfef | — |
| source.json string.json support.type.property-name.json punctuation.support.type.property-name.begin.json, source.json string.json support.type.property-name.json punctuation.support.type.property-name.end.json | #5fa1e7 | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json constant.numeric.json, source.json meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json | #bff598 | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json punctuation.definition.string.begin.json, source.json meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json punctuation.definition.string.end.json | #7feb33 | — |
| source.yaml entity.name.tag.yaml | #2a82df | — |
| source.yaml punctuation.definition.block.sequence.item.yaml, source.yaml punctuation.separator.sequence.yaml, source.yaml punctuation.definition.sequence.begin.yaml, source.yaml punctuation.definition.sequence.end.yaml, source.yaml punctuation.separator.key-value.mapping.yaml | #d38b0d | — |
| source.yaml meta.flow-sequence.yaml, source.yaml string.unquoted.plain.out.yaml | #bff598 | — |
| source.yaml constant.language | #f09ff5 | — |
| text.html.markdown, punctuation.definition.list_item.markdown | #dceafa | — |
| text.html.markdown punctuation.definition.heading.markdown, text.html.markdown punctuation.definition.list.begin.markdown, text.html.markdown punctuation.definition.markdown, text.html.markdown punctuation.definition.metadata.markdown, text.html.markdown punctuation.definition.string.begin.markdown, text.html.markdown punctuation.definition.string.end.markdown | #d38b0d | — |
| text.html.markdown entity.name.section.markdown | #bff598 | — |
| text.html.markdown meta.link.inline.markdown punctuation.definition.metadata.markdown, text.html.markdown meta.link.inline.markdown punctuation.definition.string.begin.markdown, text.html.markdown meta.link.inline.markdown punctuation.definition.string.end.markdown | #e134ea | — |
| text.html.markdown string.other.link.title.markdown | #e96bef | — |
| text.html.markdown markup.underline.link.image.markdown, text.html.markdown markup.underline.link.markdown | #f09ff5 | — |
| text.html.markdown fenced_code.block.language | #f5e97f | — |
| text.html.markdown markup.fenced_code.block.markdown | #93bfef | — |
| text.html punctuation.definition.tag | #2a82df | — |
| text.html entity.name.tag.html | #93bfef | — |
| text.html entity.other.attribute-name.html | #bff598 | — |
| text.html punctuation.separator | #f2a92c | — |
| text.html string.quoted.double, text.html string.quoted.single, text.html string.unquoted | #f09ff5 | — |
| source.css entity.name.tag.css, source.css entity.name.tag.wildcard.css, source.css entity.other.attribute-name.pseudo-element.css | #93bfef | — |
| source.css support.type.property-name.css | #bff598 | — |
| source.css punctuation.definition.entity.css, source.css punctuation.section.property-list.begin.bracket.curly.css, source.css punctuation.section.property-list.end.bracket.curly.css, source.css punctuation.separator.key-value.css, source.css punctuation.separator.list.comma.css, source.css punctuation.terminator.rule.css | #f2a92c | — |
| source.css meta.property-value.css | #f09ff5 | — |
| source.java storage.modifier | #f2a92c | — |
| source.java punctuation.bracket.round, source.java punctuation.bracket.square, source.java punctuation.definition.parameters, source.java punctuation.section.method | #ffffff | — |
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}!`;
}