MultiTheme
Publisher: Arturo ArevaloThemes in package: 336
A collection of themes ported from TextMate
A collection of themes ported from TextMate
Full workbench mockup using this variant's colors and tokenColors.
Loading...
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| — | #93a1a1 | — |
| comment, comment entity.name.tag.slim, comment entity.name.tag-name.slim, comment meta.line.ruby.slim, comment source.ruby, comment punctuation, comment punctuation.section.function.ruby, comment string, comment constant.other.symbol, comment punctuation.section.scope, comment punctuation.section.embedded.ruby, comment variable.other, comment punctuation.definition.variable, comment keyword, comment support.function, comment keyword.operator.assignment, comment punctuation.separator.continuation, comment constant.language, comment punctuation.separator.key-value, comment punctuation.separator.other | #566e75 | — |
| string, constant.character.escape, source.coffee string meta.property, source.ruby punctuation.section.embedded.begin, source.ruby punctuation.section.embedded.end | #869826 | — |
| string.regexp, constant.character.escape.ruby, keyword.control.anchor.regexp | #b98822 | — |
| constant.numeric | #d8377f | — |
| source.ruby, variable.other.ruby | #008cce | — |
| variable.language, variable.other | #b98822 | — |
| keyword | #d14a1e | — |
| storage | #93A1A1 | — |
| entity.name.class, entity.name.type.class | #92A1A1 | — |
| entity.name.class.js, variable.other.class.js | #008CCE | — |
| entity.name.function, support.function.console.js, source.ruby meta.function-call.method.without-arguments.ruby support.function.core.ruby, source.ruby variable.other.block | #00A198 | — |
| punctuation.definition.variable | #b98822 | — |
| punctuation.section.embedded.begin, punctuation.section.embedded.end | #D30102 | — |
| constant.language, meta.preprocessor | #D14A1E | — |
| support.function.construct, keyword.other.new | #CB4B16 | — |
| constant.character, constant.other | #CB4B16 | — |
| entity.other.inherited-class | #92A1A1 | — |
| punctuation.separator.inheritance | #6772C0 | — |
| variable.parameter | #00A198 | — |
| entity.name.tag | #268BD2 | — |
| punctuation.definition.tag | #657B83 | — |
| entity.other.attribute-name | #93A1A1 | — |
| support.function | #268BD2 | — |
| punctuation.separator.continuation | #D30102 | — |
| support.constant | — | — |
| support.type, support.class | #859900 | — |
| support.type.exception | #CB4B16 | — |
| support.other.variable | — | — |
| invalid | — | — |
| constant.other.symbol | #D8377F | — |
| support.class, punctuation.separator.other | #D8377F | — |
| variable.other.constant | #92A1A1 | — |
| keyword.other.special-method | #00A198 | — |
| punctuation.separator.object, punctuation.separator.continuation | #829496 | — |
| keyword.operator.assignment, keyword.operator.logical | #6772C0 | — |
| punctuation.section.scope, source.ruby punctuation.section.array, source.ruby punctuation.section.function | #829496 | — |
| support.class.js, support.class.coffee | #008CCE | — |
| storage.type.function, storage.type.js | #D14A1E | — |
| variable.language.this.js | #D14A1E | — |
| meta.property, variable.function.js, source.js variable.other.property, source.js entity.name.type.new | #00A198 | — |
| constant.language.undefined, constant.language.boolean | #D8377F | — |
| keyword.operator.relational.js, keyword.operator.arithmetic.js, keyword.operator.comparison.js, keyword.operator.logical.js | #6772C0 | — |
| support.type.object.dom, source.js meta.instance.constructor, support.type.object.console | #008CCE | — |
| meta.object-literal.key.js, constant.other.object.key.js string | #00A198 | — |
| source.coffee, entity.name.function.coffee, source.coffee variable.parameter | #0085C4 | — |
| source.coffee meta.brace | #819395 | — |
| punctuation.separator.key-value, text.slim punctuation.section.embedded.ruby, text.slim punctuation.section.function.ruby, text.html.ruby punctuation.section.embedded.ruby, text.html.ruby entity.name.tag, keyword.operator.accessor.js, entity.name.tag-name.slim, source.coffee meta.delimiter.object, source.coffee meta.delimiter.method | #829496 | — |
| storage.type.function.coffee, keyword.operator.coffee, text.slim meta.line.ruby.slim, text.html.ruby punctuation.section.embedded.ruby, text.html.ruby punctuation.separator.other.ruby | #6772C0 | — |
| entity.other.attribute-name.id.sass, entity.name.tag.yaml | #D8377F | — |
| entity.other.attribute-name.class.sass, source.sass variable | #B98822 | — |
| support.type.property-name.css.sass, source.sass keyword.control.at-rule, entity.name.tag.slim, text.html.ruby entity.other.attribute-name | #00A198 | — |
| support.constant.property-value.sass, constant.numeric.sass, source.sass keyword.other.unit, source.sass constant.other.rgb-value | #D8377F | — |
| source.sass keyword.control | #92A1A1 | — |
| source.sass support.constant.font-name.sass | #008CCE | — |
| function.jQuery.binder.coffee | #D8377F | — |
| support.type.property.vendor.name.css.sass | #7D9826 | — |
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}!`;
}