@fsegurai/codemirror-theme-andromeda 6.1.4 → 6.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -27
- package/dist/index.cjs +274 -81
- package/dist/index.d.cts +9 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +274 -81
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img alt="CodeMirror 6 Themes Logo" src="https://raw.githubusercontent.com/fsegurai/codemirror-themes/main/
|
|
2
|
+
<img alt="CodeMirror 6 Themes Logo" src="https://raw.githubusercontent.com/fsegurai/codemirror-themes/main/public/codemirror-themes.png">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
@@ -69,32 +69,32 @@ Read the [CodeMirror documentation](https://codemirror.net/6/examples/styling/)
|
|
|
69
69
|
|
|
70
70
|
### Available Themes
|
|
71
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
|
-
|
|
72
|
+
| Theme | Package | Version |
|
|
73
|
+
|-------------------|----------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|
|
|
74
|
+
| All - Bundle | [@fsegurai/codemirror-theme-bundle](https://www.npmjs.com/package/@fsegurai/codemirror-theme-bundle) |  |
|
|
75
|
+
| Abcdef | [@fsegurai/codemirror-theme-abcdef](https://www.npmjs.com/package/@fsegurai/codemirror-theme-abcdef) |  |
|
|
76
|
+
| Abyss | [@fsegurai/codemirror-theme-abyss](https://www.npmjs.com/package/@fsegurai/codemirror-theme-abyss) |  |
|
|
77
|
+
| Android Studio | [@fsegurai/codemirror-theme-android-studio](https://www.npmjs.com/package/@fsegurai/codemirror-theme-android-studio) |  |
|
|
78
|
+
| Andromeda | [@fsegurai/codemirror-theme-andromeda](https://www.npmjs.com/package/@fsegurai/codemirror-theme-andromeda) |  |
|
|
79
|
+
| Basic Light | [@fsegurai/codemirror-theme-basic-light](https://www.npmjs.com/package/@fsegurai/codemirror-theme-basic-light) |  |
|
|
80
|
+
| Basic Dark | [@fsegurai/codemirror-theme-basic-dark](https://www.npmjs.com/package/@fsegurai/codemirror-theme-basic-dark) |  |
|
|
81
|
+
| Forest | [@fsegurai/codemirror-theme-forest](https://www.npmjs.com/package/@fsegurai/codemirror-theme-forest) |  |
|
|
82
|
+
| GitHub Light | [@fsegurai/codemirror-theme-github-light](https://www.npmjs.com/package/@fsegurai/codemirror-theme-github-light) |  |
|
|
83
|
+
| GitHub Dark | [@fsegurai/codemirror-theme-github-dark](https://www.npmjs.com/package/@fsegurai/codemirror-theme-github-dark) |  |
|
|
84
|
+
| Gruvbox Light | [@fsegurai/codemirror-theme-gruvbox-light](https://www.npmjs.com/package/@fsegurai/codemirror-theme-gruvbox-light) |  |
|
|
85
|
+
| Gruvbox Dark | [@fsegurai/codemirror-theme-gruvbox-dark](https://www.npmjs.com/package/@fsegurai/codemirror-theme-gruvbox-dark) |  |
|
|
86
|
+
| Material Light | [@fsegurai/codemirror-theme-material-light](https://www.npmjs.com/package/@fsegurai/codemirror-theme-material-light) |  |
|
|
87
|
+
| Material Dark | [@fsegurai/codemirror-theme-material-dark](https://www.npmjs.com/package/@fsegurai/codemirror-theme-material-dark) |  |
|
|
88
|
+
| Monokai | [@fsegurai/codemirror-theme-monokai](https://www.npmjs.com/package/@fsegurai/codemirror-theme-monokai) |  |
|
|
89
|
+
| Nord | [@fsegurai/codemirror-theme-nord](https://www.npmjs.com/package/@fsegurai/codemirror-theme-nord) |  |
|
|
90
|
+
| Palenight | [@fsegurai/codemirror-theme-palenight](https://www.npmjs.com/package/@fsegurai/codemirror-theme-palenight) |  |
|
|
91
|
+
| Solarized Light | [@fsegurai/codemirror-theme-solarized-light](https://www.npmjs.com/package/@fsegurai/codemirror-theme-solarized-light) |  |
|
|
92
|
+
| Solarized Dark | [@fsegurai/codemirror-theme-solarized-dark](https://www.npmjs.com/package/@fsegurai/codemirror-theme-solarized-dark) |  |
|
|
93
|
+
| Tokyo Night Storm | [@fsegurai/codemirror-theme-tokyo-night-storm](https://www.npmjs.com/package/@fsegurai/codemirror-theme-tokyo-night-storm) |  |
|
|
94
|
+
| Tokyo Night Day | [@fsegurai/codemirror-theme-tokyo-night-day](https://www.npmjs.com/package/@fsegurai/codemirror-theme-tokyo-night-day) |  |
|
|
95
|
+
| Volcano | [@fsegurai/codemirror-theme-volcano](https://www.npmjs.com/package/@fsegurai/codemirror-theme-volcano) |  |
|
|
96
|
+
| VS Code Dark | [@fsegurai/codemirror-theme-vscode-dark](https://www.npmjs.com/package/@fsegurai/codemirror-theme-vscode-dark) |  |
|
|
97
|
+
| VS Code Light | [@fsegurai/codemirror-theme-vscode-light](https://www.npmjs.com/package/@fsegurai/codemirror-theme-vscode-light) |  |
|
|
98
98
|
|
|
99
99
|
### Demo Application
|
|
100
100
|
|
package/dist/index.cjs
CHANGED
|
@@ -3,73 +3,173 @@
|
|
|
3
3
|
var view = require('@codemirror/view');
|
|
4
4
|
var language = require('@codemirror/language');
|
|
5
5
|
var highlight = require('@lezer/highlight');
|
|
6
|
+
var _utils = require('@utils');
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Enhanced Andromeda theme color palette
|
|
10
|
+
* ------------------------------------------
|
|
11
|
+
* Colors refined for better contrast and visual hierarchy
|
|
12
|
+
*/
|
|
13
|
+
// Base colors
|
|
14
|
+
const base00 = '#1b1e26', // Background (slightly darker for better contrast)
|
|
15
|
+
base01 = '#e4dff0', // Foreground (slightly brighter for better readability)
|
|
16
|
+
base02 = '#db45a270', // Selection and Selection Match (reduced opacity)
|
|
11
17
|
base03 = '#2b303b', // Dropdown Background
|
|
12
|
-
base04 = '#
|
|
13
|
-
base05 = '#
|
|
14
|
-
base06 = '#
|
|
15
|
-
base07 = '#
|
|
16
|
-
base08 = '#
|
|
17
|
-
base09 = '#
|
|
18
|
-
base0A = '#
|
|
19
|
-
base0B = '#
|
|
20
|
-
base0C = '#
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
base04 = '#ffffff', // Cursor (pure white for better visibility)
|
|
19
|
+
base05 = '#d667ff', // Keyword, Storage (brighter purple)
|
|
20
|
+
base06 = '#24e3c3', // Variable, Parameter (slightly desaturated teal)
|
|
21
|
+
base07 = '#ffdd80', // Function, Type, Class (warmer yellow)
|
|
22
|
+
base08 = '#a6e07a', // String, RegExp (slightly muted green for better readability)
|
|
23
|
+
base09 = '#ff7057', // Constant, Number (brighter orange-red)
|
|
24
|
+
base0A = '#a8aab9', // Comment (higher contrast gray)
|
|
25
|
+
base0B = '#ff40b3', // Heading (slightly desaturated magenta)
|
|
26
|
+
base0C = '#fd3681', // Tag (adjusted pink)
|
|
27
|
+
base0D = '#c7c7ff', // New color for brackets/punctuation
|
|
28
|
+
base0E = '#6ae4b9', // New color for special elements
|
|
29
|
+
base0F = '#3c94ff', // New color for attributes and links
|
|
30
|
+
invalid = '#ff3162', // Invalid (more visible red)
|
|
31
|
+
// UI-specific colors
|
|
32
|
+
darkBackground = '#242830', selectionBackground = base02, selectionForeground = '#ffffff', highlightBackground = '#30343d40', tooltipBackground = '#1f232d', // Darker tooltip for better contrast
|
|
33
|
+
cursor = base04, activeBracketBg = '#db45a230', activeBracketBorder = base05;
|
|
34
|
+
/**
|
|
35
|
+
* Enhanced editor theme styles for Andromeda
|
|
36
|
+
*/
|
|
24
37
|
const andromedaTheme = view.EditorView.theme({
|
|
38
|
+
// Base editor styles
|
|
25
39
|
'&': {
|
|
26
40
|
color: base01,
|
|
27
41
|
backgroundColor: base00,
|
|
42
|
+
fontSize: _utils.generalContent.fontSize,
|
|
43
|
+
fontFamily: _utils.generalContent.fontFamily,
|
|
28
44
|
},
|
|
45
|
+
// Content and cursor
|
|
29
46
|
'.cm-content': {
|
|
30
47
|
caretColor: cursor,
|
|
48
|
+
lineHeight: _utils.generalContent.lineHeight,
|
|
31
49
|
},
|
|
32
|
-
'.cm-cursor, .cm-dropCursor': {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
'.cm-
|
|
50
|
+
'.cm-cursor, .cm-dropCursor': {
|
|
51
|
+
borderLeftColor: cursor,
|
|
52
|
+
borderLeftWidth: _utils.generalCursor.borderLeftWidth,
|
|
53
|
+
},
|
|
54
|
+
'.cm-fat-cursor': {
|
|
55
|
+
backgroundColor: `${cursor}99`,
|
|
56
|
+
color: base00,
|
|
57
|
+
},
|
|
58
|
+
// Selection
|
|
59
|
+
'&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
|
|
60
|
+
backgroundColor: selectionBackground,
|
|
61
|
+
color: selectionForeground,
|
|
62
|
+
},
|
|
63
|
+
// Make sure selection appears above active line
|
|
64
|
+
'.cm-selectionLayer': {
|
|
65
|
+
zIndex: 100,
|
|
66
|
+
},
|
|
67
|
+
// Search functionality
|
|
37
68
|
'.cm-searchMatch': {
|
|
38
|
-
backgroundColor:
|
|
39
|
-
outline: `1px solid ${
|
|
40
|
-
color:
|
|
69
|
+
backgroundColor: '#db45a230',
|
|
70
|
+
outline: `1px solid ${base05}30`,
|
|
71
|
+
color: base01,
|
|
72
|
+
borderRadius: _utils.generalSearchField.borderRadius,
|
|
73
|
+
'& span': {
|
|
74
|
+
color: base01,
|
|
75
|
+
},
|
|
41
76
|
},
|
|
42
77
|
'.cm-searchMatch.cm-searchMatch-selected': {
|
|
43
|
-
backgroundColor:
|
|
44
|
-
color:
|
|
78
|
+
backgroundColor: '#db45a280',
|
|
79
|
+
color: base01,
|
|
80
|
+
padding: _utils.generalSearchField.padding,
|
|
81
|
+
'& span': {
|
|
82
|
+
color: base01,
|
|
83
|
+
},
|
|
45
84
|
},
|
|
46
|
-
'.cm-search.cm-panel': {
|
|
85
|
+
'.cm-search.cm-panel.cm-textfield': {
|
|
47
86
|
color: base06,
|
|
87
|
+
borderRadius: _utils.generalSearchField.borderRadius,
|
|
88
|
+
padding: _utils.generalSearchField.padding,
|
|
48
89
|
},
|
|
49
|
-
|
|
50
|
-
'
|
|
51
|
-
|
|
90
|
+
// Panels
|
|
91
|
+
'.cm-panels': {
|
|
92
|
+
backgroundColor: darkBackground,
|
|
93
|
+
color: base06,
|
|
52
94
|
},
|
|
53
|
-
'
|
|
54
|
-
|
|
55
|
-
color: base07,
|
|
95
|
+
'.cm-panels.cm-panels-top': {
|
|
96
|
+
borderBottom: '1px solid #3a3e4c',
|
|
56
97
|
},
|
|
57
|
-
'.cm-
|
|
58
|
-
|
|
98
|
+
'.cm-panels.cm-panels-bottom': {
|
|
99
|
+
borderTop: '1px solid #3a3e4c',
|
|
100
|
+
},
|
|
101
|
+
'.cm-panel button': {
|
|
102
|
+
backgroundColor: darkBackground,
|
|
59
103
|
color: base06,
|
|
104
|
+
border: _utils.generalPanel.border,
|
|
105
|
+
borderRadius: _utils.generalPanel.borderRadius,
|
|
106
|
+
padding: _utils.generalPanel.padding,
|
|
107
|
+
},
|
|
108
|
+
'.cm-panel button:hover': {
|
|
109
|
+
backgroundColor: '#343946',
|
|
110
|
+
},
|
|
111
|
+
// Line highlighting
|
|
112
|
+
'.cm-activeLine': {
|
|
113
|
+
backgroundColor: highlightBackground,
|
|
114
|
+
borderRadius: _utils.generalLine.borderRadius,
|
|
115
|
+
zIndex: 1,
|
|
116
|
+
},
|
|
117
|
+
// Gutters
|
|
118
|
+
'.cm-gutters': {
|
|
60
119
|
backgroundColor: darkBackground,
|
|
120
|
+
color: '#748099',
|
|
121
|
+
border: _utils.generalGutter.border,
|
|
122
|
+
borderRight: '1px solid #33384550',
|
|
123
|
+
paddingRight: _utils.generalGutter.paddingRight,
|
|
61
124
|
},
|
|
62
125
|
'.cm-activeLineGutter': {
|
|
63
126
|
backgroundColor: highlightBackground,
|
|
127
|
+
color: base01,
|
|
128
|
+
fontWeight: _utils.generalGutter.fontWeight,
|
|
64
129
|
},
|
|
65
|
-
'.cm-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
130
|
+
'.cm-lineNumbers': {
|
|
131
|
+
fontSize: _utils.generalGutter.fontSize,
|
|
132
|
+
},
|
|
133
|
+
'.cm-foldGutter': {
|
|
134
|
+
fontSize: _utils.generalGutter.fontSize,
|
|
135
|
+
},
|
|
136
|
+
'.cm-foldGutter .cm-gutterElement': {
|
|
137
|
+
color: '#748099',
|
|
138
|
+
cursor: 'pointer',
|
|
69
139
|
},
|
|
140
|
+
'.cm-foldGutter .cm-gutterElement:hover': {
|
|
141
|
+
color: base01,
|
|
142
|
+
},
|
|
143
|
+
// Tooltips and autocomplete
|
|
70
144
|
'.cm-tooltip': {
|
|
71
|
-
border: 'none',
|
|
72
145
|
backgroundColor: tooltipBackground,
|
|
146
|
+
border: '1px solid #3a3e4c',
|
|
147
|
+
borderRadius: _utils.generalTooltip.borderRadius,
|
|
148
|
+
padding: _utils.generalTooltip.padding,
|
|
149
|
+
boxShadow: '0 2px 8px rgba(0, 0, 0, 0.3)',
|
|
150
|
+
},
|
|
151
|
+
'.cm-tooltip-autocomplete': {
|
|
152
|
+
'& > ul': {
|
|
153
|
+
backgroundColor: base03,
|
|
154
|
+
border: 'none',
|
|
155
|
+
},
|
|
156
|
+
'& > ul > li': {
|
|
157
|
+
padding: _utils.generalTooltip.padding,
|
|
158
|
+
lineHeight: _utils.generalTooltip.lineHeight,
|
|
159
|
+
},
|
|
160
|
+
'& > ul > li[aria-selected]': {
|
|
161
|
+
backgroundColor: '#db45a240',
|
|
162
|
+
color: base01,
|
|
163
|
+
borderRadius: _utils.generalTooltip.borderRadiusSelected,
|
|
164
|
+
},
|
|
165
|
+
'& > ul > li > span.cm-completionIcon': {
|
|
166
|
+
color: '#748099',
|
|
167
|
+
paddingRight: _utils.generalTooltip.paddingRight,
|
|
168
|
+
},
|
|
169
|
+
'& > ul > li > span.cm-completionDetail': {
|
|
170
|
+
color: '#748099',
|
|
171
|
+
fontStyle: 'italic',
|
|
172
|
+
},
|
|
73
173
|
},
|
|
74
174
|
'.cm-tooltip .cm-tooltip-arrow:before': {
|
|
75
175
|
borderTopColor: 'transparent',
|
|
@@ -79,53 +179,146 @@ const andromedaTheme = view.EditorView.theme({
|
|
|
79
179
|
borderTopColor: tooltipBackground,
|
|
80
180
|
borderBottomColor: tooltipBackground,
|
|
81
181
|
},
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
182
|
+
// Diagnostics styling
|
|
183
|
+
'.cm-diagnostic': {
|
|
184
|
+
'&-error': {
|
|
185
|
+
borderLeft: `3px solid ${invalid}`,
|
|
186
|
+
},
|
|
187
|
+
'&-warning': {
|
|
188
|
+
borderLeft: `3px solid ${base07}`,
|
|
189
|
+
},
|
|
190
|
+
'&-info': {
|
|
191
|
+
borderLeft: `3px solid ${base0F}`,
|
|
86
192
|
},
|
|
87
193
|
},
|
|
194
|
+
'.cm-lintPoint-error': {
|
|
195
|
+
borderBottom: `2px wavy ${invalid}`,
|
|
196
|
+
},
|
|
197
|
+
'.cm-lintPoint-warning': {
|
|
198
|
+
borderBottom: `2px wavy ${base07}`,
|
|
199
|
+
},
|
|
200
|
+
// Matching brackets
|
|
201
|
+
'.cm-matchingBracket': {
|
|
202
|
+
backgroundColor: activeBracketBg,
|
|
203
|
+
outline: `1px solid ${activeBracketBorder}50`,
|
|
204
|
+
borderRadius: _utils.generalMatching.borderRadius,
|
|
205
|
+
},
|
|
206
|
+
'.cm-nonmatchingBracket': {
|
|
207
|
+
backgroundColor: '#ff405030',
|
|
208
|
+
outline: `1px solid ${invalid}`,
|
|
209
|
+
borderRadius: _utils.generalMatching.borderRadius,
|
|
210
|
+
},
|
|
211
|
+
// Selection matches
|
|
212
|
+
'.cm-selectionMatch': {
|
|
213
|
+
backgroundColor: '#db45a240',
|
|
214
|
+
outline: `1px solid ${base05}50`,
|
|
215
|
+
borderRadius: _utils.generalMatching.borderRadius,
|
|
216
|
+
},
|
|
217
|
+
// Fold placeholder
|
|
218
|
+
'.cm-foldPlaceholder': {
|
|
219
|
+
backgroundColor: 'transparent',
|
|
220
|
+
color: base02,
|
|
221
|
+
border: `1px dotted ${base05}70`,
|
|
222
|
+
borderRadius: _utils.generalPlaceholder.borderRadius,
|
|
223
|
+
padding: _utils.generalPlaceholder.padding,
|
|
224
|
+
margin: _utils.generalPlaceholder.margin,
|
|
225
|
+
},
|
|
226
|
+
// Focus outline
|
|
227
|
+
'&.cm-focused': {
|
|
228
|
+
outline: 'none',
|
|
229
|
+
boxShadow: `0 0 0 2px ${base00}, 0 0 0 3px ${base05}40`,
|
|
230
|
+
},
|
|
231
|
+
// Scrollbars
|
|
232
|
+
'& .cm-scroller::-webkit-scrollbar': {
|
|
233
|
+
width: _utils.generalScroller.width,
|
|
234
|
+
height: _utils.generalScroller.height,
|
|
235
|
+
},
|
|
236
|
+
'& .cm-scroller::-webkit-scrollbar-track': {
|
|
237
|
+
background: darkBackground,
|
|
238
|
+
},
|
|
239
|
+
'& .cm-scroller::-webkit-scrollbar-thumb': {
|
|
240
|
+
backgroundColor: '#3b4151',
|
|
241
|
+
borderRadius: _utils.generalScroller.borderRadius,
|
|
242
|
+
border: `3px solid ${darkBackground}`,
|
|
243
|
+
},
|
|
244
|
+
'& .cm-scroller::-webkit-scrollbar-thumb:hover': {
|
|
245
|
+
backgroundColor: '#4e5568',
|
|
246
|
+
},
|
|
247
|
+
// Ghost text
|
|
248
|
+
'.cm-ghostText': {
|
|
249
|
+
opacity: '0.5',
|
|
250
|
+
color: '#a8aab9',
|
|
251
|
+
},
|
|
88
252
|
}, { dark: true });
|
|
89
|
-
|
|
253
|
+
/**
|
|
254
|
+
* Enhanced syntax highlighting for the Andromeda theme
|
|
255
|
+
*/
|
|
90
256
|
const andromedaHighlightStyle = language.HighlightStyle.define([
|
|
91
|
-
|
|
92
|
-
{ tag:
|
|
257
|
+
// Keywords and control flow
|
|
258
|
+
{ tag: highlight.tags.keyword, color: base05, fontWeight: 'bold' },
|
|
259
|
+
{ tag: highlight.tags.controlKeyword, color: base05, fontWeight: 'bold' },
|
|
260
|
+
{ tag: highlight.tags.moduleKeyword, color: base05, fontWeight: 'bold' },
|
|
261
|
+
// Names and variables
|
|
262
|
+
{ tag: [highlight.tags.name, highlight.tags.deleted, highlight.tags.character, highlight.tags.macroName], color: base06 },
|
|
93
263
|
{ tag: [highlight.tags.variableName], color: base06 },
|
|
94
|
-
{ tag: [highlight.tags.
|
|
95
|
-
|
|
96
|
-
{ tag: [highlight.tags.
|
|
97
|
-
{ tag: [highlight.tags.
|
|
98
|
-
{ tag: [highlight.tags.
|
|
99
|
-
|
|
100
|
-
{ tag: [highlight.tags.
|
|
101
|
-
{ tag: [highlight.tags.
|
|
102
|
-
{ tag: [highlight.tags.
|
|
103
|
-
{ tag: [highlight.tags.
|
|
104
|
-
|
|
105
|
-
{ tag: [highlight.tags.
|
|
106
|
-
{ tag: [highlight.tags.
|
|
107
|
-
|
|
108
|
-
{ tag:
|
|
109
|
-
{ tag:
|
|
110
|
-
{ tag: highlight.tags.
|
|
111
|
-
{ tag:
|
|
112
|
-
{ tag:
|
|
113
|
-
{ tag: [highlight.tags.
|
|
114
|
-
{ tag: highlight.tags.
|
|
115
|
-
|
|
116
|
-
{ tag: highlight.tags.
|
|
117
|
-
{ tag: highlight.tags.
|
|
118
|
-
{ tag: highlight.tags.
|
|
119
|
-
|
|
120
|
-
{ tag: highlight.tags.
|
|
121
|
-
|
|
122
|
-
{ tag:
|
|
123
|
-
{ tag:
|
|
124
|
-
{ tag:
|
|
125
|
-
|
|
126
|
-
{ tag: highlight.tags.
|
|
264
|
+
{ tag: [highlight.tags.propertyName], color: base06, fontStyle: 'normal' },
|
|
265
|
+
// Classes and types
|
|
266
|
+
{ tag: [highlight.tags.typeName], color: base07 },
|
|
267
|
+
{ tag: [highlight.tags.className], color: base07, fontStyle: 'italic' },
|
|
268
|
+
{ tag: [highlight.tags.namespace], color: base0E, fontStyle: 'italic' },
|
|
269
|
+
// Operators and punctuation
|
|
270
|
+
{ tag: [highlight.tags.operator, highlight.tags.operatorKeyword], color: base0D },
|
|
271
|
+
{ tag: [highlight.tags.bracket], color: base0D },
|
|
272
|
+
{ tag: [highlight.tags.brace], color: base0D },
|
|
273
|
+
{ tag: [highlight.tags.punctuation], color: base0D },
|
|
274
|
+
// Functions and parameters
|
|
275
|
+
{ tag: [highlight.tags.function(highlight.tags.variableName), highlight.tags.labelName], color: base07 },
|
|
276
|
+
{ tag: [highlight.tags.definition(highlight.tags.variableName)], color: base06 },
|
|
277
|
+
// Constants and literals
|
|
278
|
+
{ tag: highlight.tags.number, color: base09 },
|
|
279
|
+
{ tag: highlight.tags.changed, color: base09 },
|
|
280
|
+
{ tag: highlight.tags.annotation, color: base0F, fontStyle: 'italic' },
|
|
281
|
+
{ tag: highlight.tags.modifier, color: base0F, fontStyle: 'italic' },
|
|
282
|
+
{ tag: highlight.tags.self, color: base09 },
|
|
283
|
+
{ tag: [highlight.tags.color, highlight.tags.constant(highlight.tags.name), highlight.tags.standard(highlight.tags.name)], color: base09 },
|
|
284
|
+
{ tag: [highlight.tags.atom, highlight.tags.bool, highlight.tags.special(highlight.tags.variableName)], color: base09 },
|
|
285
|
+
// Strings and regex
|
|
286
|
+
{ tag: [highlight.tags.processingInstruction, highlight.tags.inserted], color: base08 },
|
|
287
|
+
{ tag: [highlight.tags.special(highlight.tags.string), highlight.tags.regexp], color: base08 },
|
|
288
|
+
{ tag: highlight.tags.string, color: base08 },
|
|
289
|
+
// Punctuation and structure
|
|
290
|
+
{ tag: highlight.tags.definition(highlight.tags.typeName), color: base07, fontWeight: 'bold' },
|
|
291
|
+
// Comments and documentation
|
|
292
|
+
{ tag: highlight.tags.meta, color: base0A },
|
|
293
|
+
{ tag: highlight.tags.comment, fontStyle: 'italic', color: base0A },
|
|
294
|
+
{ tag: highlight.tags.docComment, fontStyle: 'italic', color: base0A },
|
|
295
|
+
// HTML/XML elements
|
|
296
|
+
{ tag: [highlight.tags.tagName], color: base0C },
|
|
297
|
+
{ tag: [highlight.tags.attributeName], color: base0F },
|
|
298
|
+
// Markdown and text formatting
|
|
299
|
+
{ tag: [highlight.tags.heading], fontWeight: 'bold', color: base0B },
|
|
300
|
+
{ tag: [highlight.tags.strong], fontWeight: 'bold', color: base09 },
|
|
301
|
+
{ tag: [highlight.tags.emphasis], fontStyle: 'italic', color: base0E },
|
|
302
|
+
// Links and URLs
|
|
303
|
+
{ tag: [highlight.tags.link], color: base0F, fontWeight: '500', textDecoration: 'underline', textUnderlinePosition: 'under' },
|
|
304
|
+
{
|
|
305
|
+
tag: [highlight.tags.url],
|
|
306
|
+
color: base0E,
|
|
307
|
+
textDecoration: 'underline',
|
|
308
|
+
textUnderlineOffset: '2px',
|
|
309
|
+
},
|
|
310
|
+
// Special states
|
|
311
|
+
{ tag: [highlight.tags.invalid], color: invalid, textDecoration: 'underline wavy' },
|
|
312
|
+
{ tag: [highlight.tags.strikethrough], color: invalid, textDecoration: 'line-through' },
|
|
313
|
+
// Enhanced syntax highlighting
|
|
314
|
+
{ tag: highlight.tags.constant(highlight.tags.name), color: base09 },
|
|
315
|
+
{ tag: highlight.tags.deleted, color: invalid },
|
|
316
|
+
{ tag: highlight.tags.squareBracket, color: base0D },
|
|
317
|
+
{ tag: highlight.tags.angleBracket, color: base0D },
|
|
127
318
|
]);
|
|
128
|
-
|
|
319
|
+
/**
|
|
320
|
+
* Combined Andromeda theme extension
|
|
321
|
+
*/
|
|
129
322
|
const andromeda = [
|
|
130
323
|
andromedaTheme,
|
|
131
324
|
language.syntaxHighlighting(andromedaHighlightStyle),
|
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '@codemirror/state';
|
|
2
2
|
import { HighlightStyle } from '@codemirror/language';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Enhanced editor theme styles for Andromeda
|
|
6
|
+
*/
|
|
4
7
|
declare const andromedaTheme: Extension;
|
|
8
|
+
/**
|
|
9
|
+
* Enhanced syntax highlighting for the Andromeda theme
|
|
10
|
+
*/
|
|
5
11
|
declare const andromedaHighlightStyle: HighlightStyle;
|
|
12
|
+
/**
|
|
13
|
+
* Combined Andromeda theme extension
|
|
14
|
+
*/
|
|
6
15
|
declare const andromeda: Extension;
|
|
7
16
|
|
|
8
17
|
export { andromeda, andromedaHighlightStyle, andromedaTheme };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Extension } from '@codemirror/state';
|
|
2
2
|
import { HighlightStyle } from '@codemirror/language';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Enhanced editor theme styles for Andromeda
|
|
6
|
+
*/
|
|
4
7
|
declare const andromedaTheme: Extension;
|
|
8
|
+
/**
|
|
9
|
+
* Enhanced syntax highlighting for the Andromeda theme
|
|
10
|
+
*/
|
|
5
11
|
declare const andromedaHighlightStyle: HighlightStyle;
|
|
12
|
+
/**
|
|
13
|
+
* Combined Andromeda theme extension
|
|
14
|
+
*/
|
|
6
15
|
declare const andromeda: Extension;
|
|
7
16
|
|
|
8
17
|
export { andromeda, andromedaHighlightStyle, andromedaTheme };
|
package/dist/index.js
CHANGED
|
@@ -1,73 +1,173 @@
|
|
|
1
1
|
import { EditorView } from '@codemirror/view';
|
|
2
2
|
import { HighlightStyle, syntaxHighlighting } from '@codemirror/language';
|
|
3
3
|
import { tags } from '@lezer/highlight';
|
|
4
|
+
import { generalScroller, generalPlaceholder, generalMatching, generalTooltip, generalGutter, generalLine, generalPanel, generalSearchField, generalCursor, generalContent } from '@utils';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Enhanced Andromeda theme color palette
|
|
8
|
+
* ------------------------------------------
|
|
9
|
+
* Colors refined for better contrast and visual hierarchy
|
|
10
|
+
*/
|
|
11
|
+
// Base colors
|
|
12
|
+
const base00 = '#1b1e26', // Background (slightly darker for better contrast)
|
|
13
|
+
base01 = '#e4dff0', // Foreground (slightly brighter for better readability)
|
|
14
|
+
base02 = '#db45a270', // Selection and Selection Match (reduced opacity)
|
|
9
15
|
base03 = '#2b303b', // Dropdown Background
|
|
10
|
-
base04 = '#
|
|
11
|
-
base05 = '#
|
|
12
|
-
base06 = '#
|
|
13
|
-
base07 = '#
|
|
14
|
-
base08 = '#
|
|
15
|
-
base09 = '#
|
|
16
|
-
base0A = '#
|
|
17
|
-
base0B = '#
|
|
18
|
-
base0C = '#
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
base04 = '#ffffff', // Cursor (pure white for better visibility)
|
|
17
|
+
base05 = '#d667ff', // Keyword, Storage (brighter purple)
|
|
18
|
+
base06 = '#24e3c3', // Variable, Parameter (slightly desaturated teal)
|
|
19
|
+
base07 = '#ffdd80', // Function, Type, Class (warmer yellow)
|
|
20
|
+
base08 = '#a6e07a', // String, RegExp (slightly muted green for better readability)
|
|
21
|
+
base09 = '#ff7057', // Constant, Number (brighter orange-red)
|
|
22
|
+
base0A = '#a8aab9', // Comment (higher contrast gray)
|
|
23
|
+
base0B = '#ff40b3', // Heading (slightly desaturated magenta)
|
|
24
|
+
base0C = '#fd3681', // Tag (adjusted pink)
|
|
25
|
+
base0D = '#c7c7ff', // New color for brackets/punctuation
|
|
26
|
+
base0E = '#6ae4b9', // New color for special elements
|
|
27
|
+
base0F = '#3c94ff', // New color for attributes and links
|
|
28
|
+
invalid = '#ff3162', // Invalid (more visible red)
|
|
29
|
+
// UI-specific colors
|
|
30
|
+
darkBackground = '#242830', selectionBackground = base02, selectionForeground = '#ffffff', highlightBackground = '#30343d40', tooltipBackground = '#1f232d', // Darker tooltip for better contrast
|
|
31
|
+
cursor = base04, activeBracketBg = '#db45a230', activeBracketBorder = base05;
|
|
32
|
+
/**
|
|
33
|
+
* Enhanced editor theme styles for Andromeda
|
|
34
|
+
*/
|
|
22
35
|
const andromedaTheme = /*@__PURE__*/EditorView.theme({
|
|
36
|
+
// Base editor styles
|
|
23
37
|
'&': {
|
|
24
38
|
color: base01,
|
|
25
39
|
backgroundColor: base00,
|
|
40
|
+
fontSize: generalContent.fontSize,
|
|
41
|
+
fontFamily: generalContent.fontFamily,
|
|
26
42
|
},
|
|
43
|
+
// Content and cursor
|
|
27
44
|
'.cm-content': {
|
|
28
45
|
caretColor: cursor,
|
|
46
|
+
lineHeight: generalContent.lineHeight,
|
|
29
47
|
},
|
|
30
|
-
'.cm-cursor, .cm-dropCursor': {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
'.cm-
|
|
48
|
+
'.cm-cursor, .cm-dropCursor': {
|
|
49
|
+
borderLeftColor: cursor,
|
|
50
|
+
borderLeftWidth: generalCursor.borderLeftWidth,
|
|
51
|
+
},
|
|
52
|
+
'.cm-fat-cursor': {
|
|
53
|
+
backgroundColor: `${cursor}99`,
|
|
54
|
+
color: base00,
|
|
55
|
+
},
|
|
56
|
+
// Selection
|
|
57
|
+
'&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
|
|
58
|
+
backgroundColor: selectionBackground,
|
|
59
|
+
color: selectionForeground,
|
|
60
|
+
},
|
|
61
|
+
// Make sure selection appears above active line
|
|
62
|
+
'.cm-selectionLayer': {
|
|
63
|
+
zIndex: 100,
|
|
64
|
+
},
|
|
65
|
+
// Search functionality
|
|
35
66
|
'.cm-searchMatch': {
|
|
36
|
-
backgroundColor:
|
|
37
|
-
outline: `1px solid ${
|
|
38
|
-
color:
|
|
67
|
+
backgroundColor: '#db45a230',
|
|
68
|
+
outline: `1px solid ${base05}30`,
|
|
69
|
+
color: base01,
|
|
70
|
+
borderRadius: generalSearchField.borderRadius,
|
|
71
|
+
'& span': {
|
|
72
|
+
color: base01,
|
|
73
|
+
},
|
|
39
74
|
},
|
|
40
75
|
'.cm-searchMatch.cm-searchMatch-selected': {
|
|
41
|
-
backgroundColor:
|
|
42
|
-
color:
|
|
76
|
+
backgroundColor: '#db45a280',
|
|
77
|
+
color: base01,
|
|
78
|
+
padding: generalSearchField.padding,
|
|
79
|
+
'& span': {
|
|
80
|
+
color: base01,
|
|
81
|
+
},
|
|
43
82
|
},
|
|
44
|
-
'.cm-search.cm-panel': {
|
|
83
|
+
'.cm-search.cm-panel.cm-textfield': {
|
|
45
84
|
color: base06,
|
|
85
|
+
borderRadius: generalSearchField.borderRadius,
|
|
86
|
+
padding: generalSearchField.padding,
|
|
46
87
|
},
|
|
47
|
-
|
|
48
|
-
'
|
|
49
|
-
|
|
88
|
+
// Panels
|
|
89
|
+
'.cm-panels': {
|
|
90
|
+
backgroundColor: darkBackground,
|
|
91
|
+
color: base06,
|
|
50
92
|
},
|
|
51
|
-
'
|
|
52
|
-
|
|
53
|
-
color: base07,
|
|
93
|
+
'.cm-panels.cm-panels-top': {
|
|
94
|
+
borderBottom: '1px solid #3a3e4c',
|
|
54
95
|
},
|
|
55
|
-
'.cm-
|
|
56
|
-
|
|
96
|
+
'.cm-panels.cm-panels-bottom': {
|
|
97
|
+
borderTop: '1px solid #3a3e4c',
|
|
98
|
+
},
|
|
99
|
+
'.cm-panel button': {
|
|
100
|
+
backgroundColor: darkBackground,
|
|
57
101
|
color: base06,
|
|
102
|
+
border: generalPanel.border,
|
|
103
|
+
borderRadius: generalPanel.borderRadius,
|
|
104
|
+
padding: generalPanel.padding,
|
|
105
|
+
},
|
|
106
|
+
'.cm-panel button:hover': {
|
|
107
|
+
backgroundColor: '#343946',
|
|
108
|
+
},
|
|
109
|
+
// Line highlighting
|
|
110
|
+
'.cm-activeLine': {
|
|
111
|
+
backgroundColor: highlightBackground,
|
|
112
|
+
borderRadius: generalLine.borderRadius,
|
|
113
|
+
zIndex: 1,
|
|
114
|
+
},
|
|
115
|
+
// Gutters
|
|
116
|
+
'.cm-gutters': {
|
|
58
117
|
backgroundColor: darkBackground,
|
|
118
|
+
color: '#748099',
|
|
119
|
+
border: generalGutter.border,
|
|
120
|
+
borderRight: '1px solid #33384550',
|
|
121
|
+
paddingRight: generalGutter.paddingRight,
|
|
59
122
|
},
|
|
60
123
|
'.cm-activeLineGutter': {
|
|
61
124
|
backgroundColor: highlightBackground,
|
|
125
|
+
color: base01,
|
|
126
|
+
fontWeight: generalGutter.fontWeight,
|
|
62
127
|
},
|
|
63
|
-
'.cm-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
128
|
+
'.cm-lineNumbers': {
|
|
129
|
+
fontSize: generalGutter.fontSize,
|
|
130
|
+
},
|
|
131
|
+
'.cm-foldGutter': {
|
|
132
|
+
fontSize: generalGutter.fontSize,
|
|
133
|
+
},
|
|
134
|
+
'.cm-foldGutter .cm-gutterElement': {
|
|
135
|
+
color: '#748099',
|
|
136
|
+
cursor: 'pointer',
|
|
67
137
|
},
|
|
138
|
+
'.cm-foldGutter .cm-gutterElement:hover': {
|
|
139
|
+
color: base01,
|
|
140
|
+
},
|
|
141
|
+
// Tooltips and autocomplete
|
|
68
142
|
'.cm-tooltip': {
|
|
69
|
-
border: 'none',
|
|
70
143
|
backgroundColor: tooltipBackground,
|
|
144
|
+
border: '1px solid #3a3e4c',
|
|
145
|
+
borderRadius: generalTooltip.borderRadius,
|
|
146
|
+
padding: generalTooltip.padding,
|
|
147
|
+
boxShadow: '0 2px 8px rgba(0, 0, 0, 0.3)',
|
|
148
|
+
},
|
|
149
|
+
'.cm-tooltip-autocomplete': {
|
|
150
|
+
'& > ul': {
|
|
151
|
+
backgroundColor: base03,
|
|
152
|
+
border: 'none',
|
|
153
|
+
},
|
|
154
|
+
'& > ul > li': {
|
|
155
|
+
padding: generalTooltip.padding,
|
|
156
|
+
lineHeight: generalTooltip.lineHeight,
|
|
157
|
+
},
|
|
158
|
+
'& > ul > li[aria-selected]': {
|
|
159
|
+
backgroundColor: '#db45a240',
|
|
160
|
+
color: base01,
|
|
161
|
+
borderRadius: generalTooltip.borderRadiusSelected,
|
|
162
|
+
},
|
|
163
|
+
'& > ul > li > span.cm-completionIcon': {
|
|
164
|
+
color: '#748099',
|
|
165
|
+
paddingRight: generalTooltip.paddingRight,
|
|
166
|
+
},
|
|
167
|
+
'& > ul > li > span.cm-completionDetail': {
|
|
168
|
+
color: '#748099',
|
|
169
|
+
fontStyle: 'italic',
|
|
170
|
+
},
|
|
71
171
|
},
|
|
72
172
|
'.cm-tooltip .cm-tooltip-arrow:before': {
|
|
73
173
|
borderTopColor: 'transparent',
|
|
@@ -77,53 +177,146 @@ const andromedaTheme = /*@__PURE__*/EditorView.theme({
|
|
|
77
177
|
borderTopColor: tooltipBackground,
|
|
78
178
|
borderBottomColor: tooltipBackground,
|
|
79
179
|
},
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
180
|
+
// Diagnostics styling
|
|
181
|
+
'.cm-diagnostic': {
|
|
182
|
+
'&-error': {
|
|
183
|
+
borderLeft: `3px solid ${invalid}`,
|
|
184
|
+
},
|
|
185
|
+
'&-warning': {
|
|
186
|
+
borderLeft: `3px solid ${base07}`,
|
|
187
|
+
},
|
|
188
|
+
'&-info': {
|
|
189
|
+
borderLeft: `3px solid ${base0F}`,
|
|
84
190
|
},
|
|
85
191
|
},
|
|
192
|
+
'.cm-lintPoint-error': {
|
|
193
|
+
borderBottom: `2px wavy ${invalid}`,
|
|
194
|
+
},
|
|
195
|
+
'.cm-lintPoint-warning': {
|
|
196
|
+
borderBottom: `2px wavy ${base07}`,
|
|
197
|
+
},
|
|
198
|
+
// Matching brackets
|
|
199
|
+
'.cm-matchingBracket': {
|
|
200
|
+
backgroundColor: activeBracketBg,
|
|
201
|
+
outline: `1px solid ${activeBracketBorder}50`,
|
|
202
|
+
borderRadius: generalMatching.borderRadius,
|
|
203
|
+
},
|
|
204
|
+
'.cm-nonmatchingBracket': {
|
|
205
|
+
backgroundColor: '#ff405030',
|
|
206
|
+
outline: `1px solid ${invalid}`,
|
|
207
|
+
borderRadius: generalMatching.borderRadius,
|
|
208
|
+
},
|
|
209
|
+
// Selection matches
|
|
210
|
+
'.cm-selectionMatch': {
|
|
211
|
+
backgroundColor: '#db45a240',
|
|
212
|
+
outline: `1px solid ${base05}50`,
|
|
213
|
+
borderRadius: generalMatching.borderRadius,
|
|
214
|
+
},
|
|
215
|
+
// Fold placeholder
|
|
216
|
+
'.cm-foldPlaceholder': {
|
|
217
|
+
backgroundColor: 'transparent',
|
|
218
|
+
color: base02,
|
|
219
|
+
border: `1px dotted ${base05}70`,
|
|
220
|
+
borderRadius: generalPlaceholder.borderRadius,
|
|
221
|
+
padding: generalPlaceholder.padding,
|
|
222
|
+
margin: generalPlaceholder.margin,
|
|
223
|
+
},
|
|
224
|
+
// Focus outline
|
|
225
|
+
'&.cm-focused': {
|
|
226
|
+
outline: 'none',
|
|
227
|
+
boxShadow: `0 0 0 2px ${base00}, 0 0 0 3px ${base05}40`,
|
|
228
|
+
},
|
|
229
|
+
// Scrollbars
|
|
230
|
+
'& .cm-scroller::-webkit-scrollbar': {
|
|
231
|
+
width: generalScroller.width,
|
|
232
|
+
height: generalScroller.height,
|
|
233
|
+
},
|
|
234
|
+
'& .cm-scroller::-webkit-scrollbar-track': {
|
|
235
|
+
background: darkBackground,
|
|
236
|
+
},
|
|
237
|
+
'& .cm-scroller::-webkit-scrollbar-thumb': {
|
|
238
|
+
backgroundColor: '#3b4151',
|
|
239
|
+
borderRadius: generalScroller.borderRadius,
|
|
240
|
+
border: `3px solid ${darkBackground}`,
|
|
241
|
+
},
|
|
242
|
+
'& .cm-scroller::-webkit-scrollbar-thumb:hover': {
|
|
243
|
+
backgroundColor: '#4e5568',
|
|
244
|
+
},
|
|
245
|
+
// Ghost text
|
|
246
|
+
'.cm-ghostText': {
|
|
247
|
+
opacity: '0.5',
|
|
248
|
+
color: '#a8aab9',
|
|
249
|
+
},
|
|
86
250
|
}, { dark: true });
|
|
87
|
-
|
|
251
|
+
/**
|
|
252
|
+
* Enhanced syntax highlighting for the Andromeda theme
|
|
253
|
+
*/
|
|
88
254
|
const andromedaHighlightStyle = /*@__PURE__*/HighlightStyle.define([
|
|
89
|
-
|
|
90
|
-
{ tag:
|
|
255
|
+
// Keywords and control flow
|
|
256
|
+
{ tag: tags.keyword, color: base05, fontWeight: 'bold' },
|
|
257
|
+
{ tag: tags.controlKeyword, color: base05, fontWeight: 'bold' },
|
|
258
|
+
{ tag: tags.moduleKeyword, color: base05, fontWeight: 'bold' },
|
|
259
|
+
// Names and variables
|
|
260
|
+
{ tag: [tags.name, tags.deleted, tags.character, tags.macroName], color: base06 },
|
|
91
261
|
{ tag: [tags.variableName], color: base06 },
|
|
92
|
-
{ tag: [
|
|
93
|
-
|
|
94
|
-
{ tag: [tags.
|
|
95
|
-
{ tag: [
|
|
96
|
-
{ tag: [tags.
|
|
97
|
-
|
|
98
|
-
{ tag: [tags.
|
|
99
|
-
{ tag: [tags.
|
|
100
|
-
{ tag: [tags.
|
|
101
|
-
{ tag: [tags.
|
|
102
|
-
|
|
103
|
-
{ tag: [tags.
|
|
104
|
-
{ tag: [tags.
|
|
105
|
-
|
|
106
|
-
{ tag:
|
|
107
|
-
{ tag:
|
|
108
|
-
{ tag: tags.
|
|
109
|
-
{ tag:
|
|
110
|
-
{ tag:
|
|
111
|
-
{ tag: [tags.
|
|
112
|
-
{ tag: tags.
|
|
113
|
-
|
|
114
|
-
{ tag: tags.
|
|
115
|
-
{ tag: tags.
|
|
116
|
-
{ tag: tags.
|
|
117
|
-
|
|
118
|
-
{ tag: tags.
|
|
119
|
-
|
|
120
|
-
{ tag:
|
|
121
|
-
{ tag:
|
|
122
|
-
{ tag:
|
|
123
|
-
|
|
124
|
-
{ tag: tags.
|
|
262
|
+
{ tag: [tags.propertyName], color: base06, fontStyle: 'normal' },
|
|
263
|
+
// Classes and types
|
|
264
|
+
{ tag: [tags.typeName], color: base07 },
|
|
265
|
+
{ tag: [tags.className], color: base07, fontStyle: 'italic' },
|
|
266
|
+
{ tag: [tags.namespace], color: base0E, fontStyle: 'italic' },
|
|
267
|
+
// Operators and punctuation
|
|
268
|
+
{ tag: [tags.operator, tags.operatorKeyword], color: base0D },
|
|
269
|
+
{ tag: [tags.bracket], color: base0D },
|
|
270
|
+
{ tag: [tags.brace], color: base0D },
|
|
271
|
+
{ tag: [tags.punctuation], color: base0D },
|
|
272
|
+
// Functions and parameters
|
|
273
|
+
{ tag: [/*@__PURE__*/tags.function(tags.variableName), tags.labelName], color: base07 },
|
|
274
|
+
{ tag: [/*@__PURE__*/tags.definition(tags.variableName)], color: base06 },
|
|
275
|
+
// Constants and literals
|
|
276
|
+
{ tag: tags.number, color: base09 },
|
|
277
|
+
{ tag: tags.changed, color: base09 },
|
|
278
|
+
{ tag: tags.annotation, color: base0F, fontStyle: 'italic' },
|
|
279
|
+
{ tag: tags.modifier, color: base0F, fontStyle: 'italic' },
|
|
280
|
+
{ tag: tags.self, color: base09 },
|
|
281
|
+
{ tag: [tags.color, /*@__PURE__*/tags.constant(tags.name), /*@__PURE__*/tags.standard(tags.name)], color: base09 },
|
|
282
|
+
{ tag: [tags.atom, tags.bool, /*@__PURE__*/tags.special(tags.variableName)], color: base09 },
|
|
283
|
+
// Strings and regex
|
|
284
|
+
{ tag: [tags.processingInstruction, tags.inserted], color: base08 },
|
|
285
|
+
{ tag: [/*@__PURE__*/tags.special(tags.string), tags.regexp], color: base08 },
|
|
286
|
+
{ tag: tags.string, color: base08 },
|
|
287
|
+
// Punctuation and structure
|
|
288
|
+
{ tag: /*@__PURE__*/tags.definition(tags.typeName), color: base07, fontWeight: 'bold' },
|
|
289
|
+
// Comments and documentation
|
|
290
|
+
{ tag: tags.meta, color: base0A },
|
|
291
|
+
{ tag: tags.comment, fontStyle: 'italic', color: base0A },
|
|
292
|
+
{ tag: tags.docComment, fontStyle: 'italic', color: base0A },
|
|
293
|
+
// HTML/XML elements
|
|
294
|
+
{ tag: [tags.tagName], color: base0C },
|
|
295
|
+
{ tag: [tags.attributeName], color: base0F },
|
|
296
|
+
// Markdown and text formatting
|
|
297
|
+
{ tag: [tags.heading], fontWeight: 'bold', color: base0B },
|
|
298
|
+
{ tag: [tags.strong], fontWeight: 'bold', color: base09 },
|
|
299
|
+
{ tag: [tags.emphasis], fontStyle: 'italic', color: base0E },
|
|
300
|
+
// Links and URLs
|
|
301
|
+
{ tag: [tags.link], color: base0F, fontWeight: '500', textDecoration: 'underline', textUnderlinePosition: 'under' },
|
|
302
|
+
{
|
|
303
|
+
tag: [tags.url],
|
|
304
|
+
color: base0E,
|
|
305
|
+
textDecoration: 'underline',
|
|
306
|
+
textUnderlineOffset: '2px',
|
|
307
|
+
},
|
|
308
|
+
// Special states
|
|
309
|
+
{ tag: [tags.invalid], color: invalid, textDecoration: 'underline wavy' },
|
|
310
|
+
{ tag: [tags.strikethrough], color: invalid, textDecoration: 'line-through' },
|
|
311
|
+
// Enhanced syntax highlighting
|
|
312
|
+
{ tag: /*@__PURE__*/tags.constant(tags.name), color: base09 },
|
|
313
|
+
{ tag: tags.deleted, color: invalid },
|
|
314
|
+
{ tag: tags.squareBracket, color: base0D },
|
|
315
|
+
{ tag: tags.angleBracket, color: base0D },
|
|
125
316
|
]);
|
|
126
|
-
|
|
317
|
+
/**
|
|
318
|
+
* Combined Andromeda theme extension
|
|
319
|
+
*/
|
|
127
320
|
const andromeda = [
|
|
128
321
|
andromedaTheme,
|
|
129
322
|
/*@__PURE__*/syntaxHighlighting(andromedaHighlightStyle),
|