Mariana by Ryan
Publisher: Ryan OlsonThemes in package: 7
Port of the default Sublime Text 4 theme
Port of the default Sublime Text 4 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 |
|---|---|---|
| comment, comment.block.documentation other.description, punctuation.definition.comment, string.quoted.docstring, string.quoted.docstring punctuation.definition.string | #809199 | |
| comment.block.documentation, comment.line, comment.block.documentation other.description, punctuation.definition.comment | — | italic |
| keyword.other.phpdoc, comment.block.documentation storage.type, comment.block.documentation variable.other | #BEC4CA | |
| comment.block.documentation keyword | #BEC4CA | |
| comment.block.documentation entity.name.type.instance | #B37970 | |
| source.css meta.selector | #FE4A35DF | — |
| source.css entity.name.tag | #5BF2E6 | — |
| source.css entity.other.attribute-name | #BCE1FF | |
| source.css punctuation.definition.attribute-selector, source.css punctuation.definition.entity.begin.bracket.square, source.css punctuation.definition.entity.end.bracket.square | #BCE1FFBF | — |
| source.css punctuation.definition | #94CFFFBF | — |
| source.css meta.attribute-selector | #46BD66 | — |
| source.css entity.other.attribute-name.class | #6DBDFF | |
| source.css entity.other.attribute-name.parent-selector punctuation.definition | #FFCB0DBF | — |
| source.css entity.other.attribute-name.id | #6DBDFF | |
| source.css entity.name.tag.reference | #E4F3FF | — |
| source.css entity.other.attribute-name.pseudo-class, source.css entity.other.attribute-name.pseudo-element | #58CDE8 | — |
| source.css punctuation.section.function.begin.bracket.round, source.css punctuation.section.function.end.bracket.round | #58CDE8BF | — |
| source.css support.type.property-name, source.css meta.property-list entity.name.tag | #9C97FB | — |
| support.type.vendored.property-name | #9C97FBBF | — |
| source.css constant.numeric | #CDA1EB | |
| source.css keyword.other.unit | #CDA1EBBF | |
| source.css support.function | #FFCB0DBF | — |
| source.css meta.function.color, source.css meta.function.color support.function.misc, source.css support.constant.color, source.css constant.other.color | #FFFFFFD4 | — |
| source.css support.constant.property-value | #CF84BC | — |
| source.css keyword.other.important, source.css invalid.deprecated | #FE4A35DF | — |
| keyword.operator.combinator.css | #FFCB0DDF | — |
| source.css punctuation.section.property-list.begin.bracket.curly, source.css punctuation.section.property-list.end.bracket.curly, source.css punctuation.terminator.rule, source.css punctuation.separator.key-value | #809199 | — |
| source.css keyword.control.at-rule.import, source.css keyword.control.at-rule punctuation.definition, source.css keyword.control.at-rule.media | #989BDF | — |
| source.css keyword.control.at-rule.mixin, source.css keyword.operator.logical.and.media, source.css keyword.operator.logical.only.media | #748FA9 | — |
| source.css keyword.control.at-rule, source.css entity.name.function, source.css entity.other.attribute-name.class.mixin | #FFCB0D | — |
| source.css meta.at-rule.extend | #5BF2E6 | — |
| source.css variable, source.css meta.definition.variable variable, source.css variable.other | #FF9F1A | — |
| source.css punctuation.definition.variable | #FF9F1A7F | — |
| source.css variable.argument | #FF9F1A | |
| source.css support.function.any-method.builtin, source.css meta.function.variable | #FFCB0D | — |
| source.css variable.other.interpolation | #FF9F1A | italic |
| text, source | #FFFFFFD4 | — |
| string, string.quoted, punctuation.definition.string | #46BD66 | — |
| constant.numeric | #CDA1EB | — |
| constant.language.null, constant.language.undefined | #CF84BC | italic |
| constant.language.boolean | #CF84BC | — |
| string.template, string.interpolated | #9FD44E | — |
| keyword.other.substitution.begin, keyword.other.substitution.end, keyword.other.template.begin, keyword.other.template.end | #9FD44E7F | — |
| punctuation.definition.template-expression | #46BD66 | — |
| invalid, invalid.illegal | #FE4A35 | — |
| invalid.deprecated | #FE4A357F | — |
| string.regexp | #D0C257 | — |
| constant.other.object.key | #D0C257 | — |
| meta.brace, punctuation.definition.block, punctuation.terminator, punctuation.separator, meta.delimiter | #809199 | — |
| punctuation | #748FA9 | — |
| meta.tag, meta.tag.any | #6DBDFF | — |
| meta.tag.structure entity.name.tag, meta.tag.block.any | #2299FB | — |
| meta.tag.inline entity.name.tag, meta.tag.structure.label entity.name.tag, meta.tag.object.img entity.name.tag | #58CDE8 | — |
| meta.tag.structure.select entity.name.tag, meta.tag.structure.textarea entity.name.tag, meta.tag.structure.input entity.name.tag | #BCE1FF | — |
| meta.tag.structure.button entity.name.tag, meta.tag.inline.a | #BCE1FF | — |
| meta.tag.custom | #5BF2E6 | — |
| meta.tag.other.unrecognized, meta.tag.inline entity.name.tag meta.tag.structure entity.name.tag | #E4F3FF | — |
| meta.tag.metadata.script | #58CDE8 | — |
| entity.other.attribute-name | #989BDF | italic |
| meta.attribute.type.html, string.quoted.jsx | #46BD66 | — |
| meta.attribute.data-x entity.other.attribute-name.html | #CF84BC | — |
| meta.attribute.class.html string.quoted.double.html, meta.attribute.style.html string.quoted.double.html source.css | #9FD44E | — |
| meta.attribute.class.html punctuation.definition.string, meta.attribute.style.html punctuation.definition.string source.css-ignored-vscode, meta.attribute.style.html punctuation.definition.string | #9FD44EBF | — |
| meta.tag.structure.svg entity.name.tag, meta.tag.object.img entity.name.tag | #BCE1FF | — |
| meta.attribute.href.html string.quoted.double.html, meta.attribute.action.html string.quoted.double.html | #FFCB0DBF | — |
| meta.attribute.href.html punctuation.definition.string, meta.attribute.action.html punctuation.definition.string | #FFCB0D7F | — |
| meta.tag.metadata.link.void.html meta.attribute.href.html string.quoted.double.html, meta.tag.metadata.link.void.html meta.attribute.href.html punctuation.definition.string | #46BD66 | — |
| meta.attribute.event-handler entity.other.attribute-name.html | #FF9F1A | — |
| punctuation.definition.tag, punctuation.definition.tag source.css | #2299FBBF | — |
| meta.embedded.line.css source.css | #46BD66 | — |
| meta.tag.metadata.doctype, text.html punctuation.section.embedded | #748FA9 | — |
| meta.jsx.children | #FFFFFFD4 | — |
| meta.jsx meta.tag, source.js meta.tag | #2299FB | — |
| meta.jsx meta.tag support.class.component | #5BF2E6 | — |
| meta.jsx meta.tag punctuation.definition.tag | #58CDE8BF | — |
| meta.jsx entity.other.attribute-name, source.js entity.other.attribute-name | #9C97FB | italic |
| punctuation.definition.dictionary.begin.json, punctuation.definition.dictionary.end.json, punctuation.separator.dictionary.key-value.json | #809199 | — |
| constant.language.json | #CF84BC | — |
| punctuation.separator.dictionary.pair.json | #FFFFFF | — |
| source.json meta.structure.dictionary.json support.type.property-name.json | #2299FB | — |
| source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json | #9C97FB | — |
| 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 | #58CDE8 | — |
| 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 | #6DBDFF | — |
| 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 | #94CFFF | — |
| 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 | #BCE1FF | — |
| markup.bold.markdown | #FFFFFF | — |
| meta.paragraph.markdown | #FFFFFFD4 | — |
| markup.italic.markdown | — | italic |
| markup.fenced_code.block | #748FA9 | — |
| markup.underline.link.markdown | — | — |
| markup.quote.markdown | #989BDF | italic |
| punctuation.definition.list.begin.markdown, markup.list.numbered.markdown | #B37970 | — |
| heading.1.markdown, markup.heading.setext.1.markdown | #9C97FB | bold |
| heading.2.markdown, markup.heading.setext.2.markdown | #2299FB | — |
| heading.3.markdown | #6DBDFF | — |
| heading.4.markdown | #94CFFF | — |
| heading.5.markdown, heading.6.markdown | #E4F3FF | — |
| beginning.punctuation.definition.quote.markdown, beginning.punctuation.definition.list.markdown | #748FA9 | — |
| punctuation.definition.markdown, punctuation.separator.key-value.markdown, punctuation.definition.constant.markdown, punctuation.definition.bold.markdown, punctuation.definition.italic.markdown | #809199 | — |
| punctuation.definition.string.markdown, punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.metadata.markdown | #809199 | — |
| meta.link.inline.markdown, meta.link.reference.markdown, meta.link.reference.def.markdown, string.other.link.title.markdown, string.other.link.description.markdown, string.other.link.description.title.markdown, meta.link.inet.markdown markup.underline.link.markdown | #FFCB0D | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #BEC4CA | — |
| constant.other.reference.link.markdown | #FFCB0D | — |
| markup.inline.raw.string.markdown | #FF9F1A | — |
| meta.separator.markdown | #748FA9 | — |
| entity.name.tag.yaml, keyword.other.definition.ini | #6DBDFF | — |
| log.date | #FFFFFF | — |
| log.constant | #989BDF | — |
| log.error, log.exception | #FE4A35 | — |
| log.error | #FE4A35 | — |
| keyword.other.variable.definition, meta.class meta.method meta.var storage.type, storage.type, keyword.control.class, keyword.control.module | #748FA9 | — |
| keyword.operator.assignment | #748FA9 | — |
| keyword.other.special-method, meta.definition.method, storage.type.function.arrow, entity.name.function | #58CDE8 | — |
| support.function, meta.function-call, entity.name.function.invocation, meta.function-call entity.name.function, meta.method-call entity.name.function, variable.function | #6DBDFF | — |
| meta.method.declaration meta.brace.round | #6DBDFFBF | — |
| meta.var.expr meta.brace.round, punctuation.definition.parameters, punctuation.definition.arguments | #6DBDFFBF | — |
| support.class, support.constant, support.class.builtin, support.function.builtin, support.function.node, constant.language | #5BF2E6 | — |
| meta.function-call.arguments, variable.parameter.function | #E4F3FF | — |
| punctuation.definition.decorator, punctuation.decorator, meta.decorator meta.function-call entity.name.function, meta.decorator variable, entity.name.function.decorator, meta.function.decorator | #FFCB0DBF | — |
| entity.name.class, new.expr, variable.other.class, entity.name.type.class, entity.other.inherited-class | #5BF2E6 | — |
| variable.other.property.static | #5BF2E6BF | — |
| meta.function.parameter.typehinted storage.type, meta.other.type.phpdoc support.class, meta.other.type.phpdoc keyword.other, meta.function.parameters support.type, punctuation.separator.annotation, meta.return.type entity.name.type, meta.type.annotation | #B37970 | — |
| keyword.operator.type.annotation | #B37970DF | — |
| meta.interface, meta.type.declaration | #B3A170 | — |
| meta.type.parameters | #9C816A | — |
| punctuation.definition.typeparameters | #9C816A | — |
| constant.other.symbol, storage.modifier | #989BDF | italic |
| variable.other.property, meta.property.object | #FFFFFFD4 | — |
| variable.other.object | #FFFFFFD4 | — |
| meta.object-literal.key | #9C97FB | — |
| string.unquoted.label | #58CDE8 | — |
| keyword.operator, keyword.operator.accessor, keyword.operator.logical, variable.language.prototype.js, keyword.operator.comparison | #FFCB0DBF | — |
| keyword, keyword.control, keyword.operator.ternary | #FFCB0D | — |
| keyword.control.case, keyword.control.default | #FFCB0DBF | — |
| keyword.control.flow, keyword.control.return, keyword.control.break, keyword.control.trycatch, keyword.control.pseudo-method, variable.function meta.function-call | #FF9F1A | — |
| keyword.other.debugger | #FE4A35 | — |
| keyword.operator.module, keyword.control.from, keyword.control.import, keyword.control.export, storage.type.function.python, support.type.object.module | #989BDF | — |
| support.class.console, support.function.console, support.type.object.console | #9C97FB | — |
| support.class.error | — | — |
| keyword.operator.new, keyword.other.new | #5BF2E67F | — |
| meta.function-call.without-arguments, meta.function-call.method.without-arguments, meta.brace.round | #E4F3FFB4 | — |
| meta.brace.square, punctuation.separator.arguments | #FFFFFFD4 | — |
| punctuation.definition.variable | — | — |
| keyword.operator.class | #989BDF | — |
| variable | #FFFFFFD4 | — |
| variable.parameter, meta.definition.variable variable, variable.other.readwrite.class, variable.other.readwrite.instance, variable.other.constant | #FFFFFF | — |
| variable.language.super | #5BF2E6 | — |
| variable.language.this, variable.language.special.self | — | italic |
| variable.other.positional | #989BDF | — |
| variable.other.normal.shell | #9C97FB | — |
| 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}!`;
}