Firefox Theme
Publisher: Heron SilvaThemes in package: 2
A VS Code theme based on the Mozilla Firefox' developer tools colors
A VS Code theme based on the Mozilla Firefox' developer tools colors
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 |
|---|---|---|
| — | #939393 | — |
| comment | #939393 | — |
| string | #4A4A4F | — |
| string.regexp | #003EAA | — |
| constant.numeric | #003EAA | — |
| variable.language | #8000D7 | — |
| variable.other.constant | #0074E8 | — |
| keyword | #DD00A9 | — |
| storage | #003EAA | — |
| entity.name.class, entity.name.type | #0074E8 | — |
| meta.function-call | #8000D7 | — |
| meta.definition.function | #8000D7 | — |
| variable.object.property | #058B00 | — |
| punctuation.section.embedded.begin, punctuation.section.embedded.end | #4A4A4F | — |
| constant.language, meta.preprocessor | #4A4A4F | — |
| constant.character, constant.other | #8000D7 | — |
| entity.other.inherited-class | #0074E8 | underline |
| variable.parameter | #0074E8 | — |
| punctuation.accessor | #4A4A4F | — |
| keyword.type | #003EAA | — |
| entity.name.variable.property.cs, entity.name.function.cs | #4A4A4F | — |
| storage.modifier.cs | #058B00 | — |
| keyword.other.new.cs | #8000D7 | — |
| meta.tag.sgml.doctype.html | #D9DBDF | italic |
| entity.name.tag | #8000D7 | — |
| punctuation.definition.tag | #767676 | — |
| meta.tag.structure.any.html | #8000D7 | — |
| entity.other.attribute.name, entity.other.attribute-name.html, entity.other.attribute-name.id.html | #DD00A9 | — |
| support.function | #058B00 | — |
| punctuation.separator.continuation | #4A4A4F | — |
| support.constant | #8000D7 | — |
| support.type, support.class | #8000D7 | — |
| support.other.variable | #A7A6C5 | — |
| string.quoted.single, string.quoted.double | #003EAA | — |
| comment.block.html | #058B00AA | — |
| punctuation.definition.string.begin.html, punctuation.definition.string.end.html | #D9DBDF | — |
| storage.type | #DD00A9 | — |
| variable.language.this | #DD00A9 | italic |
| constant.language.boolean.true, constant.language.boolean.false | #DD00A9 | — |
| constant.language.undefined, keyword.operator.comparison, keyword.operator.logical, keyword.operator.assignment, keyword.operator.arithmetic | #4A4A4F | — |
| variable.other.property, variable.other.object.property, meta.object-literal.key, meta.object.member, entity.name.function | #058B00 | — |
| entity.name.function | — | italic |
| meta.object.member | #8000D7 | — |
| variable.other.readwrite | #0074E8 | — |
| keyword.control.flow | #DD00A9 | — |
| variable.other.object, entity.name.type.module | #8000D7 | — |
| meta.brace.square, meta.brace.round, punctuation.definition.block, punctuation.definition.parameters.begin, punctuation.definition.parameters.end | #4A4A4F | — |
| string.template | #003EAA | — |
| meta.template.expression | #003EAA | — |
| variable.other.constant.property | #058B00 | — |
| support.type.property-nameon, meta.structure.arrayon | #0074E8 | — |
| string.quoted.doubleon | #E437BB | — |
| constant.languageon, constant.numericon | #1F971B | — |
| meta.selector.css, entity.name.tag.css, keyword.control.at-rule.media.css | #8000D7 | — |
| meta.function.url.css, meta.property-value.css, support.constant.property-value.css, support.function.url.css, support.function.misc.css, keyword.other.unit.px.css, keyword.other.unit.pt.css, keyword.other.unit.percentage.css, keyword.other.unit.em.css, keyword.other.unit.rem.css, keyword.other.unit.ch.css, keyword.other.unit.vh.css, keyword.other.unit.vw.css, keyword.other.unit.s.css, keyword.other.unit.deg.css, keyword.other.unit.scss, keyword.other.unit.dppx.css, support.constant.media.css, constant.numeric.css, string.quoted.single.css, string.quoted.double.css | #003EAA | — |
| constant.other.color.rgb-value.hex.css, variable.parameter.url.css, support.function.transform.css, support.function.calc.css, entity.other.attribute-name.pseudo-class.css, meta.function.gradient.css, support.function.gradient.css, variable.parameter.url.scss, entity.name.tag.scss | #4A4A4F | — |
| punctuation.terminator.rule.css, punctuation.separator.key-value.css, punctuation.section.property-list.begin.bracket.curly.css, punctuation.section.property-list.end.bracket.curly.css, punctuation.section.function.begin.bracket.round.css, punctuation.section.function.end.bracket.round.css, punctuation.definition.entity.begin.bracket.square.css, punctuation.definition.entity.end.bracket.square.css, punctuation.separator.list.comma.css, keyword.operator.pattern.css | #4A4A4F | — |
| support.type.property-name.css, support.type.property-name.media.css, support.type.vendored.property-name.media.css | #058B00 | — |
| support.type.vendored.property-name.css, entity.other.attribute-name.pseudo-element.css | #939393 | — |
| keyword.operator.combinator.css | #D9DBDF | — |
| support.type.property-name.css | #058B00 | — |
| markup.heading | #8000D7 | bold |
| markup.underline | #75BFFF | underline |
| markup.bold | — | bold |
| markup.italic | — | italic |
| markup.inserted | #86DE74 | — |
| markup.deleted | #CC3D3D | — |
| markup.changed | #0A84FF | — |
| punctuation.definition.quote.begin.markdown | #FF7DE9 | — |
| punctuation.definition.list.begin.markdown | #75BFFF | — |
| markup.inline.raw | #058B00 | — |
| meta.paragraph.markdown | #4A4A4F | — |
| punctuation.definition.list.begin.markdown | #B1B1B3 | — |
| string.other.link.title.markdown, string.other.link.description.markdown | #003EAA | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #0A84FF | italic |
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}!`;
}