Oak
Publisher: RekihytThemes in package: 4
A set of themes based on trees.
A set of themes based on trees.
Full workbench mockup using this variant's colors and tokenColors.
Workbench UI color keys from the theme JSON colors map.
TextMate scopes and font styles (syntax highlighting rules).
| scope | foreground | fontStyle |
|---|---|---|
| keyword.operator.arithmetic.zig, keyword.control.ternary, keyword.declaration.volatile.scala, keyword.operator.address, keyword.operator.arrow, keyword.operator.assignment, keyword.operator.big-arrow, keyword.operator.borrow.and.rust, keyword.operator.c, keyword.operator.cpp, keyword.operator.dereference.rust, keyword.operator.infix.tight, keyword.operator.nim, keyword.operator.other.elixir, keyword.operator.question, keyword.operator.range, keyword.operator.relational.cs, keyword.operator.ternary, keyword.other.arrow, keyword.other.big-arrow, meta.expression.receive, punctuation.backtick.haskell, punctuation.definition.function.pointer, punctuation.definition.lifetime.rust, punctuation.definition.variable.shell, punctuation.separator.clause-head-body, punctuation.separator.pointer-access, punctuation.separator.slice, punctuation.vararg-ellipses, storage.modifier.pointer, storage.type.function.arrow | #c26f9b | |
| keyword.operator.arithmetic.zig, keyword.control.ternary, keyword.declaration.volatile.scala, keyword.operator.address, keyword.operator.arrow, keyword.operator.assignment, keyword.operator.big-arrow, keyword.operator.borrow.and.rust, keyword.operator.c, keyword.operator.cpp, keyword.operator.dereference.rust, keyword.operator.infix.tight, keyword.operator.nim, keyword.operator.other.elixir, keyword.operator.question, keyword.operator.range, keyword.operator.relational.cs, keyword.operator.ternary, keyword.other.arrow, keyword.other.big-arrow, meta.expression.receive, punctuation.backtick.haskell, punctuation.definition.function.pointer, punctuation.definition.lifetime.rust, punctuation.definition.variable.shell, punctuation.separator.clause-head-body, punctuation.separator.pointer-access, punctuation.separator.slice, punctuation.vararg-ellipses, storage.modifier.pointer, storage.type.function.arrow | #c26f9b | |
| constant.character, constant.numeric, keyword.constant.bool, keyword.constant.default, constant.other.color.rgb-value.hex.css, entity.name.section.markdown, markup.inline.raw.string.markdown, meta.embedded.block.whamlet, punctuation.definition.char, punctuation.definition.string, storage.modifier.lifetime, string, support.constant.font-name.css, support.function.variable.quoted.single.elixir, text.html.derivative | #ffe1a2 | |
| constant.language | #ffe1a2 | |
| entity.name.tag, keyword, meta.declaration.adt.idris, meta.property-name.css, meta.scope.recipe.makefile, punctuation.bracket.haskell, punctuation.bracket.idris, punctuation.definition.decorator, punctuation.definition.entity.purescript, punctuation.definition.list.elm, punctuation.delimiter.idris, punctuation.separator.annotation, punctuation.separator.pipe.purescript, punctuation.support.type, storage.modifier, storage.type.class.purescript, storage.type.class.python, storage.type.data.purescript, storage.type.function, storage.type.js, storage.type.kotlin, storage.type.module.rust, storage.type.rust, storage.type.struct, storage.type.template, support.constant.attribute, support.constant.unit, support.function.arithmetic.mips, support.function.mips, support.function.registers.mips, support.type.property-name | #4e95e2 | — |
| keyword.operator.arithmetic.zig, keyword.control.ternary, keyword.declaration.volatile.scala, keyword.operator.address, keyword.operator.arrow, keyword.operator.assignment, keyword.operator.big-arrow, keyword.operator.borrow.and.rust, keyword.operator.c, keyword.operator.cpp, keyword.operator.dereference.rust, keyword.operator.infix.tight, keyword.operator.nim, keyword.operator.other.elixir, keyword.operator.question, keyword.operator.range, keyword.operator.relational.cs, keyword.operator.ternary, keyword.other.arrow, keyword.other.big-arrow, meta.expression.receive, punctuation.backtick.haskell, punctuation.definition.function.pointer, punctuation.definition.lifetime.rust, punctuation.definition.variable.shell, punctuation.separator.clause-head-body, punctuation.separator.pointer-access, punctuation.separator.slice, punctuation.vararg-ellipses, storage.modifier.pointer, storage.type.function.arrow | #4e95e2 | |
| class, constant.other, constant.type-constructor.elm, constant.unit.elm, entity.name.tag.purescript, entity.name.type, entity.name.class, entity.other.inherited-class, keyword.type, meta.function.definition.parameters.c, meta.function.python, meta.return-type, meta.tag.table.toml, preprocessor, storage.class.std.rust, storage.modifier.import, storage.type, support.class, support.constant.core.rust, support.type, variable.language.elixir, constant.language.symbol.elixir, variable.type.elm | #28D69C | |
| entity.name.variable, meta.quasi-quotation.haskell, meta.template.expression.nim, source.groovy.embedded, source.makefile, source.python, support.constant.nim, support.variable.js, variable | #a58152 | |
| constant.character.format.placeholder.other, constant.language.import-export-all, constant.other.placeholder, constant.other, entity.other.attribute-name.class.css, entity.other.attribute-name, keyword.operator.prefix.hash.haskell, meta.attribute.href.hamlet, meta.block, meta.bracket.square.access, punctuation.definition.interpolation, punctuation.definition.placeholder, punctuation.definition.template-expression, source, variable.constant, variable.other.constant, variable.other.enummember, variable.other.object.property, variable.other.property, comment.wildcard.elixir | #ad9e8b | |
| constant.character.format, entity.name.operator.cpp, entity.other.attribute-name.pseudo-element.css, keyword.operator.access.dot, keyword.operator.declaration, keyword.operator.key-value, keyword.other.double-colon.haskell, meta.brace.round.js, meta.brace, meta.bracket, meta.declaration.adt.haskell, meta.declaration.adt.idris, meta.declaration.exports.purescript, meta.embedded.block, meta.import.purescript, meta.import.selector, punctuation, rainbow1, source.zig, storage.modifier.array, support.variable.magic.python, text.html.markdown | #e8e8e8 | |
| constant.character.escape, keyword.other.unit.hexadecimal, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, string.quoted.byte.raw | #C0C0C0 | |
| keyword.operator.arithmetic.zig, keyword.control.ternary, keyword.declaration.volatile.scala, keyword.operator.address, keyword.operator.arrow, keyword.operator.assignment, keyword.operator.big-arrow, keyword.operator.borrow.and.rust, keyword.operator.c, keyword.operator.cpp, keyword.operator.dereference.rust, keyword.operator.infix.tight, keyword.operator.nim, keyword.operator.other.elixir, keyword.operator.question, keyword.operator.range, keyword.operator.relational.cs, keyword.operator.ternary, keyword.other.arrow, keyword.other.big-arrow, meta.expression.receive, punctuation.backtick.haskell, punctuation.definition.function.pointer, punctuation.definition.lifetime.rust, punctuation.definition.variable.shell, punctuation.separator.clause-head-body, punctuation.separator.pointer-access, punctuation.separator.slice, punctuation.vararg-ellipses, storage.modifier.pointer, storage.type.function.arrow | #c26f9b | |
| constant.character, constant.numeric, keyword.constant.bool, keyword.constant.default, constant.other.color.rgb-value.hex.css, entity.name.section.markdown, markup.inline.raw.string.markdown, meta.embedded.block.whamlet, punctuation.definition.char, punctuation.definition.string, storage.modifier.lifetime, string, support.constant.font-name.css, support.function.variable.quoted.single.elixir, text.html.derivative | #ffe1a2 | |
| constant.language | #ffe1a2 | |
| entity.name.tag, keyword, meta.declaration.adt.idris, meta.property-name.css, meta.scope.recipe.makefile, punctuation.bracket.haskell, punctuation.bracket.idris, punctuation.definition.decorator, punctuation.definition.entity.purescript, punctuation.definition.list.elm, punctuation.delimiter.idris, punctuation.separator.annotation, punctuation.separator.pipe.purescript, punctuation.support.type, storage.modifier, storage.type.class.purescript, storage.type.class.python, storage.type.data.purescript, storage.type.function, storage.type.js, storage.type.kotlin, storage.type.module.rust, storage.type.rust, storage.type.struct, storage.type.template, support.constant.attribute, support.constant.unit, support.function.arithmetic.mips, support.function.mips, support.function.registers.mips, support.type.property-name | #4e95e2 | — |
| keyword.operator.arithmetic.zig, keyword.control.ternary, keyword.declaration.volatile.scala, keyword.operator.address, keyword.operator.arrow, keyword.operator.assignment, keyword.operator.big-arrow, keyword.operator.borrow.and.rust, keyword.operator.c, keyword.operator.cpp, keyword.operator.dereference.rust, keyword.operator.infix.tight, keyword.operator.nim, keyword.operator.other.elixir, keyword.operator.question, keyword.operator.range, keyword.operator.relational.cs, keyword.operator.ternary, keyword.other.arrow, keyword.other.big-arrow, meta.expression.receive, punctuation.backtick.haskell, punctuation.definition.function.pointer, punctuation.definition.lifetime.rust, punctuation.definition.variable.shell, punctuation.separator.clause-head-body, punctuation.separator.pointer-access, punctuation.separator.slice, punctuation.vararg-ellipses, storage.modifier.pointer, storage.type.function.arrow | #4e95e2 | |
| class, constant.other, constant.type-constructor.elm, constant.unit.elm, entity.name.tag.purescript, entity.name.type, entity.name.class, entity.other.inherited-class, keyword.type, meta.function.definition.parameters.c, meta.function.python, meta.return-type, meta.tag.table.toml, preprocessor, storage.class.std.rust, storage.modifier.import, storage.type, support.class, support.constant.core.rust, support.type, variable.language.elixir, constant.language.symbol.elixir, variable.type.elm | #28D69C | |
| entity.name.variable, meta.quasi-quotation.haskell, meta.template.expression.nim, source.groovy.embedded, source.makefile, source.python, support.constant.nim, support.variable.js, variable | #a58152 | |
| constant.character.format.placeholder.other, constant.language.import-export-all, constant.other.placeholder, constant.other, entity.other.attribute-name.class.css, entity.other.attribute-name, keyword.operator.prefix.hash.haskell, meta.attribute.href.hamlet, meta.block, meta.bracket.square.access, punctuation.definition.interpolation, punctuation.definition.placeholder, punctuation.definition.template-expression, source, variable.constant, variable.other.constant, variable.other.enummember, variable.other.object.property, variable.other.property, comment.wildcard.elixir | #ad9e8b | |
| constant.character.format, entity.name.operator.cpp, entity.other.attribute-name.pseudo-element.css, keyword.operator.access.dot, keyword.operator.declaration, keyword.operator.key-value, keyword.other.double-colon.haskell, meta.brace.round.js, meta.brace, meta.bracket, meta.declaration.adt.haskell, meta.declaration.adt.idris, meta.declaration.exports.purescript, meta.embedded.block, meta.import.purescript, meta.import.selector, punctuation, rainbow1, source.zig, storage.modifier.array, support.variable.magic.python, text.html.markdown | #e8e8e8 | |
| constant.character.escape, keyword.other.unit.hexadecimal, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, string.quoted.byte.raw | #C0C0C0 | |
| comment, punctuation.definition.comment | #579c89 | italic |
| comment.block, comment.block.documentation, comment.documentation, comment.line.documentation, comment.line.double-dash.documentation, comment.line.number-sign.doc-comment, comment.rainbow4, string.quoted.docstring | #579c89 | |
| constant.character, constant.numeric, keyword.constant.bool, keyword.constant.default, constant.other.color.rgb-value.hex.css, entity.name.section.markdown, markup.inline.raw.string.markdown, meta.embedded.block.whamlet, punctuation.definition.char, punctuation.definition.string, storage.modifier.lifetime, string, support.constant.font-name.css, support.function.variable.quoted.single.elixir, text.html.derivative | #cfa957 | |
| constant.language | #cfa957 | |
| invalid.illegal | #db7f87 | — |
| entity.name.tag, keyword, meta.declaration.adt.idris, meta.property-name.css, meta.scope.recipe.makefile, punctuation.bracket.haskell, punctuation.bracket.idris, punctuation.definition.decorator, punctuation.definition.entity.purescript, punctuation.definition.list.elm, punctuation.delimiter.idris, punctuation.separator.annotation, punctuation.separator.pipe.purescript, punctuation.support.type, storage.modifier, storage.type.class.purescript, storage.type.class.python, storage.type.data.purescript, storage.type.function, storage.type.js, storage.type.kotlin, storage.type.module.rust, storage.type.rust, storage.type.struct, storage.type.template, support.constant.attribute, support.constant.unit, support.function.arithmetic.mips, support.function.mips, support.function.registers.mips, support.type.property-name | #5086ce | — |
| keyword.operator.arithmetic.zig, keyword.control.ternary, keyword.declaration.volatile.scala, keyword.operator.address, keyword.operator.arrow, keyword.operator.assignment, keyword.operator.big-arrow, keyword.operator.borrow.and.rust, keyword.operator.c, keyword.operator.cpp, keyword.operator.dereference.rust, keyword.operator.infix.tight, keyword.operator.nim, keyword.operator.other.elixir, keyword.operator.question, keyword.operator.range, keyword.operator.relational.cs, keyword.operator.ternary, keyword.other.arrow, keyword.other.big-arrow, meta.expression.receive, punctuation.backtick.haskell, punctuation.definition.function.pointer, punctuation.definition.lifetime.rust, punctuation.definition.variable.shell, punctuation.separator.clause-head-body, punctuation.separator.pointer-access, punctuation.separator.slice, punctuation.vararg-ellipses, storage.modifier.pointer, storage.type.function.arrow | #5086ce | |
| class, constant.other, constant.type-constructor.elm, constant.unit.elm, entity.name.tag.purescript, entity.name.type, entity.name.class, entity.other.inherited-class, keyword.type, meta.function.definition.parameters.c, meta.function.python, meta.return-type, meta.tag.table.toml, preprocessor, storage.class.std.rust, storage.modifier.import, storage.type, support.class, support.constant.core.rust, support.type, variable.language.elixir, constant.language.symbol.elixir, variable.type.elm | #09c284 | — |
| constant.other.haskell, entity.name.function-call.elixir, entity.name.function.bat, entity.name.function.c, entity.name.function.call, entity.name.function.clojure, entity.name.function.coffeescript, entity.name.function.cpp, entity.name.function.cs, entity.name.function.definition.cpp, entity.name.function.definition.erlang, entity.name.function.elixir, entity.name.function.erlang, entity.name.function.fsharp, entity.name.function.go, entity.name.function.haskell, entity.name.function.idris, entity.name.function.java, entity.name.function.js, entity.name.function.ts, entity.name.function.kotlin, entity.name.function.label.mips, entity.name.function.lua, entity.name.function.macro.rust, entity.name.function.makefile, entity.name.function.mips, entity.name.function.nim, entity.name.function.perl, entity.name.function.perl6, entity.name.function.php, entity.name.function.powershell, entity.name.function.purescript, entity.name.function.python, entity.name.function.razor, entity.name.function.ruby, entity.name.function.rust, entity.name.function.scala, entity.name.function.sql, entity.name.function.typescript, entity.name.function.vb, entity.name.function.zig, entity.name.function.infix, entity.name.function.declaration, entity.name.quasi-quoter, entity.name.variable.property, keyword.operator.comparison, keyword.operator.function.infix, keyword.operator.haskell, keyword.operator.infix, keyword.operator.logical, keyword.operator.prefix.minus.haskell, keyword.operator.prefix.minus.idris, keyword.operator.relational, keyword.operator.math, keyword.operator.arithmetic, meta.function-call.generic, meta.function-call.erlang, meta.function.type-declaration, support.constant.property-value.css, support.function, punctuation.definition.map, support.variable | #30B040 | |
| entity.name.variable, meta.quasi-quotation.haskell, meta.template.expression.nim, source.groovy.embedded, source.makefile, source.python, support.constant.nim, support.variable.js, variable | #9e6f32 | |
| constant.character.format.placeholder.other, constant.language.import-export-all, constant.other.placeholder, constant.other, entity.other.attribute-name.class.css, entity.other.attribute-name, keyword.operator.prefix.hash.haskell, meta.attribute.href.hamlet, meta.block, meta.bracket.square.access, punctuation.definition.interpolation, punctuation.definition.placeholder, punctuation.definition.template-expression, source, variable.constant, variable.other.constant, variable.other.enummember, variable.other.object.property, variable.other.property, comment.wildcard.elixir | #978266 | |
| entity.name.variable.parameter, parameter.variable, punctuation.separator.module-function, variable.language.scala, variable.language.self, variable.language.this, variable.parameter | #49b4be | |
| constant.character.format, entity.name.operator.cpp, entity.other.attribute-name.pseudo-element.css, keyword.operator.access.dot, keyword.operator.declaration, keyword.operator.key-value, keyword.other.double-colon.haskell, meta.brace.round.js, meta.brace, meta.bracket, meta.declaration.adt.haskell, meta.declaration.adt.idris, meta.declaration.exports.purescript, meta.embedded.block, meta.import.purescript, meta.import.selector, punctuation, rainbow1, source.zig, storage.modifier.array, support.variable.magic.python, text.html.markdown | #808080 | |
| keyword.operator.double-colon, keyword.operator.list.shell, keyword.operator.namespace, keyword.operator.return-type.rust, keyword.other.double-colon.purescript, meta.declaration.typeclass.purescript, meta.function.type-declaration.purescript, meta.record-field.type-declaration.purescript, punctuation.brace.haskell, punctuation.brace.idris, punctuation.elm, punctuation.other.rust, punctuation.other.period.go, punctuation.paren.haskell, punctuation.paren.idris, punctuation.parens.elm, punctuation.parens.module-export.elm, punctuation.section.brackets.dhall, punctuation.separator.comma.purescript, punctuation.separator.key-value.hamlet, punctuation.separator.pipe.purescript | #49b4be | |
| constant.character.format, constant.language.import-export-all, entity.name.import, entity.name.module, entity.name.namespace, entity.name.package, entity.name.type.class.module.definition.erlang, entity.name.type.class.module, entity.name.type.module, entity.name.type.namespace, keyword.control.directive, meta.attribute.rust, meta.directive.module.erlang, meta.foreign.data, meta.import, meta.kind-signature, meta.preprocessor.include.c, meta.preprocessor.pragma.nim, meta.scope.target.makefile, meta.use, punctuation.definition.heading, storage.modifier.import.java, storage.type.annotation, storage.type.class.racket, string.other.option.fish, support.function.builtin.zig, support.module.elm, support.other.module.purescript, support.type.object.module.js, variable.other.dot, variable.other.readwrite.module.elixir | #9779df | |
| constant.character.escape, keyword.other.unit.hexadecimal, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, string.quoted.byte.raw | #A0A0A0 |
TypeScript sample highlighted with this variant's colors and tokenColors.
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}!`;
}