Cursor Themes - Dark & Light Collection
A stunning collection of 19 hand-crafted themes (17 dark + 2 light). Comprehensive syntax highlighting for JavaScript, TypeScript, Python, React, Vue, Rust, Go, Solidity, and 50+ languages.
A stunning collection of 19 hand-crafted themes (17 dark + 2 light). Comprehensive syntax highlighting for JavaScript, TypeScript, Python, React, Vue, Rust, Go, Solidity, and 50+ languages.
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 | #6A665E | italic |
| string, string.quoted, string.template, punctuation.definition.string.begin, punctuation.definition.string.end | #9CE08E | — |
| constant.numeric, constant.language, constant.character, constant.other | #F2CA72 | — |
| keyword, keyword.control, keyword.other, storage, storage.type, storage.modifier, keyword.operator.new | #FF78C8 | — |
| keyword.operator, keyword.operator.logical, keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.relational, keyword.operator.comparison | #6EDCF1 | — |
| entity.name.function, support.function, variable.function, meta.method-call, entity.name.function.member | #6EDCF1 | — |
| entity.name.class, entity.name.type, entity.name.type.class, entity.name.type.namespace, entity.name.namespace, support.class, support.type | #B7A3FF | — |
| variable.object.property, variable.other.property, support.variable.property, meta.object-literal.key | #8EB6FF | — |
| entity.name.tag, entity.name.tag.html, entity.other.attribute-name | #FF9B85 | — |
| invalid, invalid.illegal | #FF857D | — |
| comment, punctuation.definition.comment | #6A665E | italic |
| string, string.quoted, string.template, punctuation.definition.string.begin, punctuation.definition.string.end | #9CE08E | — |
| constant.numeric, constant.language, constant.character, constant.other | #F2CA72 | — |
| keyword, keyword.control, keyword.other, storage, storage.type, storage.modifier, keyword.operator.new | #FF78C8 | — |
| keyword.operator, keyword.operator.logical, keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.relational, keyword.operator.comparison | #6EDCF1 | — |
| entity.name.function, support.function, variable.function, meta.method-call, entity.name.function.member | #6EDCF1 | — |
| entity.name.class, entity.name.type, entity.name.type.class, entity.name.type.namespace, entity.name.namespace, support.class, support.type | #B7A3FF | — |
| variable.object.property, variable.other.property, support.variable.property, meta.object-literal.key | #8EB6FF | — |
| entity.name.tag, entity.name.tag.html, entity.other.attribute-name | #FF9B85 | — |
| invalid, invalid.illegal | #FF857D | — |
| comment, punctuation.definition.comment | #6F695F | italic |
| string, string.quoted, string.template, punctuation.definition.string.begin, punctuation.definition.string.end | #94C47E | — |
| constant.numeric, constant.language, constant.character, constant.other | #D2B26F | — |
| keyword, keyword.control, keyword.other, storage, storage.type, storage.modifier, keyword.operator.new | #C6A56A | — |
| entity.name.function, support.function, variable.function, meta.method-call, entity.name.function.member | #89BEB5 | — |
| entity.name.class, entity.name.type, entity.name.type.class, entity.name.type.namespace, entity.name.namespace, support.class, support.type | #DDBA79 | — |
| variable.object.property, variable.other.property, support.variable.property, meta.object-literal.key | #8FA7C7 | — |
| invalid, invalid.illegal | #E37C77 | — |
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 | #94A3B8 | italic |
| string, string.quoted, string.template | #059669 | — |
| punctuation.definition.string.begin, punctuation.definition.string.end | #059669 | — |
| constant.numeric | #D97706 | — |
| constant.language | #D97706 | — |
| variable.other.constant | #0D9488 | — |
| variable, variable.other.readwrite | #334155 | — |
| variable.parameter | #475569 | italic |
| variable.language, variable.language.this, variable.language.self | #DC2626 | — |
| keyword, keyword.control, keyword.operator.new, keyword.other | #7C3AED | — |
| storage, storage.type, storage.modifier | #7C3AED | — |
| keyword.operator, keyword.operator.logical, keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.relational, keyword.operator.comparison | #475569 | — |
| keyword.operator.ternary, keyword.operator.optional, keyword.operator.expression.instanceof, keyword.operator.expression.typeof | #7C3AED | — |
| punctuation, punctuation.definition, punctuation.separator, punctuation.terminator, punctuation.section | #475569 | — |
| entity.name.function, meta.require, support.function, variable.function | #2563EB | — |
| meta.method-call, meta.method, entity.name.function.member | #2563EB | — |
| entity.name.class, entity.name.type, entity.name.type.class, support.class, support.type | #D97706 | — |
| variable.object.property, variable.other.property, support.variable.property | #0D9488 | — |
| meta.object-literal.key | #0D9488 | — |
| entity.name.tag | #DC2626 | — |
| entity.other.attribute-name | #D97706 | — |
| meta.decorator, punctuation.decorator | #059669 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #7C3AED | — |
| support.type.property-name.json, meta.structure.dictionary.key.json | #0D9488 | — |
| invalid, invalid.illegal | #DC2626 | — |
| source | #334155 | — |
| markup.bold | — | bold |
| markup.underline | — | underline |
| markup.strikethrough | — | strikethrough |
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 | #5B6D82 | italic |
| string, string.quoted, string.template | #8FE3A6 | — |
| punctuation.definition.string.begin, punctuation.definition.string.end | #8FE3A6 | — |
| constant.numeric | #FFB98A | — |
| constant.language | #F2CB74 | — |
| variable.other.constant | #B39DFF | — |
| variable, variable.other.readwrite | #D7E4F3 | — |
| variable.parameter | #BFD0E3 | italic |
| variable.language, variable.language.this, variable.language.self | #FF7F97 | — |
| keyword, keyword.control, keyword.other, keyword.operator.new | #B39DFF | — |
| storage, storage.type, storage.modifier | #B39DFF | — |
| keyword.operator, keyword.operator.logical, keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.relational, keyword.operator.comparison | #75E0FF | — |
| keyword.operator.ternary, keyword.operator.optional, keyword.operator.expression.instanceof, keyword.operator.expression.typeof, keyword.operator.expression.keyof, keyword.operator.expression.in, keyword.operator.expression.of | #B39DFF | — |
| punctuation, punctuation.definition, punctuation.separator, punctuation.terminator, punctuation.section | #AFC2D8 | — |
| entity.name.function, meta.require, support.function, variable.function | #6BD5E7 | — |
| meta.method-call, meta.method, entity.name.function.member | #6BD5E7 | — |
| entity.name.class, entity.name.type, entity.name.type.class, support.class, support.type | #F2CB74 | — |
| entity.name.type.namespace, entity.name.namespace | #FFB98A | — |
| variable.object.property, variable.other.property, support.variable.property | #87B9FF | — |
| meta.object-literal.key | #87B9FF | — |
| support.constant, support.variable | #8FE3A6 | — |
| entity.name.tag, entity.name.tag.html | #6BD5E7 | — |
| entity.other.attribute-name, entity.other.attribute-name.js, entity.other.attribute-name.ts, entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #B39DFF | italic |
| meta.decorator, punctuation.decorator, meta.function.decorator.python | #8FE3A6 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #B39DFF | — |
| string.regexp | #F3A4D8 | — |
| constant.character.escape | #FFB98A | — |
| support.type.property-name.json, meta.structure.dictionary.key.json | #6BD5E7 | — |
| source.json meta.structure.dictionary.json > value.json > string.quoted.json, source.json meta.structure.array.json > value.json > string.quoted.json | #8FE3A6 | — |
| support.type.property-name.css, meta.property-name.css | #87B9FF | — |
| support.constant.property-value.css, meta.property-value.css | #8FE3A6 | — |
| markup.heading, entity.name.section | #6BD5E7 | bold |
| markup.inline.raw, markup.fenced_code, markup.inline.raw.markdown, markup.inline.raw.string.markdown | #8FE3A6 | — |
| markup.inserted.diff | #8FE3A6 | — |
| markup.deleted.diff | #FF7F97 | — |
| markup.changed.diff | #F2CB74 | — |
| invalid, invalid.illegal | #FF7F97 | — |
| source | #D7E4F3 | — |
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 | #5D6D7E | italic |
| string, string.quoted, string.template | #9BDB86 | — |
| punctuation.definition.string.begin, punctuation.definition.string.end | #9BDB86 | — |
| constant.numeric | #F7B27A | — |
| constant.language | #F0C46B | — |
| variable.other.constant | #C2A5FF | — |
| variable, variable.other.readwrite | #DCE6ED | — |
| variable.parameter | #C3D2DE | italic |
| variable.language, variable.language.this, variable.language.self | #FF7D8F | — |
| keyword, keyword.control, keyword.other, keyword.operator.new | #C2A5FF | — |
| storage, storage.type, storage.modifier | #C2A5FF | — |
| keyword.operator, keyword.operator.logical, keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.relational, keyword.operator.comparison | #7BE7D5 | — |
| punctuation, punctuation.definition, punctuation.separator, punctuation.terminator, punctuation.section | #B5C2CF | — |
| entity.name.function, meta.require, support.function, variable.function | #59D0BC | — |
| meta.method-call, meta.method, entity.name.function.member | #59D0BC | — |
| entity.name.class, entity.name.type, entity.name.type.class, support.class, support.type | #F0C46B | — |
| entity.name.type.namespace, entity.name.namespace | #F7B27A | — |
| variable.object.property, variable.other.property, support.variable.property | #86B7FF | — |
| meta.object-literal.key | #86B7FF | — |
| support.constant, support.variable | #9BDB86 | — |
| entity.name.tag, entity.name.tag.html | #59D0BC | — |
| entity.other.attribute-name, entity.other.attribute-name.js, entity.other.attribute-name.ts, entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #C2A5FF | italic |
| meta.decorator, punctuation.decorator, meta.function.decorator.python | #9BDB86 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #C2A5FF | — |
| string.regexp | #EBA4CF | — |
| constant.character.escape | #F7B27A | — |
| support.type.property-name.json, meta.structure.dictionary.key.json | #59D0BC | — |
| source.json meta.structure.dictionary.json > value.json > string.quoted.json, source.json meta.structure.array.json > value.json > string.quoted.json | #9BDB86 | — |
| support.type.property-name.css, meta.property-name.css | #86B7FF | — |
| support.constant.property-value.css, meta.property-value.css | #9BDB86 | — |
| markup.heading, entity.name.section | #59D0BC | bold |
| markup.inline.raw, markup.fenced_code, markup.inline.raw.markdown, markup.inline.raw.string.markdown | #9BDB86 | — |
| markup.inserted.diff | #9BDB86 | — |
| markup.deleted.diff | #FF7D8F | — |
| markup.changed.diff | #F0C46B | — |
| invalid, invalid.illegal | #FF7D8F | — |
| source | #DCE6ED | — |
| comment, punctuation.definition.comment | #5D6D7E | italic |
| string, string.quoted, string.template | #9BDB86 | — |
| punctuation.definition.string.begin, punctuation.definition.string.end | #9BDB86 | — |
| constant.numeric | #F7B27A | — |
| constant.language | #F0C46B | — |
| variable.other.constant | #C2A5FF | — |
| variable, variable.other.readwrite | #DCE6ED | — |
| variable.parameter | #C3D2DE | italic |
| variable.language, variable.language.this, variable.language.self | #FF7D8F | — |
| keyword, keyword.control, keyword.other, keyword.operator.new | #C2A5FF | — |
| storage, storage.type, storage.modifier | #C2A5FF | — |
| keyword.operator, keyword.operator.logical, keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.relational, keyword.operator.comparison | #7BE7D5 | — |
| punctuation, punctuation.definition, punctuation.separator, punctuation.terminator, punctuation.section | #B5C2CF | — |
| entity.name.function, meta.require, support.function, variable.function | #59D0BC | — |
| meta.method-call, meta.method, entity.name.function.member | #59D0BC | — |
| entity.name.class, entity.name.type, entity.name.type.class, support.class, support.type | #F0C46B | — |
| entity.name.type.namespace, entity.name.namespace | #F7B27A | — |
| variable.object.property, variable.other.property, support.variable.property | #86B7FF | — |
| meta.object-literal.key | #86B7FF | — |
| support.constant, support.variable | #9BDB86 | — |
| entity.name.tag, entity.name.tag.html | #59D0BC | — |
| entity.other.attribute-name, entity.other.attribute-name.js, entity.other.attribute-name.ts, entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #C2A5FF | italic |
| meta.decorator, punctuation.decorator, meta.function.decorator.python | #9BDB86 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #C2A5FF | — |
| string.regexp | #EBA4CF | — |
| constant.character.escape | #F7B27A | — |
| support.type.property-name.json, meta.structure.dictionary.key.json | #59D0BC | — |
| source.json meta.structure.dictionary.json > value.json > string.quoted.json, source.json meta.structure.array.json > value.json > string.quoted.json | #9BDB86 | — |
| support.type.property-name.css, meta.property-name.css | #86B7FF | — |
| support.constant.property-value.css, meta.property-value.css | #9BDB86 | — |
| markup.heading, entity.name.section | #59D0BC | bold |
| markup.inline.raw, markup.fenced_code, markup.inline.raw.markdown, markup.inline.raw.string.markdown | #9BDB86 | — |
| markup.inserted.diff | #9BDB86 | — |
| markup.deleted.diff | #FF7D8F | — |
| markup.changed.diff | #F0C46B | — |
| invalid, invalid.illegal | #FF7D8F | — |
| source | #DCE6ED | — |
| comment, punctuation.definition.comment | #5B6D82 | italic |
| string, string.quoted, string.template | #8FE3A6 | — |
| punctuation.definition.string.begin, punctuation.definition.string.end | #8FE3A6 | — |
| constant.numeric | #FFB98A | — |
| constant.language | #F2CB74 | — |
| variable.other.constant | #B39DFF | — |
| variable, variable.other.readwrite | #D7E4F3 | — |
| variable.parameter | #BFD0E3 | italic |
| variable.language, variable.language.this, variable.language.self | #FF7F97 | — |
| keyword, keyword.control, keyword.other, keyword.operator.new | #B39DFF | — |
| storage, storage.type, storage.modifier | #B39DFF | — |
| keyword.operator, keyword.operator.logical, keyword.operator.arithmetic, keyword.operator.assignment, keyword.operator.relational, keyword.operator.comparison | #75E0FF | — |
| keyword.operator.ternary, keyword.operator.optional, keyword.operator.expression.instanceof, keyword.operator.expression.typeof, keyword.operator.expression.keyof, keyword.operator.expression.in, keyword.operator.expression.of | #B39DFF | — |
| punctuation, punctuation.definition, punctuation.separator, punctuation.terminator, punctuation.section | #AFC2D8 | — |
| entity.name.function, meta.require, support.function, variable.function | #6BD5E7 | — |
| meta.method-call, meta.method, entity.name.function.member | #6BD5E7 | — |
| entity.name.class, entity.name.type, entity.name.type.class, support.class, support.type | #F2CB74 | — |
| entity.name.type.namespace, entity.name.namespace | #FFB98A | — |
| variable.object.property, variable.other.property, support.variable.property | #87B9FF | — |
| meta.object-literal.key | #87B9FF | — |
| support.constant, support.variable | #8FE3A6 | — |
| entity.name.tag, entity.name.tag.html | #6BD5E7 | — |
| entity.other.attribute-name, entity.other.attribute-name.js, entity.other.attribute-name.ts, entity.other.attribute-name.jsx, entity.other.attribute-name.tsx | #B39DFF | italic |
| meta.decorator, punctuation.decorator, meta.function.decorator.python | #8FE3A6 | — |
| punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end, punctuation.section.embedded | #B39DFF | — |
| string.regexp | #F3A4D8 | — |
| constant.character.escape | #FFB98A | — |
| support.type.property-name.json, meta.structure.dictionary.key.json | #6BD5E7 | — |
| source.json meta.structure.dictionary.json > value.json > string.quoted.json, source.json meta.structure.array.json > value.json > string.quoted.json | #8FE3A6 | — |
| support.type.property-name.css, meta.property-name.css | #87B9FF | — |
| support.constant.property-value.css, meta.property-value.css | #8FE3A6 | — |
| markup.heading, entity.name.section | #6BD5E7 | bold |
| markup.inline.raw, markup.fenced_code, markup.inline.raw.markdown, markup.inline.raw.string.markdown | #8FE3A6 | — |
| markup.inserted.diff | #8FE3A6 | — |
| markup.deleted.diff | #FF7F97 | — |
| markup.changed.diff | #F2CB74 | — |
| invalid, invalid.illegal | #FF7F97 | — |
| source | #D7E4F3 | — |
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}!`;
}