1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { lightTheme, darkTheme, ansiTheme } from './theme.js';
export interface SemanticColors {
text: {
primary: string;
secondary: string;
link: string;
accent: string;
};
background: {
primary: string;
diff: {
added: string;
removed: string;
};
};
border: {
default: string;
focused: string;
};
ui: {
comment: string;
symbol: string;
gradient: string[] | undefined;
};
status: {
error: string;
success: string;
warning: string;
};
}
export const lightSemanticColors: SemanticColors = {
text: {
primary: lightTheme.Foreground,
secondary: lightTheme.Gray,
link: lightTheme.AccentBlue,
accent: lightTheme.AccentPurple,
},
background: {
primary: lightTheme.Background,
diff: {
added: lightTheme.DiffAdded,
removed: lightTheme.DiffRemoved,
},
},
border: {
default: lightTheme.Gray,
focused: lightTheme.AccentBlue,
},
ui: {
comment: lightTheme.Comment,
symbol: lightTheme.Gray,
gradient: lightTheme.GradientColors,
},
status: {
error: lightTheme.AccentRed,
success: lightTheme.AccentGreen,
warning: lightTheme.AccentYellow,
},
};
export const darkSemanticColors: SemanticColors = {
text: {
primary: darkTheme.Foreground,
secondary: darkTheme.Gray,
link: darkTheme.AccentBlue,
accent: darkTheme.AccentPurple,
},
background: {
primary: darkTheme.Background,
diff: {
added: darkTheme.DiffAdded,
removed: darkTheme.DiffRemoved,
},
},
border: {
default: darkTheme.Gray,
focused: darkTheme.AccentBlue,
},
ui: {
comment: darkTheme.Comment,
symbol: darkTheme.Gray,
gradient: darkTheme.GradientColors,
},
status: {
error: darkTheme.AccentRed,
success: darkTheme.AccentGreen,
warning: darkTheme.AccentYellow,
},
};
export const ansiSemanticColors: SemanticColors = {
text: {
primary: ansiTheme.Foreground,
secondary: ansiTheme.Gray,
link: ansiTheme.AccentBlue,
accent: ansiTheme.AccentPurple,
},
background: {
primary: ansiTheme.Background,
diff: {
added: ansiTheme.DiffAdded,
removed: ansiTheme.DiffRemoved,
},
},
border: {
default: ansiTheme.Gray,
focused: ansiTheme.AccentBlue,
},
ui: {
comment: ansiTheme.Comment,
symbol: ansiTheme.Gray,
gradient: ansiTheme.GradientColors,
},
status: {
error: ansiTheme.AccentRed,
success: ansiTheme.AccentGreen,
warning: ansiTheme.AccentYellow,
},
};
|