Joseph Edradan's Theme
Publisher: Joseph EdradanThemes in package: 1
Joseph Edradan's Theme
Joseph Edradan's 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 |
|---|---|---|
| emphasis, markup.italic | — | italic |
| strong | — | bold |
| constant.regexp | #646695 | — |
| constant.other.caps, entity.name.class, entity.name.type.module, entity.other.attribute-name, keyword.operator, markup.bold, markup.changed, markup.heading, source.python, source, storage.type.cs, storage.type.function.arrow, storage.type.generic.cs, storage.type.modifier.cs, storage.type.variable.cs, support.class.dom, support.type, variable.other.object.property, variable.other.object, variable.other.readwrite.alias, variable.other.definition, storage.type.generic.groovy, storage.type.primitive.groovy, storage.type.parameters.groovy, storage.type.annotation.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.token.java, storage.type.generic.java, storage.type.primitive.java, storage.type.annotation.java, storage.type.object.array.java, storage.type.primitive.array.java, storage.modifier.import.java, storage.modifier.package.java | #d7e2f0 | — |
| constant.character.escape.js.json, constant.keyword, constant.language.json, constant.language, entity.name.function.section.add entity.section.reg, entity.name.function.section.add punctuation.definition.section.reg, entity.name.section.ini, entity.name.tag.restructuredtext, entity.other.toml, entity.tag.tagbraces, keyword.command.batchfile, keyword.control.conditional.batchfile, keyword.control.powershell, keyword.control.repeat.batchfile, keyword.control.statement.batchfile, keyword.control.ts, keyword.key.toml, keyword.operator.arithmetic.batchfile, keyword.operator.assignment.batchfile, keyword.operator.at.batchfile, keyword.operator.comparison.batchfile, keyword.operator.expression.ts, keyword.operator.logical.batchfile, keyword.operator.new.ts, keyword.operator.redirection.batchfile, keyword.other.DML.sql, keyword.other.special-method.batchfile, keyword.shell, keyword, markup.other.command.restructuredtext, meta.diff.header, meta.link.footnote.def.restructuredtext constant.other.footnote.link.restructuredtext, meta.preprocessor, meta.var storage.type, punctuation.section.embedded.begin.metatag.php, punctuation.section.embedded.end.metatag.php, punctuation.separator.array.json, punctuation.separator.comma.ts, punctuation.separator.dictionary.key-value.json, punctuation.separator.key-value.restructuredtext, punctuation.terminator.statement.ts, storage.modifier.ts, storage.modifier, storage.type.function, storage.type.powershell, storage.type.ts, string.interpolated punctuation.definition.shell, string.quoted punctuation.definition.shell, string.quoted.single.basic.line.toml, string.unquoted entity.name.tag.yaml, support.directive.restructuredtext, support.function.builtin.shell, support.variable.automatic.powershell, text.html.django entity.other.django.delimiter.tag, text.html.django entity.other.django.delimiter.variable, text.html.jinja entity.other.jinja.delimiter.tag, text.html.jinja entity.other.jinja.delimiter.variable, text.html.markdown meta.link.reference constant.other.reference, text.html.markdown punctuation.definition.bold, text.html.markdown punctuation.definition.italic, variable.language | #ff8420 | — |
| keyword.control, keyword.other.sql, keyword.other.plsql, keyword.operator.new, keyword.operator.cast, support.type.primitive, keyword.operator.sizeof, keyword.operator.expression, string.regexp keyword.operator, text.html constant.character.escape, string.quoted string.interpolated.env, keyword.other.special-method.dockerfile, storage.type.class.js, storage.type.interface.js, keyword.operator.of.js, keyword.operator.new.js.js, keyword.operator.cast.js.js, keyword.operator.sizeof.js.js, punctuation.separator.comma.js, keyword.operator.expression.js.js, punctuation.terminator.statement.js, keyword.control.loop.js, punctuation.separator.element.json, punctuation.separator.arguments.json, punctuation.separator.parameters.json, punctuation.separator.continuation.json, punctuation.separator.dictionary.pair.json, storage.modifier.python, constant.language.python, storage.type.format.python, keyword.control.flow.python, keyword.control.import.python, keyword.operator.logical.python, constant.character.escape.python, punctuation.separator.element.python, meta.class storage.type.class.python, punctuation.separator.arguments.python, punctuation.separator.parameters.python, meta.function storage.type.function .python, constant.character.format.placeholder.other.python, constant.language.java | #ff8420 | |
| text.html.jinja keyword.control, text.html.django keyword.control, text.html.django storage.type.templatetag keyword.operator.django, text.html.django storage.type.templatetag keyword.control.tag-name, text.html.markdown meta.link.reference punctuation.definition.constant, text.html.django storage.type.customtemplatetag constant.other.tag.name | #ff8420 | bold |
| text.html.markdown meta.link.inline punctuation.definition.metadata | #ff8420 | italic bold |
| support.function.console.js, entity.name.type.instance.js, entity.name.function.method.js, entity.name.function.js, keyword.operator.typeof.js, support.class.node.js, support.type.object.module.js, entity.name.type.ts, entity.name.function.ts, support.type, entity.name.type.class.java, entity.name.function.java, keyword.java, storage.type.groovy, storage.type.generic.groovy, storage.type.parameters.groovy, storage.type.annotation.groovy, storage.type.primitive.groovy, storage.type.object.array.groovy, storage.type.primitive.array.groovy, storage.type.java, storage.type.token.java, storage.type.generic.java, storage.type.annotation.java, storage.type.primitive.java, storage.type.object.array.java, storage.type.primitive.array.java, entity.name.type.class.python, entity.name.function.python, meta.function-call.generic.python | #FFC66D | |
| punctuation.definition.tag, text.html entity.name.tag.block.any, text.html entity.name.tag.inline.any, text.html meta.attribute.style.html meta.embedded.line.css source.css, text.html meta.tag entity.name.tag, text.html meta.tag punctuation, text.html meta.tag string.quoted, text.html meta.tag string.unquoted, text.html meta.tag.metadata.script.end punctuation.definition.tag.begin source, text.html meta.tag.metadata.style.end punctuation.definition.tag.begin source, text.html punctuation.definition.tag.begin, text.html punctuation.definition.tag.end, text.html.django meta.tag, text.xml entity.name.tag.localname, text.xml keyword.other, text.xml punctuation.definition.tag, entity.name.function.powershell, keyword.other.special-method.batchfile, meta.function meta.definition.function.js entity.name.function.js, meta.function meta.function-call.js, meta.function.expression.js entity.name.function.js, support.function.powershell | #FFC66D | — |
| support.function.builtin, source.python meta.item-access meta.item-access.arguments support.type, meta.class.inheritance support.type.exception.python, meta.function-call support.function.builtin.python, meta.function-call.arguments support.type.python, meta.item-access meta.item-access.arguments support.type.python, source.python meta.function-call support.function.builtin, source.python meta.function-call.arguments support.type, source.python support.type, support.type.exception.python, support.type.python, storage.type.primitive.groovy, storage.type.primitive.array.groovy, storage.type.primitive.java, storage.type.primitive.array.java | #8f8ff5 | — |
| keyword.control.import.reg, keyword.ini, meta.object-literal.key entity.name.function, meta.object-literal.key, punctuation.definition.equals.reg, support.function.git-rebase, support.type.property-name, support.type.vendored.property-name, support.variable.automatic variable.other.member.powershell, support.variable.property.dom, text.xml entity.name.tag.namespace, text.xml entity.other.attribute-name.namespace, variable.css, variable.other.less, variable.scss, meta.structure.dictionary support.type.property-name.json, variable.legacy.builtin.python, variable.other.property.js, variable.other.object.property.js, meta.object.member variable.other.property.js, variable.other.property.ts, variable.other.object.property.ts, meta.object.member variable.other.property.ts | #e1adff | — |
| variable.parameter.class.python, variable.parameter.function-call.python, meta.class.inheritance support.type.metaclass.python, meta.function-call.arguments variable.parameter.function-call.python | #cf0000 | — |
| punctuation.decorator.js, punctuation.decorator.ts, entity.name.function.decorator, keyword.operator.arithmetic.minus.reg, meta.decorator entity.name.function.js, meta.decorator entity.name.function.ts, source.python meta.function.decorator support.type, entity.name.function.section.delete entity.section.reg, source.python meta.function.decorator entity.name.function.decorator, entity.name.function.section.delete punctuation.definition.section.reg, entity.name.function.decorator.python, punctuation.definition.decorator.python, meta.function.decorator support.type.python, entity.name.function.decorator support.type.python, meta.function.decorator entity.name.function.decorator.python | #ffe135 | — |
| support.function.magic, support.variable.magic.python | #ff59ff | — |
| string.quoted.python, text.html.markdown markup.quote, text.html.markdown markup.quote heading, text.html.markdown markup.quote meta.paragraph | #84af6d | |
| string.quoted, entity.quasi.element.js, text.xml string, source.groovy.embedded, string.quoted.template.js, string.quoted.single.js, string.quoted.double.js, string.quoted.double.json, string.template.ts, punctuation.definition.string.end.python, punctuation.definition.string.begin.python, string.quoted constant.character.escape.env | #84af6d | — |
| punctuation.definition.string.template.end.ts, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, entity.quasi.element.js | #FFC66D | — |
| variable.other.readwrite.js, variable.other.readwrite.ts | #d7e2f0 | — |
| comment.block.documentation, string.quoted.docstring.multi, string.quoted.docstring.python, string.quoted.docstring.multi.python, string.quoted.docstring punctuation.definition.string.end.python, string.quoted.docstring punctuation.definition.string.begin.python | #629755 | italic |
| entity.name.tag.sphinx, punctuation.definition.interpreted.start.sphinx | — | italic bold underline |
| comment.line.yaml | #629755 | — |
| variable.language.special | #ad0093 | — |
| variable.parameter.function.language.special, variable.parameter.function.language.special.cls.python, variable.parameter.function.language.special.self.python | #ad0093 | |
| constant.numeric, constant.other.color.rgb-value.hex.css, string.regexp keyword.operator.quantifier | #60baff | |
| meta.selector, entity.name.tag.css, entity.other.attribute-name.scss, entity.other.attribute-name.id.css, entity.other.attribute-name.class.css, entity.other.attribute-name.attribute.scss, entity.other.attribute-name.class.mixin.css, entity.other.attribute-name.pseudo-class.css, source.css.less entity.other.attribute-name.id, entity.other.attribute-name.pseudo-element.css, entity.other.attribute-name.parent-selector.css | #D7BA7D | — |
| invalid, token.error-token | #F44747 | — |
| markup.underline | — | underline |
| markup.inserted, keyword.other.unit, constant.sha.git-rebase, meta.preprocessor.numeric | #B5CEA8 | — |
| markup.deleted, markup.inline.raw, support.constant.color, support.constant.media, meta.preprocessor.string, constant.other.rgb-value, support.constant.font-name, support.constant.media-type, constant.other.color.rgb-value, support.constant.property-value | #CE9178 | — |
| beginning.punctuation.definition.quote.markdown, text.html.markdown beginning.punctuation.definition.quote | #608B4E | — |
| token.info-token, beginning.punctuation.definition.list.markdown, text.html.markdown beginning.punctuation.definition.list | #6796E6 | — |
| storage | #FF8420 | — |
| constant.character.escape | #CC682E | — |
| meta.type.new.expr, meta.type.cast.expr, support.constant.dom, support.constant.math, support.constant.json | #4EC9B0 | — |
| token.warn-token | #CD9731 | — |
| token.debug-token | #B267E6 | — |
| text.html.markdown markup.heading, text.html.markdown markup.heading.setext | #599DF6 | bold |
| text.html.markdown meta.link.inline string, text.html.markdown meta.reference.link.inline, text.html.markdown meta.link.inet punctuation, text.html.markdown meta.reference.link constant.other, text.html.markdown meta.link.reference string.other.link.title, text.html.markdown meta.link.inline punctuation.definition.string, text.html.markdown meta.paragraph meta.link.inet markup.underline.link, text.html.markdown meta.paragraph meta.link.reference punctuation.definition.string | #9876AA | bold |
| text.html.markdown meta.link.inline markup.underline.link, text.html.markdown meta.link.reference markup.underline.link | #E8BF6A | italic |
| text.html.markdown meta.link.reference string.other.link.description.title | #808080 | italic |
| comment, comment.block.json, keyword.command.rem.batchfile, comment.block.documentation.json, text.html.markdown markup.raw.block, text.html.markdown markup.inline.raw | #808080 | — |
| text, support.type.property-name.css, text.html.django meta.tag entity.other.attribute-name | #BABABA | — |
| keyword.codetag.notation | #A8C023 | — |
| string.url, variable.parameter.url, text.html.markdown meta.link.inline string, text.html.markdown meta.reference.link.inline, text.html.markdown meta.link.inet punctuation, text.html.markdown meta.reference.link constant.other, text.html.markdown meta.link.reference string.other.link.title, text.html.markdown meta.link.inline punctuation.definition.string, text.html.markdown meta.paragraph meta.link.inet markup.underline.link, text.html.markdown meta.paragraph meta.link.reference punctuation.definition.string | #287BDE | — |
| text.html constant | #6D9CBE | — |
| constant.css, markup.heading.restructuredtext | #6897BB | — |
| entity.name.tag.css, meta.at-rule.import.css, punctuation.separator.css, meta.at-rule.font-face.css, punctuation.terminator.rule.css, punctuation.separator.list.comma.css | #B87800 | — |
| meta.selector.css, support.function.url.css, constant.other.unicode-range.css, punctuation.section.function.css, string.regexp punctuation.character.set, string.regexp support.other.parenthesis | #E8BF6A | |
| meta.property-value.css | #A5C261 | |
| variable.other.less, punctuation.definition.variable.less | #D0D0FF | — |
| source.css.less constant.other.unicode-range.css, source.css.less entity.other.attribute-name.class.mixin.css, source.css.less meta.property-list.css meta.property-value.css entity.name.tag.css, source.css.less meta.property-list.css meta.property-value.css constant.numeric.css | #A5C261 | — |
| string.regexp.js | #9876AA | |
| entity.name.yaml, variable.other.yaml | #E8BF6A | — |
| string.regexp, string.regexp constant.character, string.regexp storage.type.string, string.regexp punctuation.definition.string.end, string.regexp punctuation.definition.string.begin | #D16969 | |
| string.regexp entity.name.tag | #F23B7A | |
| token.info-token | #6796E6 | — |
| token.warn-token | #CD9731 | — |
| token.error-token | #F44747 | — |
| token.debug-token | #B267E6 | — |
| #00ff2a | — |
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}!`;
}