Hydra Theme for VS-Code
Publisher: juanmnlThemes in package: 6
Hail Hydra!
Hail Hydra!
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 |
|---|---|---|
| comment | #5C6370 | italic |
| string.quoted, string.template, punctuation.definition.string | #FF407B | — |
| string.template meta.embedded.line | #FFFFFF | — |
| variable, entity.name.variable | #96A1FF | — |
| variable.language, variable.other.object.js | #41BFFF | italic |
| variable.parameter | #96A1FF | italic |
| storage.type, storage.modifier | #FF407B | — |
| constant | #F08484 | — |
| string.regexp | #F08484 | — |
| string.quoted.single.js, string.quoted.double.js, string.quoted.double.json, string.quoted.double.xml, string.quoted.double.html, string.quoted.single.html, string.quoted.single.css, string.quoted.double.css | #D7DAE0 | — |
| constant.numeric | #96A1FF | — |
| constant.language | #F08484 | — |
| constant.character.escape | #FFFFFF | — |
| entity.name | #41BFFF | — |
| entity.name.tag | #41BFFF | — |
| punctuation.definition.tag | #FFFFFF | — |
| entity.other.attribute-name | #F08484 | — |
| entity.name.type | #41BFFF | — |
| entity.other.inherited-class | #F2F2F2 | — |
| entity.name.function, variable.function | #f8e8a8 | — |
| keyword | #FF407B | — |
| keyword.control | #FF407B | — |
| keyword.operator | #FF407B | — |
| keyword.operator.new, keyword.operator.expression, keyword.operator.logical | #FF407B | — |
| keyword.other.unit | #F08484 | — |
| support | #41BFFF | — |
| support.function | #FFFFFF | — |
| support.variable | #96A1FF | — |
| meta.object-literal.key, support.type.property-name | #96A1FF | — |
| variable.other.property.js | #FF407B | — |
| punctuation.separator.key-value | #FF0064 | — |
| punctuation.section.embedded | #FF407B | — |
| punctuation.section.embedded | #f8e8a8 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end | #FF407B | — |
| support.type.property-name.css, support.type.vendored.property-name.css | #F2F2F2 | — |
| constant.other.color | #F08484 | — |
| support.constant.font-name | #F08484 | — |
| entity.other.attribute-name.id | #f8e8a8 | — |
| entity.other.attribute-name.pseudo-element, entity.other.attribute-name.pseudo-class | #F2F2F2 | — |
| support.function.misc.css | #41BFFF | — |
| markup.heading, entity.name.section | #96A1FF | — |
| markup.quote | #FF407B | italic |
| beginning.punctuation.definition.list | #96A1FF | — |
| markup.underline.link | #F2F2F2 | — |
| string.other.link.description | #F08484 | — |
| meta.function-call.generic.python | #f8e8a8 | — |
| storage.type.cs | #41BFFF | — |
| entity.name.variable.local.cs | #96A1FF | — |
| entity.name.variable.field.cs, entity.name.variable.property.cs | #96A1FF | — |
| source.cpp keyword.operator | #FF407B | — |
| entity.name.type.interface, entity.name.type.alias, entity.name.type.enum, entity.name.type.class | #41BFFF | — |
| storage.type.interface, storage.type.type, storage.type.enum, storage.type.namespace, storage.type.class | #FF407B | — |
| support.type.primitive, support.type.builtin | #41BFFF | — |
| meta.type.annotation, meta.type.parameters, entity.name.type.parameter | #F08484 | — |
| punctuation.definition.typeparameters, meta.type.parameters punctuation.definition | #FF407B | — |
| variable.other.enummember | #F08484 | — |
| entity.name.type.module, entity.name.type.namespace | #41BFFF | — |
| keyword.control.import, keyword.control.export, keyword.control.from, keyword.control.as | #FF407B | — |
| meta.decorator, punctuation.decorator | #41BFFF | — |
| string.quoted.single.ts, string.quoted.double.ts, string.quoted.single.tsx, string.quoted.double.tsx, string.template.ts, string.template.tsx | #D7DAE0 | — |
| entity.name.type.rust, entity.name.type.struct.rust, entity.name.type.enum.rust, entity.name.type.trait.rust, entity.name.type.union.rust | #41BFFF | — |
| entity.name.type.lifetime.rust, punctuation.definition.lifetime.rust, storage.modifier.lifetime.rust | #FF407B | italic |
| entity.name.function.macro.rust, support.macro.rust | #41BFFF | — |
| keyword.operator.macro.rust | #FF407B | — |
| entity.name.module.rust, entity.name.namespace.rust | #F08484 | — |
| storage.modifier.mut.rust, storage.modifier.ref.rust | #FF407B | — |
| keyword.other.fn.rust, keyword.other.crate.rust, keyword.other.rust, storage.type.rust, storage.type.function.rust, storage.type.impl.rust | #FF407B | — |
| entity.name.type.primitive.rust, support.type.primitive.rust | #41BFFF | — |
| entity.name.type.option.rust, entity.name.type.result.rust, support.type.core.rust | #41BFFF | — |
| string.quoted.double.rust, string.quoted.single.rust | #D7DAE0 | — |
| meta.attribute.rust, punctuation.definition.attribute.rust, punctuation.brackets.attribute.rust | #F08484 | — |
| variable.language.self.rust, keyword.other.self.rust, variable.language.super.rust | #41BFFF | italic |
| support.class.component.js, support.class.component.jsx, support.class.component.ts, support.class.component.tsx, entity.name.tag.component.jsx, entity.name.tag.component.tsx | #41BFFF | — |
| entity.name.tag.js, entity.name.tag.jsx, entity.name.tag.ts, entity.name.tag.tsx | #41BFFF | — |
| punctuation.definition.tag.js, punctuation.definition.tag.jsx, punctuation.definition.tag.ts, punctuation.definition.tag.tsx, punctuation.definition.tag.begin, punctuation.definition.tag.end | #FFFFFF | — |
| entity.other.attribute-name.js, entity.other.attribute-name.jsx, entity.other.attribute-name.ts, entity.other.attribute-name.tsx | #F08484 | — |
| punctuation.section.embedded.begin.js, punctuation.section.embedded.end.js, punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx, punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx, meta.embedded.expression punctuation.section | #FF407B | — |
| meta.jsx.children, meta.jsx.children.tsx | #D7DAE0 | — |
| punctuation.definition.tag.jsx, punctuation.definition.tag.tsx | #FFFFFF | — |
| support.function.dom.js, entity.name.function.ts, entity.name.function.tsx | #f8e8a8 | — |
| variable.other.property.ts, variable.other.property.tsx, variable.other.object.property.ts, variable.other.object.property.tsx | #FF407B | — |
| meta.object-literal.key.ts, meta.object-literal.key.tsx | #F08484 | — |
| variable.language.this, variable.language.super | #41BFFF | italic |
| variable.other.constant, variable.other.constant.property | #F08484 | — |
| storage.type.function.arrow, keyword.operator.arrow | #FF407B | — |
| keyword.operator.optional, keyword.operator.nullish-coalescing, keyword.operator.ternary | #FF407B | — |
| keyword.operator.spread | #FF407B | — |
| keyword.operator.type.annotation | #FF407B | — |
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 |
|---|---|---|
| comment | #5C6370 | italic |
| string.quoted, string.template, punctuation.definition.string | #FF407B | — |
| string.template meta.embedded.line | #FFFFFF | — |
| variable, entity.name.variable | #96A1FF | — |
| variable.language, variable.other.object.js | #41BFFF | italic |
| variable.parameter | #96A1FF | italic |
| storage.type, storage.modifier | #FF407B | italic |
| constant | #F08484 | — |
| string.regexp | #F08484 | — |
| string.quoted.single.js, string.quoted.double.js, string.quoted.double.json, string.quoted.double.xml, string.quoted.double.html, string.quoted.single.html, string.quoted.single.css, string.quoted.double.css | #D7DAE0 | — |
| constant.numeric | #96A1FF | — |
| constant.language | #F08484 | — |
| constant.character.escape | #FFFFFF | — |
| entity.name | #41BFFF | — |
| entity.name.tag | #41BFFF | — |
| punctuation.definition.tag | #FFFFFF | — |
| entity.other.attribute-name | #F08484 | italic |
| entity.name.type | #41BFFF | — |
| entity.other.inherited-class | #F2F2F2 | — |
| entity.name.function, variable.function | #f8e8a8 | — |
| keyword | #FF407B | — |
| keyword.control | #FF407B | italic |
| keyword.operator | #FF407B | — |
| keyword.operator.new, keyword.operator.expression, keyword.operator.logical | #FF407B | italic |
| keyword.other.unit | #F08484 | — |
| support | #41BFFF | — |
| support.function | #FFFFFF | — |
| support.variable | #96A1FF | — |
| meta.object-literal.key, support.type.property-name | #96A1FF | — |
| variable.other.property.js | #FF407B | — |
| punctuation.separator.key-value | #FF0064 | — |
| punctuation.section.embedded | #FF407B | — |
| punctuation.section.embedded | #f8e8a8 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end | #FF407B | — |
| support.type.property-name.css, support.type.vendored.property-name.css | #F2F2F2 | — |
| constant.other.color | #F08484 | — |
| support.constant.font-name | #F08484 | — |
| entity.other.attribute-name.id | #f8e8a8 | — |
| entity.other.attribute-name.pseudo-element, entity.other.attribute-name.pseudo-class | #F2F2F2 | — |
| support.function.misc.css | #41BFFF | — |
| markup.heading, entity.name.section | #96A1FF | italic |
| markup.quote | #FF407B | italic |
| beginning.punctuation.definition.list | #96A1FF | — |
| markup.underline.link | #F2F2F2 | — |
| string.other.link.description | #F08484 | — |
| meta.function-call.generic.python | #f8e8a8 | — |
| storage.type.cs | #41BFFF | — |
| entity.name.variable.local.cs | #96A1FF | — |
| entity.name.variable.field.cs, entity.name.variable.property.cs | #96A1FF | — |
| source.cpp keyword.operator | #FF407B | — |
| entity.name.type.interface, entity.name.type.alias, entity.name.type.enum, entity.name.type.class | #41BFFF | — |
| storage.type.interface, storage.type.type, storage.type.enum, storage.type.namespace, storage.type.class | #FF407B | italic |
| support.type.primitive, support.type.builtin | #41BFFF | italic |
| meta.type.annotation, meta.type.parameters, entity.name.type.parameter | #F08484 | italic |
| punctuation.definition.typeparameters, meta.type.parameters punctuation.definition | #FF407B | — |
| variable.other.enummember | #F08484 | — |
| entity.name.type.module, entity.name.type.namespace | #41BFFF | — |
| keyword.control.import, keyword.control.export, keyword.control.from, keyword.control.as | #FF407B | italic |
| meta.decorator, punctuation.decorator | #41BFFF | italic |
| string.quoted.single.ts, string.quoted.double.ts, string.quoted.single.tsx, string.quoted.double.tsx, string.template.ts, string.template.tsx | #D7DAE0 | — |
| entity.name.type.rust, entity.name.type.struct.rust, entity.name.type.enum.rust, entity.name.type.trait.rust, entity.name.type.union.rust | #41BFFF | — |
| entity.name.type.lifetime.rust, punctuation.definition.lifetime.rust, storage.modifier.lifetime.rust | #FF407B | italic |
| entity.name.function.macro.rust, support.macro.rust | #41BFFF | — |
| keyword.operator.macro.rust | #FF407B | — |
| entity.name.module.rust, entity.name.namespace.rust | #F08484 | — |
| storage.modifier.mut.rust, storage.modifier.ref.rust | #FF407B | italic |
| keyword.other.fn.rust, keyword.other.crate.rust, keyword.other.rust, storage.type.rust, storage.type.function.rust, storage.type.impl.rust | #FF407B | italic |
| entity.name.type.primitive.rust, support.type.primitive.rust | #41BFFF | italic |
| entity.name.type.option.rust, entity.name.type.result.rust, support.type.core.rust | #41BFFF | — |
| string.quoted.double.rust, string.quoted.single.rust | #D7DAE0 | — |
| meta.attribute.rust, punctuation.definition.attribute.rust, punctuation.brackets.attribute.rust | #F08484 | italic |
| variable.language.self.rust, keyword.other.self.rust, variable.language.super.rust | #41BFFF | italic |
| support.class.component.js, support.class.component.jsx, support.class.component.ts, support.class.component.tsx, entity.name.tag.component.jsx, entity.name.tag.component.tsx | #41BFFF | — |
| entity.name.tag.js, entity.name.tag.jsx, entity.name.tag.ts, entity.name.tag.tsx | #41BFFF | — |
| punctuation.definition.tag.js, punctuation.definition.tag.jsx, punctuation.definition.tag.ts, punctuation.definition.tag.tsx, punctuation.definition.tag.begin, punctuation.definition.tag.end | #FFFFFF | — |
| entity.other.attribute-name.js, entity.other.attribute-name.jsx, entity.other.attribute-name.ts, entity.other.attribute-name.tsx | #F08484 | italic |
| punctuation.section.embedded.begin.js, punctuation.section.embedded.end.js, punctuation.section.embedded.begin.jsx, punctuation.section.embedded.end.jsx, punctuation.section.embedded.begin.tsx, punctuation.section.embedded.end.tsx, meta.embedded.expression punctuation.section | #FF407B | — |
| meta.jsx.children, meta.jsx.children.tsx | #D7DAE0 | — |
| punctuation.definition.tag.jsx, punctuation.definition.tag.tsx | #FFFFFF | — |
| support.function.dom.js, entity.name.function.ts, entity.name.function.tsx | #f8e8a8 | — |
| variable.other.property.ts, variable.other.property.tsx, variable.other.object.property.ts, variable.other.object.property.tsx | #FF407B | — |
| meta.object-literal.key.ts, meta.object-literal.key.tsx | #F08484 | — |
| variable.language.this, variable.language.super | #41BFFF | italic |
| variable.other.constant, variable.other.constant.property | #F08484 | — |
| storage.type.function.arrow, keyword.operator.arrow | #FF407B | — |
| keyword.operator.optional, keyword.operator.nullish-coalescing, keyword.operator.ternary | #FF407B | — |
| keyword.operator.spread | #FF407B | — |
| keyword.operator.type.annotation | #FF407B | — |
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}!`;
}