Cherry Blossom Theme
A VSCode theme inspired by a color palette of a sakura / cherry blossom.
A VSCode theme inspired by a color palette of a sakura / cherry blossom.
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, punctuation.definition.comment | #5D6A85 | — |
| variable, string constant.other.placeholder | #F8FAFF | — |
| constant.other.color | #E6B575 | — |
| invalid, invalid.illegal | #E06796 | — |
| keyword, storage.type, storage.modifier | #C0579D | — |
| keyword.operator | #78A8DB | — |
| string, constant.other.symbol | #7FCEA8 | — |
| constant.numeric | #E6B575 | — |
| constant.language, support.constant, constant.character, constant.escape | #E06796 | — |
| entity.name.function, meta.function-call, support.function | #78A8DB | — |
| entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution | #D07EB3 | — |
| meta.method.declaration, meta.method-call, meta.method | #78A8DB | — |
| variable.other.property, support.variable.property | #6CBFD2 | — |
| meta.object-literal.key | #6CBFD2 | — |
| entity.name.tag, meta.tag.sgml | #C0579D | — |
| entity.other.attribute-name | #78A8DB | — |
| markup.heading | #C0579D | — |
| markup.bold | #78A8DB | bold |
| markup.italic | #7FCEA8 | italic |
| punctuation.definition, punctuation.separator, punctuation.terminator | #8CA2BC | — |
| punctuation.definition.block, punctuation.definition.parameters, punctuation.section | #A6B6CC | — |
| entity.name.type.interface, entity.name.type.struct | #D07EB3 | — |
| meta.decorator, tag.decorator.js entity.name.tag, tag.decorator.js punctuation.definition.tag | #78A8DB | — |
| template.expression.begin, template.expression.end | #E06796 | — |
| support.type.property-name.css | #6CBFD2 | — |
| support.constant.property-value.css | #7FCEA8 | — |
| entity.other.attribute-name.html | #7FCEA8 | — |
| support.type.property-name.json | #6CBFD2 | — |
| string.quoted.double.json | #7FCEA8 | — |
| meta.tag.jsx, meta.tag.tsx | #F8FAFF | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #7FCEA8 | — |
| meta.object-literal.key, variable.object.property | #6CBFD2 | — |
| meta.function.decorator.python, meta.function.decorator.identifier.python | #E06796 | — |
| variable.parameter.function.python | #E6B575 | — |
| meta.fstring.python, constant.character.format.placeholder.other.python | #E6B575 | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #C0579D | — |
| constant.language.symbol.ruby | #E6B575 | — |
| variable.other.readwrite.instance.ruby | #E06796 | — |
| variable.other.readwrite.class.ruby | #C0579D | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #78A8DB | — |
| beginning.punctuation.definition.list.markdown | #E06796 | — |
| markup.fenced_code.block.markdown, markup.inline.raw.string.markdown | #7FCEA8 | — |
| markup.quote.markdown | #8CA2BC | italic |
| entity.name.function.go | #78A8DB | — |
| entity.name.type.go | #D07EB3 | — |
| entity.name.package.go | #7FCEA8 | — |
| meta.attribute.rust | #E06796 | — |
| entity.name.type.rust, storage.type.rust | #D07EB3 | — |
| entity.name.lifetime.rust, punctuation.definition.lifetime.rust | #E6B575 | — |
| meta.macro.rust | #E06796 | — |
| entity.name.tag.yaml | #6CBFD2 | — |
| punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml | #E06796 | — |
| entity.other.document.begin.yaml, entity.other.document.end.yaml | #C0579D | — |
| keyword.other.sql | #C0579D | — |
| support.function.sql | #78A8DB | — |
| meta.table.sql | #7FCEA8 | — |
| meta.decorator.ts, meta.decorator.tsx | #E06796 | — |
| meta.type.annotation.ts, meta.type.annotation.tsx | #D07EB3 | — |
| entity.name.type.interface.ts, entity.name.type.interface.tsx | #D07EB3 | — |
| meta.preprocessor.c, meta.preprocessor.cpp | #E06796 | — |
| string.quoted.other.lt-gt.include.c, string.quoted.other.lt-gt.include.cpp, string.quoted.double.include.c, string.quoted.double.include.cpp | #7FCEA8 | — |
| storage.type.annotation.java | #E06796 | — |
| storage.type.generic.java | #D07EB3 | — |
| storage.modifier.import.java, storage.modifier.package.java | #7FCEA8 | — |
| variable.other.php | #E06796 | — |
| entity.name.type.class.php | #D07EB3 | — |
| support.other.namespace.php | #7FCEA8 | — |
| variable.other.special.shell | #E06796 | — |
| support.function.builtin.shell | #78A8DB | — |
| variable.parameter.option.shell | #E6B575 | — |
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, punctuation.definition.comment | #765D6E | — |
| variable, string constant.other.placeholder | #E0D6E0 | — |
| constant.other.color | #EDBE80 | — |
| invalid, invalid.illegal | #DF88A7 | — |
| keyword, storage.type, storage.modifier | #C87D9D | — |
| keyword.operator | #8992D4 | — |
| string, constant.other.symbol | #84BD8B | — |
| constant.numeric | #EDBE80 | — |
| constant.language, support.constant, constant.character, constant.escape | #DF88A7 | — |
| entity.name.function, meta.function-call, support.function | #8992D4 | — |
| entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution | #D898B4 | — |
| meta.method.declaration, meta.method-call, meta.method | #8992D4 | — |
| variable.other.property, support.variable.property | #8CCBED | — |
| meta.object-literal.key | #8CCBED | — |
| entity.name.tag, meta.tag.sgml | #C87D9D | — |
| entity.other.attribute-name | #8992D4 | — |
| markup.heading | #C87D9D | — |
| markup.bold | #8992D4 | bold |
| markup.italic | #84BD8B | italic |
| punctuation.definition, punctuation.separator, punctuation.terminator | #94828A | — |
| punctuation.definition.block, punctuation.definition.parameters, punctuation.section | #A5ACE5 | — |
| entity.name.type.interface, entity.name.type.struct | #D898B4 | — |
| meta.decorator, tag.decorator.js entity.name.tag, tag.decorator.js punctuation.definition.tag | #8992D4 | — |
| template.expression.begin, template.expression.end | #DF88A7 | — |
| support.type.property-name.css | #8CCBED | — |
| support.constant.property-value.css | #84BD8B | — |
| entity.other.attribute-name.html | #EDBE80 | — |
| support.type.property-name.json | #8CCBED | — |
| string.quoted.double.json | #84BD8B | — |
| meta.tag.jsx, meta.tag.tsx | #E0D6E0 | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #EDBE80 | — |
| meta.object-literal.key, variable.object.property | #8CCBED | — |
| meta.function.decorator.python, meta.function.decorator.identifier.python | #DF88A7 | — |
| variable.parameter.function.python | #EDBE80 | — |
| meta.fstring.python, constant.character.format.placeholder.other.python | #EDBE80 | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #C87D9D | — |
| constant.language.symbol.ruby | #EDBE80 | — |
| variable.other.readwrite.instance.ruby | #DF88A7 | — |
| variable.other.readwrite.class.ruby | #C87D9D | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #8992D4 | — |
| beginning.punctuation.definition.list.markdown | #DF88A7 | — |
| markup.fenced_code.block.markdown, markup.inline.raw.string.markdown | #84BD8B | — |
| markup.quote.markdown | #94828A | italic |
| entity.name.function.go | #8992D4 | — |
| entity.name.type.go | #D898B4 | — |
| entity.name.package.go | #84BD8B | — |
| meta.attribute.rust | #DF88A7 | — |
| entity.name.type.rust, storage.type.rust | #D898B4 | — |
| entity.name.lifetime.rust, punctuation.definition.lifetime.rust | #EDBE80 | — |
| meta.macro.rust | #DF88A7 | — |
| entity.name.tag.yaml | #8CCBED | — |
| punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml | #DF88A7 | — |
| entity.other.document.begin.yaml, entity.other.document.end.yaml | #C87D9D | — |
| keyword.other.sql | #C87D9D | — |
| support.function.sql | #8992D4 | — |
| meta.table.sql | #84BD8B | — |
| meta.decorator.ts, meta.decorator.tsx | #DF88A7 | — |
| meta.type.annotation.ts, meta.type.annotation.tsx | #D898B4 | — |
| entity.name.type.interface.ts, entity.name.type.interface.tsx | #D898B4 | — |
| meta.preprocessor.c, meta.preprocessor.cpp | #DF88A7 | — |
| string.quoted.other.lt-gt.include.c, string.quoted.other.lt-gt.include.cpp, string.quoted.double.include.c, string.quoted.double.include.cpp | #84BD8B | — |
| storage.type.annotation.java | #DF88A7 | — |
| storage.type.generic.java | #D898B4 | — |
| storage.modifier.import.java, storage.modifier.package.java | #84BD8B | — |
| variable.other.php | #DF88A7 | — |
| entity.name.type.class.php | #D898B4 | — |
| support.other.namespace.php | #84BD8B | — |
| variable.other.special.shell | #DF88A7 | — |
| support.function.builtin.shell | #8992D4 | — |
| variable.parameter.option.shell | #EDBE80 | — |
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, punctuation.definition.comment | #6c757d | — |
| variable, string constant.other.placeholder | #ced4da | — |
| constant.other.color | #e0c068 | — |
| invalid, invalid.illegal | #d98c71 | — |
| keyword, storage.type, storage.modifier | #d98c71 | — |
| keyword.operator | #7da3c4 | — |
| string, constant.other.symbol | #8abf94 | — |
| constant.numeric | #e0c068 | — |
| constant.language, support.constant, constant.character, constant.escape | #d98c71 | — |
| entity.name.function, meta.function-call, support.function | #7da3c4 | — |
| entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution | #e0c068 | — |
| meta.method.declaration, meta.method-call, meta.method | #7da3c4 | — |
| variable.other.property, support.variable.property | #7da3c4 | — |
| meta.object-literal.key | #7da3c4 | — |
| entity.name.tag, meta.tag.sgml | #d98c71 | — |
| entity.other.attribute-name | #7da3c4 | — |
| markup.heading | #d98c71 | — |
| markup.bold | #7da3c4 | bold |
| markup.italic | #8abf94 | italic |
| punctuation.definition, punctuation.separator, punctuation.terminator | #6c757d | — |
| punctuation.definition.block, punctuation.definition.parameters, punctuation.section | #9ec3e0 | — |
| entity.name.type.interface, entity.name.type.struct | #e0c068 | — |
| meta.decorator, tag.decorator.js entity.name.tag, tag.decorator.js punctuation.definition.tag | #7da3c4 | — |
| template.expression.begin, template.expression.end | #d98c71 | — |
| support.type.property-name.css | #7da3c4 | — |
| support.constant.property-value.css | #8abf94 | — |
| entity.other.attribute-name.html | #8abf94 | — |
| support.type.property-name.json | #7da3c4 | — |
| string.quoted.double.json | #8abf94 | — |
| meta.tag.jsx, meta.tag.tsx | #adb5bd | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #8abf94 | — |
| meta.object-literal.key, variable.object.property | #7da3c4 | — |
| meta.function.decorator.python, meta.function.decorator.identifier.python | #d98c71 | — |
| variable.parameter.function.python | #e0c068 | — |
| meta.fstring.python, constant.character.format.placeholder.other.python | #e0c068 | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #ceb195 | — |
| constant.language.symbol.ruby | #e0c068 | — |
| variable.other.readwrite.instance.ruby | #d98c71 | — |
| variable.other.readwrite.class.ruby | #ceb195 | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #7da3c4 | — |
| beginning.punctuation.definition.list.markdown | #d98c71 | — |
| markup.fenced_code.block.markdown, markup.inline.raw.string.markdown | #8abf94 | — |
| markup.quote.markdown | #6c757d | italic |
| entity.name.function.go | #7da3c4 | — |
| entity.name.type.go | #ceb195 | — |
| entity.name.package.go | #8abf94 | — |
| meta.attribute.rust | #d98c71 | — |
| entity.name.type.rust, storage.type.rust | #ceb195 | — |
| entity.name.lifetime.rust, punctuation.definition.lifetime.rust | #e0c068 | — |
| meta.macro.rust | #d98c71 | — |
| entity.name.tag.yaml | #7da3c4 | — |
| punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml | #d98c71 | — |
| entity.other.document.begin.yaml, entity.other.document.end.yaml | #ceb195 | — |
| keyword.other.sql | #ceb195 | — |
| support.function.sql | #7da3c4 | — |
| meta.table.sql | #8abf94 | — |
| meta.decorator.ts, meta.decorator.tsx | #d98c71 | — |
| meta.type.annotation.ts, meta.type.annotation.tsx | #ceb195 | — |
| entity.name.type.interface.ts, entity.name.type.interface.tsx | #ceb195 | — |
| meta.preprocessor.c, meta.preprocessor.cpp | #d98c71 | — |
| string.quoted.other.lt-gt.include.c, string.quoted.other.lt-gt.include.cpp, string.quoted.double.include.c, string.quoted.double.include.cpp | #8abf94 | — |
| storage.type.annotation.java | #d98c71 | — |
| storage.type.generic.java | #ceb195 | — |
| storage.modifier.import.java, storage.modifier.package.java | #8abf94 | — |
| variable.other.php | #d98c71 | — |
| entity.name.type.class.php | #ceb195 | — |
| support.other.namespace.php | #8abf94 | — |
| variable.other.special.shell | #d98c71 | — |
| support.function.builtin.shell | #7da3c4 | — |
| variable.parameter.option.shell | #e0c068 | — |
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, punctuation.definition.comment | #9e948a | — |
| variable, string constant.other.placeholder | #5c5248 | — |
| constant.other.color | #d68c45 | — |
| invalid, invalid.illegal | #c75b45 | — |
| keyword, storage.type, storage.modifier | #c75b45 | — |
| keyword.operator | #4f7e91 | — |
| string, constant.other.symbol | #7a8c51 | — |
| constant.numeric | #d68c45 | — |
| constant.language, support.constant, constant.character, constant.escape | #c75b45 | — |
| entity.name.function, meta.function-call, support.function | #4f7e91 | — |
| entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution | #d68c45 | — |
| meta.method.declaration, meta.method-call, meta.method | #4f7e91 | — |
| variable.other.property, support.variable.property | #4f7e91 | — |
| meta.object-literal.key | #4f7e91 | — |
| entity.name.tag, meta.tag.sgml | #c75b45 | — |
| entity.other.attribute-name | #4f7e91 | — |
| markup.heading | #c75b45 | — |
| markup.bold | #4f7e91 | bold |
| markup.italic | #7a8c51 | italic |
| punctuation.definition, punctuation.separator, punctuation.terminator | #9e948a | — |
| punctuation.definition.block, punctuation.definition.parameters, punctuation.section | #5c9199 | — |
| entity.name.type.interface, entity.name.type.struct | #d68c45 | — |
| meta.decorator, tag.decorator.js entity.name.tag, tag.decorator.js punctuation.definition.tag | #4f7e91 | — |
| template.expression.begin, template.expression.end | #c75b45 | — |
| support.type.property-name.css | #4f7e91 | — |
| support.constant.property-value.css | #7a8c51 | — |
| entity.other.attribute-name.html | #7a8c51 | — |
| support.type.property-name.json | #4f7e91 | — |
| string.quoted.double.json | #7a8c51 | — |
| meta.tag.jsx, meta.tag.tsx | #6b6158 | — |
| entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #7a8c51 | — |
| meta.object-literal.key, variable.object.property | #4f7e91 | — |
| meta.function.decorator.python, meta.function.decorator.identifier.python | #c75b45 | — |
| variable.parameter.function.python | #d68c45 | — |
| meta.fstring.python, constant.character.format.placeholder.other.python | #d68c45 | — |
| variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python | #a66887 | — |
| constant.language.symbol.ruby | #d68c45 | — |
| variable.other.readwrite.instance.ruby | #c75b45 | — |
| variable.other.readwrite.class.ruby | #a66887 | — |
| markup.underline.link.markdown, markup.underline.link.image.markdown | #4f7e91 | — |
| beginning.punctuation.definition.list.markdown | #c75b45 | — |
| markup.fenced_code.block.markdown, markup.inline.raw.string.markdown | #7a8c51 | — |
| markup.quote.markdown | #9e948a | italic |
| entity.name.function.go | #4f7e91 | — |
| entity.name.type.go | #a66887 | — |
| entity.name.package.go | #7a8c51 | — |
| meta.attribute.rust | #c75b45 | — |
| entity.name.type.rust, storage.type.rust | #a66887 | — |
| entity.name.lifetime.rust, punctuation.definition.lifetime.rust | #d68c45 | — |
| meta.macro.rust | #c75b45 | — |
| entity.name.tag.yaml | #4f7e91 | — |
| punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml | #c75b45 | — |
| entity.other.document.begin.yaml, entity.other.document.end.yaml | #a66887 | — |
| keyword.other.sql | #a66887 | — |
| support.function.sql | #4f7e91 | — |
| meta.table.sql | #7a8c51 | — |
| meta.decorator.ts, meta.decorator.tsx | #c75b45 | — |
| meta.type.annotation.ts, meta.type.annotation.tsx | #a66887 | — |
| entity.name.type.interface.ts, entity.name.type.interface.tsx | #a66887 | — |
| meta.preprocessor.c, meta.preprocessor.cpp | #c75b45 | — |
| string.quoted.other.lt-gt.include.c, string.quoted.other.lt-gt.include.cpp, string.quoted.double.include.c, string.quoted.double.include.cpp | #7a8c51 | — |
| storage.type.annotation.java | #c75b45 | — |
| storage.type.generic.java | #a66887 | — |
| storage.modifier.import.java, storage.modifier.package.java | #7a8c51 | — |
| variable.other.php | #c75b45 | — |
| entity.name.type.class.php | #a66887 | — |
| support.other.namespace.php | #7a8c51 | — |
| variable.other.special.shell | #c75b45 | — |
| support.function.builtin.shell | #4f7e91 | — |
| variable.parameter.option.shell | #d68c45 | — |
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}!`;
}
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}!`;
}