mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-11 21:13:02 +00:00
132 lines
3.3 KiB
TypeScript
132 lines
3.3 KiB
TypeScript
import { ColorToken, FontWeightToken, NumberToken } from "../tokens";
|
|
|
|
export interface SyntaxHighlightStyle {
|
|
color: ColorToken;
|
|
weight: FontWeightToken;
|
|
}
|
|
|
|
export interface Player {
|
|
baseColor: ColorToken;
|
|
cursorColor: ColorToken;
|
|
selectionColor: ColorToken;
|
|
borderColor: ColorToken;
|
|
}
|
|
|
|
export interface BackgroundColor {
|
|
base: ColorToken;
|
|
hovered: ColorToken;
|
|
active: ColorToken;
|
|
focused: ColorToken;
|
|
}
|
|
|
|
export interface Syntax {
|
|
primary: SyntaxHighlightStyle;
|
|
comment: SyntaxHighlightStyle;
|
|
punctuation: SyntaxHighlightStyle;
|
|
constant: SyntaxHighlightStyle;
|
|
keyword: SyntaxHighlightStyle;
|
|
function: SyntaxHighlightStyle;
|
|
type: SyntaxHighlightStyle;
|
|
variant: SyntaxHighlightStyle;
|
|
property: SyntaxHighlightStyle;
|
|
enum: SyntaxHighlightStyle;
|
|
operator: SyntaxHighlightStyle;
|
|
string: SyntaxHighlightStyle;
|
|
number: SyntaxHighlightStyle;
|
|
boolean: SyntaxHighlightStyle;
|
|
predictive: SyntaxHighlightStyle;
|
|
// TODO: Either move the following or rename
|
|
title: SyntaxHighlightStyle;
|
|
emphasis: SyntaxHighlightStyle;
|
|
emphasisStrong: SyntaxHighlightStyle;
|
|
linkUrl: SyntaxHighlightStyle;
|
|
linkText: SyntaxHighlightStyle;
|
|
listMarker: SyntaxHighlightStyle;
|
|
};
|
|
|
|
export default interface Theme {
|
|
name: string;
|
|
backgroundColor: {
|
|
100: BackgroundColor;
|
|
300: BackgroundColor;
|
|
500: BackgroundColor;
|
|
ok: BackgroundColor;
|
|
error: BackgroundColor;
|
|
warning: BackgroundColor;
|
|
info: BackgroundColor;
|
|
};
|
|
borderColor: {
|
|
primary: ColorToken;
|
|
secondary: ColorToken;
|
|
muted: ColorToken;
|
|
focused: ColorToken;
|
|
active: ColorToken;
|
|
ok: ColorToken;
|
|
error: ColorToken;
|
|
warning: ColorToken;
|
|
info: ColorToken;
|
|
};
|
|
textColor: {
|
|
primary: ColorToken;
|
|
secondary: ColorToken;
|
|
muted: ColorToken;
|
|
placeholder: ColorToken;
|
|
active: ColorToken;
|
|
feature: ColorToken;
|
|
ok: ColorToken;
|
|
error: ColorToken;
|
|
warning: ColorToken;
|
|
info: ColorToken;
|
|
};
|
|
iconColor: {
|
|
primary: ColorToken;
|
|
secondary: ColorToken;
|
|
muted: ColorToken;
|
|
placeholder: ColorToken;
|
|
active: ColorToken;
|
|
feature: ColorToken;
|
|
ok: ColorToken;
|
|
error: ColorToken;
|
|
warning: ColorToken;
|
|
info: ColorToken;
|
|
};
|
|
editor: {
|
|
background: ColorToken;
|
|
indent_guide: ColorToken;
|
|
indent_guide_active: ColorToken;
|
|
line: {
|
|
active: ColorToken;
|
|
highlighted: ColorToken;
|
|
inserted: ColorToken;
|
|
deleted: ColorToken;
|
|
modified: ColorToken;
|
|
};
|
|
highlight: {
|
|
selection: ColorToken;
|
|
occurrence: ColorToken;
|
|
activeOccurrence: ColorToken;
|
|
matchingBracket: ColorToken;
|
|
match: ColorToken;
|
|
activeMatch: ColorToken;
|
|
related: ColorToken;
|
|
};
|
|
gutter: {
|
|
primary: ColorToken;
|
|
active: ColorToken;
|
|
};
|
|
};
|
|
|
|
syntax: Syntax,
|
|
|
|
player: {
|
|
1: Player;
|
|
2: Player;
|
|
3: Player;
|
|
4: Player;
|
|
5: Player;
|
|
6: Player;
|
|
7: Player;
|
|
8: Player;
|
|
};
|
|
shadowAlpha: NumberToken;
|
|
}
|