Graymium Theme
Publisher: olegfedakThemes in package: 1
More natural gray, syntax highlighting for web developers, coders and designers.
More natural gray, syntax highlighting for web developers, coders and designers.
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 |
|---|---|---|
| string, string.other.link, constant.other.symbol, entity.other.inherited-class, markup.underline.link.image.markdown, markup.raw.inline, markup.inserted, markup.inserted.git_gutter, variable.parameter.url.scss, support.constant.vendored.property-value.css, meta.attribute-selector.scss | #99D1AC | — |
| punctuation.definition.string | #649064 | — |
| storage, keyword.operator.expression.typeof, keyword.operator.expression.import.js, entity.name.tag.variable.liquid, variable.language.this.js, punctuation.definition.binding-pattern.object.js, punctuation.definition.bracket.curly.begin.jsdoc, punctuation.definition.bracket.curly.end.jsdoc, storage.type.class.jsdoc | #A99DEB | — |
| entity.name.section, markup.heading, entity.name.tag.wildcard.css, keyword.other.unit, entity.name.tag.wildcard.scss, entity.other.attribute-name.css, entity.other.attribute-name.id.css, entity.other.attribute-name.attribute.scss, entity.other.attribute-name.class.css, punctuation.definition.raw.markdown, punctuation.definition.markdown, fenced_code.block.language, punctuation.definition.quote.begin.markdown | #E4C586 | — |
| meta.tag, entity.name.function.graphql, entity.name.function.js, entity.name.function.ts, entity.name.function.scss, support.function.transform.css, support.function.url.css, support.function.misc.css, support.function.misc.scss, support.function.calc.css, entity.name.function.shell, entity.name.tag.css, punctuation.definition.heading.markdown, punctuation.definition.bold.markdown, punctuation.definition.list.begin.markdown, entity.name.section.markdown, punctuation.definition.markdown, punctuation.definition.dictionary.begin.json, punctuation.definition.dictionary.end.json, punctuation.definition.italic.markdown, punctuation.definition.quote.begin.markdown, string.other.link.title.markdown, punctuation.definition.link.description.begin.markdown, punctuation.definition.link.description.end.markdown, punctuation.definition.strikethrough.markdown, punctuation.definition.link.markdown, meta.link.inet.markdown, meta.link.email.lt-gt.markdown, punctuation.definition.link.title.begin.markdown, punctuation.definition.link.title.end.markdown, meta.separator.markdown, entity.name.tag.template.html.vue, entity.name.tag.script.html.vue, entity.name.tag.style.html.vue, punctuation.definition.tag.begin.html.vue, punctuation.definition.tag.end.html.vue, entity.name.section.markdown, meta.tag-stuff, invalid.illegal.unrecognized-tag.html | #80B0E8 | — |
| comment, punctuation.separator, punctuation.definition.comment, meta.template.expression.js, punctuation.definition.template-expression.begin.js, punctuation.definition.template-expression.end.js, punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json, punctuation.definition.metadata.markdown, keyword.operator.scss, keyword.operator.pattern.css, punctuation.definition.interpolation.begin.bracket.curly.scss, punctuation.definition.interpolation.end.bracket.curly.scss, markup.underline.link.image.markdown, meta.link.reference.def.markdown | #7A8085 | — |
| constant.numeric, keyword.other.unit, constant.other.reference.link.markdown, punctuation.definition.constant.markdown, meta.link.reference.markdown | #EB9F6C | — |
| meta.separator, entity.name.tag.reference, support.variable.property.dom.js, support.type.property-name.json, variable.graphql, meta.object-literal.key.js, keyword.other.definition, entity.name.type.instance.jsdoc, entity.name.tag.yaml, meta.tag.metadata.doctype.html, support.type.property-name.css, punctuation.terminator, variable.parameter.js, support.variable.property.js, punctuation.accessor.js, entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css, support.type.property-name.media.css, punctuation.section.function.begin.bracket.round.css, punctuation.section.function.end.bracket.round.css, meta.brace.round.js, punctuation.definition.parameters.begin.js, punctuation.definition.parameters.end.js, punctuation.section.function.scss, punctuation.definition.begin.bracket.round.scss, punctuation.definition.end.bracket.round.scss, punctuation.definition.parameters.begin.bracket.round.css, punctuation.definition.parameters.end.bracket.round.css, punctuation.definition.block.js, punctuation.definition.parameters.begin.bracket.round.scss, punctuation.definition.parameters.end.bracket.round.scss, keyword.operator.combinator.css, markup.fenced_code.block.markdown, markup.underline.link.image.markdown, meta.link.reference.def.markdown, meta.link.inline.markdown, markup.fenced_code.block.markdown, meta.tag-stuff, meta.brace.round.ts, entity.name.label.ts, meta.object-literal.key.ts, entity.other.attribute-name.html.vue | #A5ADBB | — |
| meta.paragraph.markdown, variable.other.liquid, variable.other.member.liquid, variable.language.liquid, punctuation.output.liquid, variable.other.njk, support.class.njk, support.variable.njk, variable.parameter.njk, string.unquoted.tag-string.nunjucks, support.class.liquid, support.variable.liquid, constant.other.color.rgb-value.hex.css, punctuation.definition.attribute-selector.begin.bracket.square.scss, punctuation.definition.attribute-selector.end.bracket.square.scss, entity.other.attribute-name.attribute.scss, support.constant.color.w3c-standard-color-name.css, fenced_code.block.language, markup.italic.markdown, string.unquoted.plain.out.yaml, string.other.link.description.markdown, entity.name.section.markdown, variable.other.object.ts, variable.other.property.ts, variable.other.readwrite.ts, meta.attribute.directive.vue | #C9CED6 | — |
| support.type.object.module.js, constant.other.reference.link.markdown, punctuation.definition.constant.markdown | #72C4CF | — |
| entity.name.type.class.js | #DFD49E | — |
| keyword.other.important.css | #F396BF | — |
| invalid.illegal, keyword.other.important.css | #E8808C | — |
| keyword, meta.embedded.block.liquid, meta.embedded.block.frontmatter.njk, punctuation.definition.tag.begin.liquid, punctuation.definition.tag.end.liquid, punctuation.definition.tag.begin.njk, punctuation.definition.tag.end.njk, punctuation.output.njk, punctuation.tag.njk, punctuation.tag.liquid, keyword.operator.njk, keyword.operator.nunjucks, keyword.operator.liquid, keyword.other.dot.liquid, keyword.operator.logical.liquid, entity.name.tag.variable.liquid, entity.name.tag.iteration.liquid, entity.name.tag.conditional.liquid, entity.name.tag.control.liquid, entity.name.tag.method.liquid, entity.name.tag.other.liquid, keyword.operator.assignment.augmented.liquid, keyword.operator.equality.liquid, constant.language.undefined.js, constant.language.boolean.true.js, constant.language.json.comments, source.editorconfig, support.function.filter.liquid, entity.name.tag.liquid, entity.name.tag.njk, support.function.liquid, meta.entity.tag.liquid, punctuation.accessor.liquid, keyword.operator.expression.liquid, entity.other.njk.delimiter.tag, entity.other.njk.delimiter.variable, punctuation.other.njk, entity.tag.tagbraces.nunjucks, string.unquoted.filter-pipe.nunjucks, constant.language.boolean.false.js, punctuation.definition.block.js, constant.language.json, punctuation.section.media.begin.bracket.curly.css, punctuation.section.media.end.bracket.curly.css, punctuation.accessor.js, punctuation.section.keyframes.begin.bracket.curly.css, punctuation.section.keyframes.end.bracket.curly.css, punctuation.section.property-list.begin.bracket.curly.css, punctuation.section.property-list.end.bracket.curly.css, punctuation.section.property-list.begin.bracket.curly.scss, punctuation.section.property-list.end.bracket.curly.scss, punctuation.section.layer.begin.bracket.curly.tailwind, punctuation.section.layer.end.bracket.curly.tailwind, constant.language.null.js, punctuation.definition.group.shell, meta.structure.dictionary.json.comments, meta.array.literal.js, punctuation.definition.dictionary.begin.json, punctuation.definition.dictionary.end.json, punctuation.definition.interpolation.begin.html.vue, punctuation.definition.interpolation.end.html.vue, punctuation.attribute-shorthand.event.html.vue, punctuation.definition.block.ts, punctuation.accessor.ts, punctuation.attribute-shorthand.bind.html.vue, entity.other.attribute-name.html.vue, punctuation.definition.block.sequence.item.yaml, constant.language.boolean.yaml, punctuation.definition.mapping.begin.yaml, punctuation.definition.mapping.end.yaml, punctuation.definition.sequence.begin.yaml, punctuation.definition.sequence.end.yaml, punctuation.definition.array.begin.json, punctuation.definition.array.end.json, entity.other.document.begin.yaml | #CC97DB | — |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
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}!`;
}