Night Panther
Publisher: AbacoveThemes in package: 1
A dark theme with a full black background based on Night Wolf black
A dark theme with a full black background based on Night Wolf black
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 |
|---|---|---|
| Global settings | #c8c8c8 | — |
| support.variable.property, variable.object.property.ts, variable.other.property, variable.other.property.js, variable.other.property.ts | #c8c8c8 | — |
| punctuation.definition.tag.html, punctuation.separator.key-value.html | #c8c8c8 | — |
| comment.block.documentation punctuation.definition.block.tag.jsdoc, comment.block.documentation storage.type.class.jsdoc | #00b1ff80 | — |
| entity.other.attribute-name.css.sass, entity.other.attribute-selector.sass, keyword.operator.attribute-selector.css.sass, meta.attribute-selector, meta.attribute-selector.css entity.other.attribute-name, meta.attribute-selector.css keyword.operator.pattern.css, meta.attribute-selector.css punctuation.definition.entity.begin.bracket.square.css, meta.attribute-selector.css punctuation.definition.entity.end.bracket.square.css, meta.attribute-selector.css, meta.attribute-selector.less entity.other.attribute-name.attribute, meta.attribute-selector.scss keyword.operator.scss, meta.attribute-selector.scss punctuation.definition.attribute-selector.begin.bracket.square.scss, meta.attribute-selector.scss punctuation.definition.attribute-selector.end.bracket.square.scss, meta.attribute-selector.scss punctuation.definition.string.begin.scss, meta.attribute-selector.scss punctuation.definition.string.end.scss, meta.attribute-selector.scss, source.css.scss entity.other.attribute-name.attribute | #aae682 | — |
| string.template punctuation.definition.string | #aae682 | — |
| bold | #aae682 | bold |
| constant.language.boolean | #ff7878 | — |
| constant.language, punctuation.definition.constant, variable.other.constant | #ffdc96 | — |
| entity.name.type.class.cs, storage.type.cs | #9696ff | — |
| entity.name.type.namespace.cs | #ffdc96 | — |
| variable.other.readwrite.cs | #ffdc96 | — |
| entity.other.attribute-name.pseudo-class.css punctuation.definition.entity.css, entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css punctuation.definition.entity.css, entity.other.attribute-name.pseudo-element.css, entity.other.pseudo-class.css.sass | #dc8cff | normal |
| markup.changed, meta.diff.header.from-file, meta.diff.header.git, meta.diff.header.to-file | #9cd9ff | italic |
| entity.name.class, meta.class entity.name.type.class, meta.class entity.name.type.class.js, meta.class entity.name.type.class.ts | #00dcdc | — |
| variable.parameter.function.coffee | #00dcdc | — |
| variable.assignment.coffee | #ffdc96 | — |
| comment, comment.block.documentation punctuation.definition.bracket.curly | #647882 | italic |
| constant.character.escape | #aae682 | — |
| constant.other.color | #c8c8c8 | — |
| comment.block.documentation entity.name.type.instance.jsdoc, comment.block.documentation entity.name.type.instance.phpdoc | #9696ff80 | — |
| entity.name.function.decorator.python | #ff7878 | — |
| markup.deleted.diff | #f05050 | italic |
| entity.name.tag.doctype, meta.tag.sgml.doctype | #dc8cff | italic |
| comment.line.double-slash, punctuation.definition.comment, punctuation.whitespace.comment, string.comment.buffered.block.pug | #647882 | — |
| source.elixir .punctuation.binary.elixir | #dc8cff | italic |
| source.elixir meta.module.elixir entity.name.class.elixir, source.elixir support.type.elixir | #9696ff | — |
| source.elixir constant.other.keywords.elixir, source.elixir constant.other.symbol.elixir | #9696ff | — |
| source.elixir entity.name.function | #00dcdc | — |
| source.elixir punctuation.definition.string | #aae682 | — |
| source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir, source.elixir variable.other.readwrite.module.elixir | #aae682 | — |
| entity.name.tag.custom | #dc8cff | — |
| entity.name.function | #00dcdc | — |
| support.function.go | #00dcdc | — |
| source.go constant.language.go, source.go constant.other.placeholder.go | #ff7878 | — |
| source.go keyword.channel.go, source.go keyword.const.go, source.go keyword.control.go, source.go keyword.function.go, source.go keyword.import.go, source.go keyword.interface.go, source.go keyword.map.go, source.go keyword.package.go, source.go keyword.struct.go, source.go keyword.type.go, source.go keyword.var.go | #dc8cff | italic |
| entity.name.tag, entity.name.tag, entity.name.tag.js, entity.name.tag.tsx, meta.tag.end.svelte keyword.control.svelte, meta.tag.end.svelte, meta.tag.html, meta.tag.js, meta.tag.other.html, meta.tag.other.js, meta.tag.other.tsx, meta.tag.start.svelte keyword.control.svelte, meta.tag.start.svelte, meta.tag.tsx, source.vue entity.name.tag.html invalid.illegal.unrecognized-tag.html, source.vue entity.name.tag.html, source.vue support.class.component.html | #ff7878 | normal |
| invalid.illegal.unrecognized-tag.html entity.name.tag, meta.tag.other.unrecognized.html entity.name.tag | #c8c8c8 | normal |
| entity.other.inherited-class, entity.other.inherited-class.js | #c9c75e | — |
| markup.inserted.diff | #a1d884 | italic |
| invalid.deprecated | #f05050 | — |
| invalid | #ffffff | — |
| italic | italic | |
| support.type.property-name.json | #ffdc96 | — |
| meta.structure.dictionary.value.json string.quoted.double | #aae682 | — |
| support.constant.json | #ff7878 | — |
| entity.name.type.js, entity.name.type.module.js | #9696ff | normal |
| support.class.js | #ffdc96 | — |
| variable.other.property, variable.parameter | #ffdc96 | — |
| variable.js, variable.other.js | #ffdc96 | — |
| meta.export.js variable.other, meta.import.js variable.other, variable.other.meta.export.js, variable.other.meta.import.js | #ffdc96 | — |
| keyword.other.important.css, keyword.other.important.scss | #ff7878 | italic |
| keyword.control.conditional.js, keyword.control.conditional.svelte, keyword.control.conditional.ts, keyword.control.conditional.vue, keyword.control.svelte, keyword.control.switch.js, keyword.control.switch.ts | #dc8cff | — |
| keyword.control.operator | #00dcdc | — |
| keyword.operator.arithmetic | #ff7878 | — |
| keyword.operator.assignment | #ff7878 | — |
| keyword.operator.bitwise | #ff7878 | — |
| keyword.operator.decrement, keyword.operator.increment | #ff7878 | — |
| keyword.operator.logical | #dc8cff | normal |
| keyword.operator.relational | #dc8cff | italic |
| keyword.operator.ternary | #ff7878 | — |
| keyword.operator | #ff7878 | normal |
| keyword.operator.expression | #ff7878 | — |
| entity.name.tag.custom.css, entity.name.tag.custom.sass, entity.name.tag.custom.scss, entity.name.tag.reference, keyword.control.at-rule, keyword.control.at-rule.css.sass, keyword.control.interpolation.sass, keyword.operator.css.sass, keyword.other.reserved.sass, punctuation.definition.keyword, support.function.sass | #9696ff | italic |
| keyword.control.flow.js, keyword.control.flow.ts, keyword.control.flow.tsx, keyword.control.from.js, keyword.control.from.ts, keyword.control.from.tsx, keyword.control.import.js, keyword.control.import.ts, keyword.control.import.tsx, keyword.control.import.python | #778abe | italic |
| constant.language.python | #ff7878 | — |
| variable.language | #00b1ff | — |
| storage.modifier.async, support.class.promise, support.constant, support.function | #9696ff | italic |
| support.type, support.variable | #9696ff | — |
| markup.bold.markdown | #ffb482 | bold |
| markup.heading.markdown | #9696ff | bold |
| markup.inline.raw.string.markdown | #aae682 | — |
| markup.italic.markdown | #ffb482 | italic |
| string.other.link.description.markdown, string.other.link.title.markdown | #ffdc96 | — |
| markup.underline.link.image.markdown, markup.underline.link.markdown | #ffdc96 | — |
| beginning.punctuation.definition.list.markdown | #aae682 | — |
| punctuation.definition.metadata.markdown | #c8c8c8 | — |
| meta.link.inline.markdown punctuation.definition.string, punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.string.markdown | #c8c8c8 | — |
| markup.quote.markdown | #aae682 | italic |
| meta.brace, punctuation.definition, punctuation.definition.parameters | #c8c8c8 | — |
| meta.delimiter.period | #dc8cff | italic |
| meta.property-name | #00dcdc | — |
| meta.selector | #dc8cff | italic |
| meta.tag, punctuation.definition.tag | #c8c8c8 | — |
| punctuation.definition.list, punctuation.definition.list.begin, punctuation.definition.list.end, punctuation.separator.arguments | #c8c8c8 | — |
| constant.language.null, constant.language.undefined | #ff7878 | — |
| constant.character.numeric, constant.numeric | #ffb482 | normal |
| meta.objectliteral.js meta.object.member.js meta.object-literal.key.js, variable.other.property.vue | #c8c8c8 | — |
| entity.other.alias.php, punctuation.definition.variable.php, support.class.php, variable.other.php, variable.other.property.php | #ffdc96 | — |
| punctuation.section.embedded.begin.php, punctuation.section.embedded.end.php | #ff7878 | — |
| support.type.property-name.css, support.type.property-name.css.sass | #00dcdc | — |
| entity.other.attribute-name.class.pug | #ffdc96 | italic |
| punctuation.definition.string | #aae682 | — |
| punctuation.section.embedded | #c8c8c8 | — |
| meta.array, punctuation.definition.arguments, punctuation.definition.array, punctuation.section.array, punctuation.terminator.expression | #c8c8c8 | — |
| meta.property-list.css.sass, punctuation, punctuation.accessor, punctuation.accessor, punctuation.separator | #c8c8c8 | — |
| punctuation.python | #c8c8c8 | — |
| source.python variable.language.special | #ad7400 | — |
| quote | #aae682 | italic |
| constant.character.control.regexp, constant.character.escape.backslash.regexp, constant.other.character-class.set.regexp, meta.group.regexp, meta.group.regexp.js, meta.group.regexp.ts, string.regexp keyword.other, string.regexp punctuation.definition.string, string.regexp | #dbd4ba | — |
| entity.name.namespace.rust | #dc8cff | — |
| entity.name.namespace.rust | #dc8cff | — |
| keyword.other.rust, meta.function.definition.rust, meta.use.rust | #9696ff | — |
| punctuation.brackets.attribute.rust, punctuation.definition.attribute.rust | #ff7878 | — |
| punctuation.definition.interpolation.begin.bracket.curly.scss, punctuation.definition.interpolation.end.bracket.curly.scss, support.function.interpolation.sass | #ff7878 | — |
| variable.parameter.sass, variable.parameter.scss, variable.sass, variable.scss | #ffdc96 | — |
| meta.structure.dictionary.json meta.structure.dictionary.value constant.language | #ff7878 | — |
| meta.method.declaration storage.type.js, meta.method.declaration, punctuation.definition.block.tag, storage.type | #00b1ff | italic |
| storage.type.function.arrow.js, storage.type.function.arrow.ts | — | normal |
| meta.class meta.method.declaration meta.var.expr storage.type.js, storage, storage.type.property.js, storage.type.property.ts, storage.type.property.tsx | #00b1ff | italic |
| string.quoted, string.quoted.single.js | #aae682 | — |
| string | #aae682 | — |
| string.quoted.double.json punctuation.definition.string.json | #aae682 | — |
| constant.numeric.css, constant.numeric.css.sass, keyword.other.unit, keyword.other.unit.css, keyword.other.unit.css.sass, keyword.other.unit.scss, punctuation.definition.constant.css | #ffb482 | — |
| support.class.component.js, support.class.component.tsx | #ff7878 | normal |
| support.constant.math | #ff7878 | — |
| keyword.other.debugger, keyword.other.new, keyword.other.special-method, support.constant | #00dcdc | — |
| meta.property-list entity.name.tag, support.constant.vendor.property-value, support.type.property-name, support.type.vendor.property-name | #9696ff | normal |
| support.type.python | #6363b6 | — |
| support.variable.property | #00dcdc | — |
| entity.name.type.svelte, entity.other.attribute-name | #9696ff | italic |
| entity.name.tag.css, entity.name.tag.css.sass, entity.name.tag.custom.css, entity.name.tag.less, entity.name.tag.reference.scss | #ff7878 | normal |
| punctuation.definition.template-expression | #ff7878 | — |
| meta.jsx.children, meta.jsx.children.js, meta.jsx.children.tsx | #c8c8c8 | — |
| entity.name.type.module.tsx, entity.name.type.tsx | #9696ff | normal |
| meta.type.parameters.ts entity.name.type, meta.type.parameters.tsx entity.name.type | #969696 | — |
| meta.export.ts punctuation.definition.block, meta.export.tsx punctuation.definition.block, meta.import.ts punctuation.definition.block, meta.import.tsx punctuation.definition.block | #c8c8c8 | — |
| meta.method.declaration storage.type.ts, meta.method.declaration storage.type.tsx | #00b1ff | — |
| meta.decorator punctuation.decorator.ts, meta.decorator punctuation.decorator.tsx, meta.decorator variable.other.readwrite.ts, meta.decorator.ts entity.name.function.ts | #9696ff | — |
| variable.other.readwrite.alias.ts, variable.other.readwrite.alias.tsx, variable.other.readwrite.ts, variable.other.readwrite.tsx, variable.other.ts, variable.other.tsx, variable.ts, variable.tsx | #ffdc96 | — |
| entity.name.label, punctuation.separator.label | #e4c37e | — |
| constant.character, constant.other | #ffdc96 | — |
| support.constant.property-value.css | #ffb482 | — |
| variable.instance, variable.other.instance, variable.other.readwrite.instance, variable.readwrite.instance | #ffb482 | — |
| variable.other.object.property | #c8c8c8 | italic |
| variable | #ffdc96 | normal |
| comment.block.documentation variable.other.jsdoc, comment.block.documentation variable.other.phpdoc | #ffdc9680 | — |
| entity.name.tag.wildcard.css, entity.name.tag.wildcard.less, entity.name.tag.wildcard.sass, entity.name.tag.wildcard.scss | #00dcdc | — |
| keyword.blade | #9696ff | — |
| punctuation.separator.key-value.css, punctuation.separator.key-value.css.sass, punctuation.separator.key-value.less, punctuation.separator.key-value.scss | #c8c8c8 | — |
| entity.other.attribute-name.id, entity.other.attribute-name.id.css punctuation.definition.entity.css, entity.other.attribute-name.id.css, entity.other.attribute-name.id.css.sass, entity.other.attribute-name.id.scss | #00b1ff | — |
| entity.other.attribute-name.class.css punctuation.definition.entity.css, entity.other.attribute-name.class.css, entity.other.attribute-name.class.css.sass, entity.other.attribute-name.class.scss | #ffdc96 | — |
| punctuation.decorator.js | #00dcdc | — |
| meta.function-call | — | italic |
| source.sass entity.name.function, support.function.name.sass.library | #00b1ff | — |
| keyword.control, keyword.control.flow | #00B1FF | — |
| storage.type.interface | #00b1ff | — |
| meta.function-call.js entity.name.function.js | — | italic |
| support.variable.property.js, support.variable.property.ts | #9696ff | italic |
| support.variable.vue, variable.object.property.js, variable.object.property.jsx, variable.other.object.js, variable.other.object.jsx, variable.other.object.ts, variable.other.object.tsx | #ffdc96 | — |
| entity.name.type.alias.js, entity.name.type.alias.ts, entity.name.type.interface.js, entity.name.type.interface.ts | #dc8cff | — |
| meta.at-rule.keyframes.body.css, source.css.scss meta.at-rule.keyframes.scss entity.other.attribute-name.scss | #dc8cff | italic |
| keyword.operator.comparison | #dc8cff | — |
| keyword.control.loop, keyword.control.loop.js, keyword.control.loop.ts, keyword.control.loop.vue | #dc8cff | — |
| meta.arguments.coffee, variable.parameter.function.coffee | #ffdc96 | — |
| meta.object-literal.key, meta.var.expr | #c8c8c8 | normal |
| keyword.other.namespace.php, keyword.other.use-as.php, keyword.other.use.php, storage.modifier.php | #9696ff | — |
| keyword.control.directive.include.cpp punctuation.definition.directive.cpp | #9696ff | — |
| entity.name.type.namespace.php punctuation.separator.inheritance.php, entity.name.type.namespace.php, meta.use.php punctuation.separator.inheritance.php, meta.use.php | #ffb482 | — |
| variable.language.this.js, variable.language.this.ts | #ff7878 | — |
| comment.line | #029172 | italic |
| comment.line.double-slash | #029172 | italic |
| comment.punctuation.comma.sass | #00ffff | — |
| constant.language.boolean.false | #a86666 | — |
| constant.language.boolean.true | #22cc22 | — |
| constant.language.color.rgb-value.css | #ffffff | — |
| constant.language.null | #ff88ff | — |
| constant.language.undefined | #ee8888 | italic |
| constant.name.attribute.tag.pug | #8afc55a2 | bold |
| constant.other | #b1a684 | — |
| entity.name.function | #7cc751 | italic |
| entity.name.tag | #4eb8ff | — |
| entity.name.tag.css.sass | #4eb8ff | — |
| entity.name.tag.template.html | #00ffff | bold |
| entity.name.type.class.python | #dddd88 | bold |
| entity.name.type.module | #dddd88 | bold |
| entity.name.type.ts | #9b76ff | — |
| entity.other.attribute-name.class.pug | #deacff | — |
| entity.other.attribute-name.id.pug | #1eff00 | bold |
| keyword.control | #00ffff | — |
| keyword.control.conditional.ts | #00c3ff | — |
| keyword.control.flow.ts | #ff7300 | — |
| keyword.control.trycatch | #d0ff00 | — |
| keyword.operator.assignment | #ffff00 | — |
| keyword.operator.expression.in.js | #00ffff | — |
| keyword.operator.new | #00ffff | — |
| meta.function-call.generic.python | #64cf64 | — |
| punctuation.definition.generic | #b4fc55 | bold |
| punctuation.definition.string | #c6aeff | — |
| punctuation.definition.string.begin.python | #778877 | italic |
| punctuation.definition.string.end.python | #778877 | — |
| punctuation.definition.template-expression | #ff00d4 | bold |
| punctuation.definition.typeparameters | #ff00ff | — |
| pylan | #778877 | — |
| string.quoted | #a089af | — |
| string.quoted.docstring.multi.python | #778877 | italic |
| string.quoted.single.js | #ddc2ed | — |
| string.template | #c45fff | — |
| support.constant.math.ts | #cfa671 | bold |
| support.function.magic.python | #00ff88 | bold |
| support.type.property-name.css.sass.prop.name | #93b4ca | — |
| variable.language.this.js | #55fcc4 | italic bold |
| variable.other.constant | #ccffcc | — |
| variable.other.object.property.js | #bbb19c | — |
| variable.other.object.ts | #ffd92e | — |
| variable.other.property | #c2c0b3 | — |
| variable.other.readwrite.ts | #cccccc | — |
| variable.other.root | #fceb55 | italic |
| variable.parameter | #bbbbbb | — |
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}!`;
}