Nosferatu Theme
Publisher: nothingnothingsThemes in package: 1
A theme inspired by Sweet Dracula focused on reducing eye strain during long coding sessions.
A theme inspired by Sweet Dracula focused on reducing eye strain during long coding sessions.
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 | — | italic |
| strong | — | bold |
| header | #BD93F9 | — |
| source | #F8F8F2 | — |
| entity.name.type.class | #50FA7B | — |
| storage.type | #8BE9FD | italic |
| keyword.other.this, variable.language, variable.parameter.function.language.special | #BD93F9 | — |
| entity.other.inherited-class | #8BE9FD | — |
| support.class.builtin | #50FA7B | — |
| comment, punctuation.definition.comment, unused.comment, wildcard.comment | #6272A4 | — |
| string.quoted.docstring, string.quoted.docstring punctuation.definition.string.begin, string.quoted.docstring punctuation.definition.string.end | #6272A4 | — |
| comment keyword.codetag.notation, comment.block.documentation keyword, comment.block.documentation storage.type.class | #8BE9FD | — |
| comment.block.documentation variable | #FFB86C | — |
| constant | #BD93F9 | — |
| variable.other.constant | #BD93F9 | — |
| constant.character.escape, constant.character.string.escape, constant.regexp | #FF79C6 | — |
| constant.other.date, constant.other.timestamp | #FFB86C | — |
| support.variable, variable.other.predefined | #BD93F9 | — |
| meta.definition.function, meta.definition.method | #6DBF6D | — |
| entity.name.variable.parameter, meta.at-rule.function variable, meta.at-rule.mixin variable, variable.parameter | #FFB86C | italic |
| entity.name.function, meta.function-call.generic, meta.function-call.object, meta.function-call.php, meta.function-call.static, meta.method-call.java meta.method, meta.method.groovy, support.function.any-method.lua, keyword.operator.function.infix, support.function.gradient.css, support.function.misc.css, support.function.url.css, support.function.timing-function.css, support.function.transform.css | #6DBF6D | — |
| meta.decorator variable.other.readwrite, meta.decorator variable.other.property, meta.decorator variable.other.object | #BD93F9 | — |
| support.function.magic | #BD93F9 | — |
| keyword, punctuation.definition.keyword | #FF79C6 | — |
| keyword.control.new, keyword.operator.new | — | bold |
| entity.other.attribute-name.placeholder punctuation, entity.other.attribute-name.pseudo-class punctuation, entity.other.attribute-name.pseudo-element punctuation, meta.object-binding-pattern-variable punctuation.destructuring, punctuation.definition.entity.other.inherited-class, punctuation.separator.dictionary.key-value, punctuation.separator.hash, punctuation.separator.inheritance, punctuation.separator.key-value, punctuation.separator.namespace, punctuation.separator.pointer-access, punctuation.separator.slice, string.unquoted.heredoc punctuation.definition.string, punctuation.separator.annotation, punctuation.accessor | #FF79C6 | — |
| meta.string-contents.quoted.double punctuation.definition.variable, punctuation.definition.interpolation.begin, punctuation.definition.interpolation.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded.begin, punctuation.section.embedded.end | #FF79C6 | — |
| string, punctuation.definition.string.begin, punctuation.definition.string.end, punctuation.definition.string.end source.js-ignored-vscode, punctuation.definition.string.end source.css-ignored-vscode, meta.embedded.line.css source.css | #F1FA8C | — |
| support.type.property-name, punctuation.support.type.property-name.begin, punctuation.support.type.property-name.end | #8BE9FD | — |
| storage | #FF79C6 | — |
| entity.name.type | #8BE9FD | — |
| entity.name.type.type-parameter, meta.indexer.mappedtype.declaration entity.name.type, meta.type.parameters entity.name.type | #FFB86C | — |
| storage.modifier | #FF79C6 | — |
| variable, support.variable.property | #8BE9FD | — |
| meta.import variable.other.readwrite, meta.object-binding-pattern-variable variable.object.property | #FFB86C | — |
| meta.import variable.other.readwrite.alias | #F8F8F2 | — |
| storage.type.c | #8BE9FD | — |
| punctuation.section.embedded.coffee | #FF79C6 | — |
| meta.variable.assignment.destructured.object.coffee variable | #FFB86C | — |
| meta.variable.assignment.destructured.object.coffee variable variable | #F8F8F2 | — |
| punctuation.definition.tag.cs | #F8F8F2 | — |
| keyword.type.cs, storage.type.cs | #8BE9FD | — |
| meta.diff, meta.diff.header | #6272A4 | — |
| markup.inserted | #50FA7B | — |
| markup.deleted | #FF5555 | — |
| markup.changed | #FFB86C | — |
| invalid | #FF5555 | underline italic |
| invalid.deprecated | #F8F8F2 | underline italic |
| entity.name.filename | #F1FA8C | — |
| markup.error | #FF5555 | — |
| entity.name.function.elixir | #50FA7B | — |
| constant.other.symbol.elixir, constant.language.symbol.elixir | #8BE9FD | — |
| entity.name.type.module.elixir | #50FA7B | — |
| variable.other.readwrite.module.elixir, variable.other.readwrite.module.elixir punctuation.definition.variable.elixir | #FFB86C | — |
| punctuation.separator.method.elixir | #FF79C6 | — |
| punctuation.section.embedded.elixir | #FF79C6 | — |
| variable.other.anonymous.elixir punctuation.definition.variable.elixir | #FF79C6 | — |
| punctuation.other.period.go, punctuation.other.colon.go | #FF79C6 | — |
| source.go storage.type | #8BE9FD | — |
| entity.name.type.go | #BD93F9 | — |
| entity.name.function.go | #50FA7B | — |
| support.function.go | #8BE9FD | — |
| punctuation.colon.graphql | #FF79C6 | — |
| variable.graphql, variable.arguments.graphql | #F1FA8C | — |
| support.type.graphql, support.type.builtin.graphql, support.type.enum.graphql, entity.scalar.graphql | #8BE9FD | — |
| entity.name.function.graphql | #50FA7B | — |
| meta.selectionset.graphql variable.graphql, variable.parameter.graphql | #FFB86C | — |
| source.groovy storage.type.def | #FF79C6 | — |
| source.groovy storage.type, storage.type.groovy | #8BE9FD | — |
| keyword.operator.navigation.groovy | #F8F8F2 | — |
| storage.type.haskell | #8BE9FD | — |
| meta.preprocessor.haskell | #6272A4 | — |
| constant.language.empty-list.haskell | #F8F8F2 | — |
| punctuation.definition.tag.begin.js, punctuation.definition.tag.end.js, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx | #FF79C6 | — |
| entity.name.tag | #FF79C6 | — |
| entity.name.tag support.class.component.js, entity.name.tag support.class.component.tsx | #F8F8F2 | — |
| meta.selector | #FF79C6 | — |
| entity.other.attribute-name.parent-selector | #FF79C6 | — |
| meta.attribute-selector.scss | #F1FA8C | — |
| punctuation.definition.attribute-selector.end.bracket.square.scss, punctuation.definition.attribute-selector.begin.bracket.square.scss | #F8F8F2 | — |
| entity.other.attribute-name | #50FA7B | — |
| punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx, punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx, punctuation.separator.list.comma.css | #F8F8F2 | — |
| support.constant.property-value.css | #8BE9FD | — |
| keyword.control.at-rule.media.scss, keyword.control.at-rule.media.scss punctuation.definition.keyword.scss | #50FA7B | — |
| storage.type.generic.java | #F8F8F2 | — |
| source.java storage.type | #8BE9FD | — |
| keyword.operator.dereference.java, storage.modifier.import | #F8F8F2 | — |
| support.variable.property.js | #BD93F9 | — |
| variable.other.constant.js | #8BE9FD | — |
| support.class.console.js, support.type.object.module.js, support.class.promise.js, support.constant.json.js | #50FA7B | — |
| support.class.js | #50FA7B | — |
| meta.object-literal.key.js entity.name.function.js, meta.var.expr.js meta.definition.variable.js entity.name.function.js, meta.definition.property.js entity.name.function.js | #50FA7B | — |
| meta.function-call.js | #8BE9FD | — |
| punctuation.definition.variable.makefile | #FF79C6 | — |
| entity.name.function.target.makefile | #8BE9FD | — |
| meta.scope.prerequisites.makefile | #F1FA8C | — |
| markup.underline | — | underline |
| markup.bold | #FFB86C | bold |
| markup.heading | #BD93F9 | bold |
| markup.italic | #F1FA8C | italic |
| beginning.punctuation.definition.list.markdown, beginning.punctuation.definition.quote.markdown, punctuation.definition.link.restructuredtext | #8BE9FD | — |
| markup.inline.raw, markup.raw.restructuredtext | #50FA7B | — |
| markup.underline.link, markup.underline.link.image | #8BE9FD | — |
| meta.link.reference.def.restructuredtext, punctuation.definition.directive.restructuredtext, string.other.link.description, string.other.link.title | #FF79C6 | — |
| entity.name.directive.restructuredtext, markup.quote | #F1FA8C | italic |
| meta.separator.markdown | #6272A4 | — |
| fenced_code.block.language, markup.raw.inner.restructuredtext, markup.fenced_code.block.markdown punctuation.definition.markdown | #50FA7B | — |
| punctuation.definition.constant.restructuredtext | #BD93F9 | — |
| markup.heading.markdown punctuation.definition.string.begin, markup.heading.markdown punctuation.definition.string.end | #BD93F9 | — |
| meta.paragraph.markdown punctuation.definition.string.begin, meta.paragraph.markdown punctuation.definition.string.end | #F8F8F2 | — |
| markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.begin, markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.end | #F1FA8C | — |
| source.dart string.interpolated.single.dart, source.dart string.interpolated.expression.dart | #FF79C6 | — |
| source.dart storage.type.primitive.dart | #FF79C6 | — |
| meta.implementation storage.type.objc, meta.interface-or-protocol storage.type.objc | #FF79C6 | — |
| meta.protocol-list.objc, meta.return-type.objc, storage.type.objc | #8BE9FD | — |
| storage.type.ocaml | #8BE9FD | — |
| constant.other.key.perl | #F8F8F2 | — |
| variable.language punctuation.definition.variable.php | #BD93F9 | — |
| meta.function.arguments variable.other.php | #50FA7B | — |
| punctuation.section.embedded.end source.php | #FF79C6 | — |
| storage.type.php | #8BE9FD | — |
| keyword.operator.other.powershell, keyword.other.statement-separator.powershell | #F8F8F2 | — |
| source.powershell entity.other.attribute-name | #8BE9FD | — |
| support.constant | #BD93F9 | — |
| source.python storage.type | #8BE9FD | — |
| support.type.python | #8BE9FD | italic |
| meta.function-call.python support.type.python, meta.function-call.python support.function.builtin.python | #8BE9FD | — |
| punctuation.separator.period.python, punctuation.separator.colon.python, punctuation.separator.dict.python, punctuation.section.function.begin.python | #FF79C6 | — |
| string.regexp, constant.other.character-class.set.regexp, constant.character.escape.backslash.regexp | #F1FA8C | — |
| support.other.parenthesis.regexp, support.other.escape.special.regexp | #8BE9FD | — |
| keyword.operator.lookahead, keyword.operator.lookbehind | #FF5555 | — |
| punctuation.definition.group.capture.regexp | #FF79C6 | — |
| string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end | #8BE9FD | italic |
| punctuation.definition.character-class.regexp | #8BE9FD | — |
| punctuation.definition.group.regexp | #FFB86C | — |
| punctuation.definition.group.assertion.regexp, keyword.operator.negation.regexp | #FF5555 | — |
| meta.assertion.look-ahead.regexp | #50FA7B | — |
| variable.other.readwrite.instance.ruby, variable.other.readwrite.instance.ruby punctuation.definition.variable.ruby | #FFB86C | — |
| variable.other.readwrite.class.ruby, variable.other.readwrite.class.ruby punctuation.definition.variable.ruby | #FFB86C | — |
| variable.other.constant.ruby | #BD93F9 | — |
| entity.name.type.module.ruby | #50FA7B | — |
| entity.name.type.class.ruby | #50FA7B | — |
| entity.other.inherited-class.ruby | #BD93F9 | — |
| support.class.ruby | #BD93F9 | — |
| meta.function.method.with-arguments.ruby entity.name.function.ruby, meta.function.method.without-arguments.ruby entity.name.function.ruby | #50FA7B | — |
| variable.parameter.function.ruby | #F8F8F2 | — |
| variable.other.block.ruby | #F8F8F2 | — |
| meta.function-call.ruby entity.name.function.ruby, support.function.kernel.ruby | #F8F8F2 | — |
| punctuation.separator.method.ruby | #FF79C6 | — |
| punctuation.section.embedded.end source.ruby | #FF79C6 | — |
| constant.language.symbol.hashkey.ruby, constant.language.symbol.hashkey.parameter.function.ruby, constant.language.symbol.ruby, constant.other.symbol.hashkey.ruby, constant.other.symbol.ruby, punctuation.definition.constant.ruby, punctuation.definition.constant.hashkey.ruby | #8BE9FD | — |
| storage.class.std.rust, storage.type.core.rust | #8BE9FD | — |
| source.shell variable.other | #BD93F9 | — |
| keyword.expressions-and-types.swift | #BD93F9 | — |
| punctuation.function.swift | #FF79C6 | — |
| keyword.primitive-datatypes.swift, storage.type.attribute.swift | #8BE9FD | — |
| meta.group.double.toml, meta.group.toml | #FF79C6 | — |
| entity.name.section.toml, entity.name.tag.yaml, variable.other.key.toml | #8BE9FD | — |
| support.variable.property.ts, support.variable.property.tsx | #BD93F9 | — |
| variable.other.constant.ts, variable.other.constant.tsx | #8BE9FD | — |
| support.class.console.ts, support.type.object.module.ts, support.class.promise.ts, support.constant.json.ts, support.class.console.tsx, support.type.object.module.tsx, support.class.promise.tsx, support.constant.json.tsx | #50FA7B | — |
| support.class.ts, support.class.tsx | #50FA7B | — |
| meta.object-literal.key.ts entity.name.function.ts, meta.var.expr.ts meta.definition.variable.ts entity.name.function.ts, meta.definition.property.ts entity.name.function.ts, meta.object-literal.key.tsx entity.name.function.tsx, meta.var.expr.tsx meta.definition.variable.tsx entity.name.function.tsx, meta.definition.property.tsx entity.name.function.tsx | #50FA7B | — |
| meta.function-call.ts, meta.function-call.tsx | #8BE9FD | — |
| entity.name.type.alias.ts, entity.name.type.interface.ts, entity.name.type.enum.ts, entity.name.type.alias.tsx, entity.name.type.interface.tsx, entity.name.type.enum.tsx | #50FA7B | — |
| support.type.primitive.ts, support.type.builtin.ts, entity.name.type.ts, support.type.primitive.tsx, support.type.builtin.tsx, entity.name.type.tsx | #8BE9FD | — |
| meta.type.parameters.ts support.type.primitive.ts, meta.type.parameters.ts entity.name.type.ts, meta.type.parameters.tsx support.type.primitive.tsx, meta.type.parameters.tsx entity.name.type.tsx | #FFB86C | — |
| punctuation.definition.typeparameters.begin.ts, punctuation.definition.typeparameters.end.ts, punctuation.definition.typeparameters.begin.tsx, punctuation.definition.typeparameters.end.tsx | #FF79C6 | — |
| punctuation.definition.block.scalar.folded.yaml, punctuation.definition.block.scalar.literal.yaml, punctuation.definition.block.sequence.item.yaml, punctuation.separator.key-value.mapping.yaml, support.other.chomping-indicator.yaml | #FF79C6 | — |
| entity.name.tag.yaml | #8BE9FD | — |
| variable.other.alias.yaml | #50FA7B | underline |
TypeScript sample highlighted with this variant's colors and tokenColors.
Loading...
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}!`;
}
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}!`;
}