Gruvbox Material Neovim
Publisher: RiverMatsumotoThemes in package: 1
A VS Code port of f4z3r's Gruvbox Material Neovim theme.
A VS Code port of f4z3r's Gruvbox Material Neovim theme.
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 |
|---|---|---|
| meta.embedded.block, meta.separator, meta.diff.header | #ddc7a1 | — |
| text, source, meta.embedded, source.embedded | #d4be98 | — |
| comment, punctuation.definition.comment | #7c6f64 | — |
| comment.block.documentation, comment.documentation, comment.block.documentation.cs, comment.line.documentation.cs, punctuation.definition.comment.documentation | #d4be98bf | — |
| meta.tag.cs, comment.block.documentation.cs entity.name.tag.cs, comment.block.documentation.cs entity.name.tag.localname.cs, comment.block.documentation.cs entity.name.tag.namespace.cs, comment.block.documentation.cs punctuation.definition.tag.cs, comment.block.documentation.cs punctuation.separator.colon.cs, comment.line.documentation.cs entity.name.tag.cs, comment.line.documentation.cs entity.name.tag.localname.cs, comment.line.documentation.cs entity.name.tag.namespace.cs, comment.line.documentation.cs punctuation.definition.tag.cs, comment.line.documentation.cs punctuation.separator.colon.cs, comment.documentation.attribute.name.cs, comment.documentation.attribute.quotes.cs, comment.documentation.attribute.value.cs, comment.documentation.cdata.cs, comment.documentation.comment.cs, comment.documentation.delimiter.cs, comment.documentation.entityReference.cs, comment.documentation.name.cs, comment.documentation.processingInstruction.cs, comment.documentation.cs | #d4be98bf | — |
| comment.predictive, markup.ignored, markup.untracked | #d4be98bf | italic |
| keyword, storage.modifier, storage.type, storage.type.namespace.cs, storage.type.class.cs, storage.type.record.cs, storage.type.struct.cs, storage.type.enum.cs, storage.type.interface.cs, storage.type.delegate.cs, keyword.type.bool.cs, keyword.type.sbyte.cs, keyword.type.byte.cs, keyword.type.short.cs, keyword.type.ushort.cs, keyword.type.nint.cs, keyword.type.nuint.cs, keyword.type.int.cs, keyword.type.uint.cs, keyword.type.long.cs, keyword.type.ulong.cs, keyword.type.float.cs, keyword.type.double.cs, keyword.type.decimal.cs, keyword.type.char.cs, keyword.type.string.cs, keyword.type.object.cs, keyword.type.void.cs, keyword.type.dynamic.cs | #ea6962 | — |
| meta.preprocessor, keyword.preprocessor, keyword.control.directive, keyword.control.import, entity.name.function.preprocessor | #d3869b | — |
| constant.language.boolean | #d3869b | — |
| constant.numeric | #d3869b | — |
| constant, constant.language, constant.other, variable.other.constant, support.constant | #89b482 | — |
| entity.name.variable.enum-member, variable.other.enummember, support.constant.enum | #89b482 | — |
| string, punctuation.definition.string.begin, punctuation.definition.string.end | #b3f6c0 | — |
| constant.character.escape, constant.character.format.placeholder, constant.other.placeholder, string.regexp constant.character.escape | #e78a4e | — |
| string.regexp | #d8a657 | — |
| string.quoted.other, string.other | #d8a657 | — |
| constant.other.symbol, string.other.symbol | #d8a657 | — |
| entity.name.type, entity.name.type.cs, entity.name.type.alias, entity.name.type.alias.cs, entity.name.type.class, entity.name.type.class.cs, entity.name.type.struct, entity.name.type.struct.cs, entity.name.type.interface, entity.name.type.interface.cs, entity.name.type.delegate, entity.name.type.delegate.cs, entity.name.type.type-parameter, entity.name.type.type-parameter.cs, support.type, support.class, entity.other.inherited-class | #d8a657 | — |
| entity.name.function.constructor, entity.name.function.constructor.cs, support.function.constructor, meta.function-call.constructor | #d8a657 | — |
| entity.name.type.enum, entity.name.type.enum.cs | #d8a657 | — |
| entity.name.namespace, entity.name.namespace.cs, entity.name.type.namespace, entity.name.type.namespace.cs, entity.name.scope-resolution, support.namespace, support.type.namespace, meta.namespace entity.name, meta.namespace.cs entity.name, meta.using.cs entity.name, meta.import entity.name, meta.import support.namespace | #d4be98 | — |
| entity.name.function, entity.name.function.member, support.function, meta.function-call, variable.function | #a9b665 | — |
| variable.other.property, entity.name.variable.property, entity.name.variable.field, support.variable.property, meta.property.object | #7daea3 | — |
| variable, variable.other, entity.name.variable | #7daea3 | — |
| variable.language, variable.other.this, variable.other.super, variable.parameter.builtin | #d3869b | — |
| variable.parameter, variable.parameter.function, entity.name.variable.parameter | #7daea3 | — |
| entity.name.function.decorator, entity.name.type.attribute, entity.name.type.attribute.cs, entity.other.attribute, entity.other.attribute-name, entity.name.class.attribute, meta.annotation, meta.annotation entity.name, meta.attribute, meta.attribute entity.name, punctuation.definition.annotation | #7daea3 | — |
| entity.name.label, variable.other.label, keyword.control.label | #e78a4e | — |
| keyword.operator, storage.type.function.arrow | #e78a4e | — |
| keyword.operator.expression, keyword.operator.expression.cs, keyword.operator.expression.typeof.cs, keyword.operator.expression.new.cs, keyword.operator.expression.is.cs, keyword.operator.expression.as.cs | #ea6962 | — |
| punctuation, meta.brace, meta.delimiter | #d4be98 | — |
| punctuation.section, punctuation.definition.arguments, punctuation.parenthesis, punctuation.squarebracket, punctuation.curlybrace | #d4be98 | — |
| punctuation.separator, punctuation.terminator | #d4be98 | — |
| punctuation.special, punctuation.accessor, punctuation.separator.annotation | #e78a4e | — |
| punctuation.definition.heading, punctuation.definition.bold, punctuation.definition.italic, punctuation.definition.raw, punctuation.definition.link, punctuation.definition.metadata | #e78a4e | — |
| markup.list, punctuation.definition.list.begin, punctuation.definition.list.begin.markdown | #e78a4e | — |
| entity.name.tag, support.class.component | #e78a4e | — |
| meta.tag entity.other.attribute-name, entity.other.attribute-name.html, entity.other.attribute-name.xml | #7daea3 | — |
| entity.other.attribute-name.class.css, entity.other.attribute-name.id.css, entity.name.tag.css, entity.name.tag.scss, entity.name.tag.less | #a9b665 | — |
| entity.other.attribute-name.pseudo-class, entity.other.attribute-name.pseudo-element, entity.name.tag.reference | #7daea3 | — |
| markup.underline.link.description, string.other.link.title.markdown | #7daea3 | |
| markup.underline.link, markup.underline.link.href, markup.underline.link.image, string.other.link, string.other.link.destination | #89b482 | — |
| markup.italic, markup.quote | #7daea3 | — |
| markup.bold | #d8a657 | bold |
| markup.heading, entity.name.section, entity.name.section.markdown | #e78a4e | |
| markup.raw, markup.inline.raw, markup.fenced_code | #a9b665 | — |
| markup.inserted, punctuation.definition.inserted | #a9b665 | — |
| invalid, invalid.illegal | #ea6962 | — |
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}!`;
}