Aether Themes
Publisher: Diogo PereiraThemes in package: 6
A premium collection of modern themes for VS Code. Designed for focus, perfect readability, and refined syntax highlighting.
A premium collection of modern themes for VS Code. Designed for focus, perfect readability, and refined syntax highlighting.
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 |
|---|---|---|
| keyword, storage.type, storage.modifier, variable.language | #d4914a | — |
| meta.decorator, punctuation.decorator, entity.name.function.decorator, meta.decorator variable.other.readwrite, meta.decorator entity.name.function | #90b870 | — |
| keyword.control | #d4914a | italic |
| keyword.operator, punctuation.separator, punctuation.terminator, punctuation.definition.tag | #9a8a72 | — |
| entity.name.function, support.function, meta.function-call.generic | #90b870 | — |
| variable, support.variable, meta.object-literal.key, entity.name.variable | #e8c898 | — |
| entity.name.type, entity.name.class, support.class, storage.type.cs | #8ab8d0 | — |
| entity.name.type.interface, support.type, entity.name.type.ts | #70a8a0 | — |
| string, constant.character.escape | #c8b040 | — |
| constant.numeric | #c090b8 | — |
| constant.language, constant.other | #7aa8c0 | — |
| comment | #5a4830 | — |
| comment.line, punctuation.definition.comment, string.quoted.docstring | — | italic |
| keyword.control.import, keyword.control.export, keyword.control.from, meta.import string | #d4914a | — |
| variable.language.this, variable.language.super | #7aa8c0 | italic |
| support.type.object.console, support.type.object.dom | #8ab8d0 | — |
| support.class.component, entity.name.tag.tsx, entity.name.tag.js.jsx | #8ab8d0 | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #e8c898 | italic |
| punctuation.definition.template-expression | #9a8a72 | — |
| entity.name.tag | #d4914a | — |
| entity.other.attribute-name.html | #e8c898 | italic |
| punctuation.definition.tag | #9a8a72 | — |
| entity.other.attribute-name.class.css | #8ab8d0 | — |
| entity.other.attribute-name.id.css | #90b870 | — |
| entity.name.tag.css | #d4914a | — |
| support.type.property-name.css, support.type.vendored.property-name | #e8c898 | — |
| support.constant.property-value, keyword.other.unit, constant.numeric.css | #c090b8 | — |
| entity.other.attribute-name.class | #90b870 | — |
| entity.name.type.namespace.cs | #70a8a0 | — |
| entity.name.type.class.cs, entity.name.type.interface.cs | #8ab8d0 | — |
| entity.name.function.cs | #90b870 | — |
| entity.name.variable.local.cs, entity.name.variable.field.cs | #e8c898 | — |
| keyword.other.using.cs | #d4914a | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #7aa8c0 | italic |
| meta.function.decorator.python, entity.name.function.decorator | #90b870 | — |
| storage.type.annotation, meta.attribute.php | #9a8a72 | — |
| storage.modifier.import, storage.modifier.package, keyword.control.import | #d4914a | — |
| support.class.php, constant.other.php | #8ab8d0 | — |
| variable.other.php | #e8c898 | — |
| support.function.go | #90b870 | — |
| entity.name.lifetime.rust, storage.modifier.lifetime.rust | #9a8a72 | italic |
| support.function.macro.rust | #90b870 | — |
| markup.heading, entity.name.section.markdown, markup.heading.setext | #8ab8d0 | bold |
| markup.bold | #d4914a | bold |
| markup.italic | #e8c898 | italic |
| string.other.link.title.markdown | #90b870 | — |
| markup.underline.link | #c8b040 | — |
| markup.inline.raw | #e8c898 | italic |
| markup.raw.block | #e8c898 | — |
| markup.quote | #5a4830 | italic |
| punctuation.definition.list.begin.markdown | #9a8a72 | — |
| support.type.property-name.json, entity.name.tag.yaml, variable.other.key.toml | #e8c898 | — |
| constant.language.json, string.unquoted.plain.out.yaml | #c8b040 | — |
| keyword.other.DML.sql, keyword.other.DDL.sql | #d4914a | — |
| support.function.sql | #90b870 | — |
| markup.inserted.diff | #90b870 | — |
| markup.deleted.diff | #e07878 | — |
| markup.changed.diff | #c8b040 | — |
| variable.other.normal.shell, variable.other.positional.shell, source.env variable | #e8c898 | — |
| support.function.builtin.shell, entity.name.command.shell | #90b870 | — |
| keyword.other.special-method.dockerfile | #d4914a | — |
| entity.name.type.class.ruby, entity.name.type.module.ruby, entity.name.class.ruby | #8ab8d0 | — |
| entity.name.function.ruby, support.function.ruby | #90b870 | — |
| constant.other.symbol.ruby, constant.other.symbol.hashkey.ruby | #7aa8c0 | — |
| variable.other.readwrite.instance.ruby, variable.other.readwrite.class.ruby | #e8c898 | — |
| keyword.control.ruby, keyword.other.special-method.ruby | #d4914a | — |
| string.regexp.ruby | #c8b040 | — |
| entity.name.type.class.kotlin, entity.name.type.interface.kotlin, entity.name.type.object.kotlin | #8ab8d0 | — |
| entity.name.function.kotlin, support.function.kotlin | #90b870 | — |
| keyword.control.kotlin, storage.type.kotlin, storage.modifier.kotlin | #d4914a | — |
| entity.name.type.swift, support.type.swift, entity.name.type.class.swift | #8ab8d0 | — |
| entity.name.function.swift, support.function.swift | #90b870 | — |
| keyword.control.swift, storage.type.swift, storage.modifier.swift | #d4914a | — |
| support.class.dart, entity.name.type.class.dart | #8ab8d0 | — |
| entity.name.function.dart, support.function.dart | #90b870 | — |
| keyword.control.dart, storage.type.dart, storage.modifier.dart | #d4914a | — |
| entity.name.class.scala, entity.name.type.class.scala | #8ab8d0 | — |
| entity.name.function.scala | #90b870 | — |
| keyword.control.scala, storage.type.scala | #d4914a | — |
| entity.name.function.lua, support.function.lua | #90b870 | — |
| keyword.control.lua | #d4914a | — |
| entity.name.function.r, support.function.r | #90b870 | — |
| keyword.control.r | #d4914a | — |
| constant.language.r | #7aa8c0 | — |
| entity.name.type.class.elixir, entity.name.type.module.elixir | #8ab8d0 | — |
| entity.name.function.elixir, entity.name.function.macro.elixir | #90b870 | — |
| keyword.control.elixir | #d4914a | — |
| variable.other.constant.elixir, constant.other.symbol.elixir | #7aa8c0 | — |
| entity.name.type.haskell, storage.type.haskell, entity.name.namespace.haskell | #70a8a0 | — |
| entity.name.function.haskell | #90b870 | — |
| keyword.other.haskell | #d4914a | — |
| entity.name.tag.xml, entity.name.tag.localname.xml | #d4914a | — |
| entity.name.tag.namespace.xml, entity.other.attribute-name.namespace.xml | #70a8a0 | — |
| entity.other.attribute-name.xml, entity.other.attribute-name.localname.xml | #e8c898 | italic |
| support.type.graphql, entity.name.type.graphql | #8ab8d0 | — |
| keyword.operation.graphql, keyword.type.graphql, storage.type.graphql | #d4914a | — |
| variable.graphql, variable.other.property.graphql | #e8c898 | — |
| entity.name.fragment.graphql | #90b870 | — |
| entity.name.tag.svelte | #8ab8d0 | — |
| support.type.svelte, entity.other.attribute-name.svelte, punctuation.definition.keyword.svelte | #d4914a | italic |
| entity.other.attribute-name.directive.vue, entity.other.attribute-name.html.vue | #d4914a | italic |
| entity.name.tag.template.vue | #8ab8d0 | — |
| string.regexp | #c8b040 | — |
| constant.other.symbol | #7aa8c0 | — |
| entity.name.type.module, entity.name.namespace, storage.modifier.module | #70a8a0 | — |
| punctuation.definition.typeparameters.begin, punctuation.definition.typeparameters.end | #70a8a0 | — |
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}!`;
}