Skip to content

Commit 54ee05f

Browse files
committedAug 29, 2023
feat(theme): add white theme.
1 parent b3ee803 commit 54ee05f

24 files changed

+909
-0
lines changed
 

‎.github/workflows/ci.yml

+14
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,13 @@ jobs:
299299
env:
300300
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
301301

302+
- name: 📦 @uiw/codemirror-theme-copilot publish to NPM
303+
run: npm publish --access public
304+
working-directory: ./themes/copilot/
305+
continue-on-error: true
306+
env:
307+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
308+
302309
- name: 📦 @uiw/codemirror-theme-sublime publish to NPM
303310
run: npm publish --access public
304311
working-directory: ./themes/sublime/
@@ -341,6 +348,13 @@ jobs:
341348
env:
342349
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
343350

351+
- name: 📦 @uiw/codemirror-theme-white publish to NPM
352+
run: npm publish --access public
353+
working-directory: ./themes/white/
354+
continue-on-error: true
355+
env:
356+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
357+
344358
- name: 📦 @uiw/codemirror-theme-xcode publish to NPM
345359
run: npm publish --access public
346360
working-directory: ./themes/xcode/

‎core/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ npm install @uiw/react-codemirror --save
8787
| `@uiw/codemirror-theme-tokyo-night-storm` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-storm.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-storm) |
8888
| `@uiw/codemirror-theme-tokyo-night-day` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-day.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-day) |
8989
| `@uiw/codemirror-theme-vscode` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-vscode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/vscode) |
90+
| `@uiw/codemirror-theme-white` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-white.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-white) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-white.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-white) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/white/light) |
9091
| `@uiw/codemirror-theme-tomorrow-night-blue` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tomorrow-night-blue.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tomorrow-night-blue.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/tomorrow-night-blue) |
9192
| `@uiw/codemirror-theme-xcode` | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-xcode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) | [`#preview`](https://uiwjs.github.io/react-codemirror/#/theme/data/xcode) |
9293

‎themes/_scripts/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@ Not perfect themes for [cm6](https://github.com/codemirror/dev/), generated from
1414
- [theme-solarized-light](https://github.com/microsoft/vscode/tree/main/extensions/theme-solarized-light)
1515
- [theme-tomorrow-night-blue](https://github.com/microsoft/vscode/tree/main/extensions/theme-tomorrow-night-blue)
1616
- [Andromeda](https://github.com/EliverLara/Andromeda/blob/master/themes/Andromeda-color-theme.json)
17+
- [Copilot](https://github.com/benjaminbenais/copilot-theme/blob/main/themes/Copilot%20Theme-color-theme.json)
18+
- [White](https://github.com/xthezealot/white-theme-vscode/tree/master/themes)

‎themes/_scripts/data/white.dark.json

+220
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
{
2+
"colors": {
3+
"activityBar.background": "#000",
4+
"activityBar.border": "#0000",
5+
"activityBar.foreground": "#2e2e37",
6+
"activityBarBadge.background": "#fff",
7+
"activityBarBadge.foreground": "#000",
8+
"badge.background": "#fff",
9+
"badge.foreground": "#000",
10+
"button.background": "#7d46fc",
11+
"button.foreground": "#fff",
12+
"contrastBorder": "#0000",
13+
"debugToolBar.background": "#0a0b0f",
14+
"diffEditor.insertedTextBackground": "#00ff6833",
15+
"diffEditor.removedTextBackground": "#ff003233",
16+
"dropdown.background": "#0a0b0f",
17+
"dropdown.border": "#1e1d27",
18+
"dropdown.foreground": "#fff",
19+
"editor.background": "#000",
20+
"editor.findMatchBackground": "#ffca0099",
21+
"editor.findMatchHighlightBackground": "#ffca004c",
22+
"editor.focusedStackFrameHighlightBackground": "#f909",
23+
"editor.foreground": "#fff",
24+
"editor.lineHighlightBackground": "#7d46fc14",
25+
"editor.lineHighlightBorder": "#0000",
26+
"editor.selectionBackground": "#7d46fc7f",
27+
"editor.selectionForeground": "#000",
28+
"editor.selectionHighlightBorder": "#7d46fc3f",
29+
"editor.stackFrameHighlightBackground": "#ff99004c",
30+
"editor.wordHighlightBackground": "#7d46fc3f",
31+
"editor.wordHighlightStrongBackground": "#7d46fc7f",
32+
"editorBracketMatch.background": "#7d46fc7f",
33+
"editorBracketMatch.border": "#0000",
34+
"editorCursor.foreground": "#7d46fc",
35+
"editorError.foreground": "#ff0032",
36+
"editorGroup.border": "#0a0b0f",
37+
"editorGroupHeader.tabsBackground": "#000",
38+
"editorGroupHeader.tabsBorder": "#0000",
39+
"editorGutter.addedBackground": "#00ff68",
40+
"editorGutter.deletedBackground": "#ff0032",
41+
"editorGutter.modifiedBackground": "#fff",
42+
"editorIndentGuide.background": "#0a0b0f",
43+
"editorLineNumber.activeForeground": "#2e2e37",
44+
"editorLineNumber.foreground": "#1e1d27",
45+
"editorLink.activeForeground": "#7d46fc",
46+
"editorOverviewRuler.addedForeground": "#0000",
47+
"editorOverviewRuler.border": "#0000",
48+
"editorOverviewRuler.bracketMatchForeground": "#7d46fc7f",
49+
"editorOverviewRuler.errorForeground": "#ff0032",
50+
"editorOverviewRuler.findMatchForeground": "#ffca0099",
51+
"editorOverviewRuler.modifiedForeground": "#fff",
52+
"editorOverviewRuler.selectionHighlightForeground": "#7d46fc7f",
53+
"editorOverviewRuler.warningForeground": "#f90",
54+
"editorOverviewRuler.wordHighlightForeground": "#7d46fc3f",
55+
"editorOverviewRuler.wordHighlightStrongForeground": "#7d46fc7f",
56+
"editorRuler.foreground": "#0a0b0f",
57+
"editorSuggestWidget.foreground": "#fff",
58+
"editorWarning.foreground": "#f90",
59+
"editorWidget.background": "#0a0b0f",
60+
"editorWidget.border": "#1e1d27",
61+
"errorForeground": "#ff0032",
62+
"extensionButton.prominentBackground": "#7d46fc",
63+
"extensionButton.prominentForeground": "#fff",
64+
"extensionButton.prominentHoverBackground": "#7d46fc",
65+
"focusBorder": "#1e1d27",
66+
"foreground": "#fff",
67+
"gitDecoration.ignoredResourceForeground": "#2e2e37",
68+
"gitDecoration.modifiedResourceForeground": "#fff",
69+
"gitDecoration.untrackedResourceForeground": "#fff",
70+
"input.background": "#0a0b0f",
71+
"input.border": "#1e1d27",
72+
"input.foreground": "#fff",
73+
"input.placeholderForeground": "#2e2e37",
74+
"list.activeSelectionBackground": "#fff",
75+
"list.activeSelectionForeground": "#000",
76+
"list.dropBackground": "#7d46fc7f",
77+
"list.focusBackground": "#7d46fc3f",
78+
"list.focusForeground": "#fff",
79+
"list.highlightForeground": "#fff",
80+
"list.hoverBackground": "#0a0b0f",
81+
"list.inactiveSelectionBackground": "#0a0b0f",
82+
"list.inactiveSelectionForeground": "#fff",
83+
"panel.background": "#0a0b0f",
84+
"panel.border": "#0000",
85+
"panelTitle.activeBorder": "#2e2e37",
86+
"peekView.border": "#fff",
87+
"peekViewEditor.background": "#0000",
88+
"peekViewEditor.matchHighlightBackground": "#ffca0099",
89+
"peekViewResult.background": "#0000",
90+
"peekViewResult.fileForeground": "#a8a8b1",
91+
"peekViewResult.lineForeground": "#a8a8b1",
92+
"peekViewResult.matchHighlightBackground": "#ffca0099",
93+
"peekViewResult.selectionBackground": "#fff",
94+
"peekViewResult.selectionForeground": "#000",
95+
"peekViewTitle.background": "#0000",
96+
"peekViewTitleDescription.foreground": "#2e2e37",
97+
"peekViewTitleLabel.foreground": "#fff",
98+
"progressBar.background": "#7d46fc",
99+
"scrollbar.shadow": "#0000",
100+
"scrollbarSlider.background": "#616a9319",
101+
"scrollbarSlider.hoverBackground": "#fff",
102+
"sideBar.background": "#000",
103+
"sideBar.foreground": "#a8a8b1",
104+
"sideBarSectionHeader.background": "#0a0b0f",
105+
"sideBarSectionHeader.foreground": "#a8a8b1",
106+
"sideBarTitle.foreground": "#2e2e37",
107+
"statusBar.background": "#000",
108+
"statusBar.debuggingBackground": "#f90",
109+
"statusBar.debuggingForeground": "#000",
110+
"statusBar.foreground": "#2e2e37",
111+
"statusBar.noFolderBackground": "#000",
112+
"tab.activeBackground": "#fff",
113+
"tab.activeForeground": "#000",
114+
"tab.activeModifiedBorder": "#0000",
115+
"tab.border": "#0000",
116+
"tab.inactiveBackground": "#0000",
117+
"tab.inactiveForeground": "#2e2e37",
118+
"tab.inactiveModifiedBorder": "#fff",
119+
"terminal.ansiBlack": "#fff",
120+
"terminal.ansiBlue": "#004bff",
121+
"terminal.ansiBrightBlack": "#fff",
122+
"terminal.ansiBrightBlue": "#004bff",
123+
"terminal.ansiBrightCyan": "#00d2ff",
124+
"terminal.ansiBrightGreen": "#00ff68",
125+
"terminal.ansiBrightMagenta": "#7d46fc",
126+
"terminal.ansiBrightRed": "#ff0032",
127+
"terminal.ansiBrightWhite": "#fff",
128+
"terminal.ansiBrightYellow": "#ffca00",
129+
"terminal.ansiCyan": "#00d2ff",
130+
"terminal.ansiGreen": "#00ff68",
131+
"terminal.ansiMagenta": "#7d46fc",
132+
"terminal.ansiRed": "#ff0032",
133+
"terminal.ansiWhite": "#fff",
134+
"terminal.ansiYellow": "#ffca00",
135+
"terminal.foreground": "#fff",
136+
"terminal.selectionBackground": "#7d46fc7f",
137+
"terminalCursor.foreground": "#7d46fc",
138+
"textLink.activeForeground": "#7d46fc",
139+
"textLink.foreground": "#7d46fc",
140+
"titleBar.activeBackground": "#000",
141+
"titleBar.activeForeground": "#a8a8b1",
142+
"titleBar.inactiveBackground": "#000",
143+
"titleBar.inactiveForeground": "#2e2e37",
144+
"welcomePage.buttonBackground": "#0a0b0f",
145+
"welcomePage.buttonHoverBackground": "#7d46fc3f",
146+
"widget.shadow": "#0000"
147+
},
148+
"tokenColors": [
149+
{
150+
"scope": ["comment", "string.quoted.docstring"],
151+
"settings": {
152+
"foreground": "#2e2e37"
153+
}
154+
},
155+
{
156+
"scope": ["string"],
157+
"settings": {
158+
"foreground": "#a8a8b1"
159+
}
160+
},
161+
{
162+
"scope": ["punctuation.definition.string", "storage.type.string.python"],
163+
"settings": {
164+
"foreground": "#fff"
165+
}
166+
},
167+
{
168+
"scope": [
169+
"beginning.punctuation",
170+
"entity.name.section.group-title",
171+
"entity.name.tag",
172+
"entity.other.attribute-name.class",
173+
"entity.other.attribute-name.id",
174+
"keyword.const",
175+
"keyword.control",
176+
"keyword.function",
177+
"keyword.import",
178+
"keyword.operator.assignment",
179+
"keyword.operator.comparison",
180+
"keyword.operator.decrement",
181+
"keyword.operator.expression",
182+
"keyword.operator.increment",
183+
"keyword.operator.increment-decrement",
184+
"keyword.operator.logical",
185+
"keyword.operator.misc",
186+
"keyword.operator.new",
187+
"keyword.operator.other",
188+
"keyword.operator.ternary",
189+
"keyword.other.fn",
190+
"keyword.other.rust",
191+
"keyword.other.special-method",
192+
"keyword.other.where",
193+
"keyword.package",
194+
"keyword.type",
195+
"keyword.var",
196+
"markup.heading",
197+
"meta.tag.sgml.doctype.html",
198+
"punctuation.separator.key-value",
199+
"storage.modifier",
200+
"storage.type.class",
201+
"storage.type.enum",
202+
"storage.type.function",
203+
"storage.type.import",
204+
"storage.type.interface",
205+
"storage.type.js",
206+
"storage.type.namespace",
207+
"storage.type.property",
208+
"storage.type.rust",
209+
"storage.type.string.python",
210+
"storage.type.ts",
211+
"storage.type.tsx",
212+
"storage.type.type",
213+
"support.type.object.module"
214+
],
215+
"settings": {
216+
"fontStyle": "bold"
217+
}
218+
}
219+
]
220+
}

‎themes/_scripts/data/white.light.json

+220
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
{
2+
"colors": {
3+
"activityBar.background": "#fff",
4+
"activityBar.border": "#0000",
5+
"activityBar.foreground": "#bec9d3",
6+
"activityBarBadge.background": "#000",
7+
"activityBarBadge.foreground": "#fff",
8+
"badge.background": "#000",
9+
"badge.foreground": "#fff",
10+
"button.background": "#004bff",
11+
"button.foreground": "#fff",
12+
"contrastBorder": "#0000",
13+
"debugToolBar.background": "#f4f6fc",
14+
"diffEditor.insertedTextBackground": "#00ff6819",
15+
"diffEditor.removedTextBackground": "#ff003219",
16+
"dropdown.background": "#f4f6fc",
17+
"dropdown.border": "#e7ecf2",
18+
"dropdown.foreground": "#000",
19+
"editor.background": "#fff",
20+
"editor.findMatchBackground": "#ffca0099",
21+
"editor.findMatchHighlightBackground": "#ffca004c",
22+
"editor.focusedStackFrameHighlightBackground": "#f909",
23+
"editor.foreground": "#000",
24+
"editor.lineHighlightBackground": "#0064ff0c",
25+
"editor.lineHighlightBorder": "#0000",
26+
"editor.selectionBackground": "#0064ff4c",
27+
"editor.selectionForeground": "#fff",
28+
"editor.selectionHighlightBorder": "#0000",
29+
"editor.stackFrameHighlightBackground": "#ff99004c",
30+
"editor.wordHighlightBackground": "#0064ff26",
31+
"editor.wordHighlightStrongBackground": "#0064ff4c",
32+
"editorBracketMatch.background": "#0064ff4c",
33+
"editorBracketMatch.border": "#0000",
34+
"editorCursor.foreground": "#004bff",
35+
"editorError.foreground": "#ff0032",
36+
"editorGroup.border": "#f4f6fc",
37+
"editorGroupHeader.tabsBackground": "#fff",
38+
"editorGroupHeader.tabsBorder": "#0000",
39+
"editorGutter.addedBackground": "#00ff68",
40+
"editorGutter.deletedBackground": "#ff0032",
41+
"editorGutter.modifiedBackground": "#000",
42+
"editorIndentGuide.background": "#f4f6fc",
43+
"editorLineNumber.activeForeground": "#bec9d3",
44+
"editorLineNumber.foreground": "#ebf0f5",
45+
"editorLink.activeForeground": "#004bff",
46+
"editorOverviewRuler.addedForeground": "#0000",
47+
"editorOverviewRuler.border": "#0000",
48+
"editorOverviewRuler.bracketMatchForeground": "#0064ff4c",
49+
"editorOverviewRuler.errorForeground": "#ff0032",
50+
"editorOverviewRuler.findMatchForeground": "#ffca0099",
51+
"editorOverviewRuler.modifiedForeground": "#000",
52+
"editorOverviewRuler.selectionHighlightForeground": "#0064ff4c",
53+
"editorOverviewRuler.warningForeground": "#f90",
54+
"editorOverviewRuler.wordHighlightForeground": "#0064ff26",
55+
"editorOverviewRuler.wordHighlightStrongForeground": "#0064ff4c",
56+
"editorRuler.foreground": "#f4f6fc",
57+
"editorSuggestWidget.foreground": "#000",
58+
"editorWarning.foreground": "#f90",
59+
"editorWidget.background": "#f4f6fc",
60+
"editorWidget.border": "#e7ecf2",
61+
"errorForeground": "#ff0032",
62+
"extensionButton.prominentBackground": "#004bff",
63+
"extensionButton.prominentForeground": "#fff",
64+
"extensionButton.prominentHoverBackground": "#004bff",
65+
"focusBorder": "#e7ecf2",
66+
"foreground": "#000",
67+
"gitDecoration.ignoredResourceForeground": "#bec9d3",
68+
"gitDecoration.modifiedResourceForeground": "#000",
69+
"gitDecoration.untrackedResourceForeground": "#000",
70+
"input.background": "#f4f6fc",
71+
"input.border": "#e7ecf2",
72+
"input.foreground": "#000",
73+
"input.placeholderForeground": "#bec9d3",
74+
"list.activeSelectionBackground": "#000",
75+
"list.activeSelectionForeground": "#fff",
76+
"list.dropBackground": "#0064ff4c",
77+
"list.focusBackground": "#0064ff26",
78+
"list.focusForeground": "#000",
79+
"list.highlightForeground": "#000",
80+
"list.hoverBackground": "#f4f6fc",
81+
"list.inactiveSelectionBackground": "#f4f6fc",
82+
"list.inactiveSelectionForeground": "#000",
83+
"panel.background": "#f4f6fc",
84+
"panel.border": "#0000",
85+
"panelTitle.activeBorder": "#bec9d3",
86+
"peekView.border": "#000",
87+
"peekViewEditor.background": "#0000",
88+
"peekViewEditor.matchHighlightBackground": "#ffca0099",
89+
"peekViewResult.background": "#0000",
90+
"peekViewResult.fileForeground": "#6b7a88",
91+
"peekViewResult.lineForeground": "#6b7a88",
92+
"peekViewResult.matchHighlightBackground": "#ffca0099",
93+
"peekViewResult.selectionBackground": "#000",
94+
"peekViewResult.selectionForeground": "#fff",
95+
"peekViewTitle.background": "#0000",
96+
"peekViewTitleDescription.foreground": "#bec9d3",
97+
"peekViewTitleLabel.foreground": "#000",
98+
"progressBar.background": "#004bff",
99+
"scrollbar.shadow": "#0000",
100+
"scrollbarSlider.background": "#99a7e119",
101+
"scrollbarSlider.hoverBackground": "#000",
102+
"sideBar.background": "#fff",
103+
"sideBar.foreground": "#6b7a88",
104+
"sideBarSectionHeader.background": "#f4f6fc",
105+
"sideBarSectionHeader.foreground": "#6b7a88",
106+
"sideBarTitle.foreground": "#bec9d3",
107+
"statusBar.background": "#000",
108+
"statusBar.debuggingBackground": "#f90",
109+
"statusBar.debuggingForeground": "#000",
110+
"statusBar.foreground": "#65696e",
111+
"statusBar.noFolderBackground": "#000",
112+
"tab.activeBackground": "#000",
113+
"tab.activeForeground": "#fff",
114+
"tab.activeModifiedBorder": "#0000",
115+
"tab.border": "#0000",
116+
"tab.inactiveBackground": "#0000",
117+
"tab.inactiveForeground": "#bec9d3",
118+
"tab.inactiveModifiedBorder": "#000",
119+
"terminal.ansiBlack": "#000",
120+
"terminal.ansiBlue": "#004bff",
121+
"terminal.ansiBrightBlack": "#000",
122+
"terminal.ansiBrightBlue": "#004bff",
123+
"terminal.ansiBrightCyan": "#00d2ff",
124+
"terminal.ansiBrightGreen": "#00ff68",
125+
"terminal.ansiBrightMagenta": "#7d46fc",
126+
"terminal.ansiBrightRed": "#ff0032",
127+
"terminal.ansiBrightWhite": "#fff",
128+
"terminal.ansiBrightYellow": "#ffca00",
129+
"terminal.ansiCyan": "#00d2ff",
130+
"terminal.ansiGreen": "#00ff68",
131+
"terminal.ansiMagenta": "#7d46fc",
132+
"terminal.ansiRed": "#ff0032",
133+
"terminal.ansiWhite": "#fff",
134+
"terminal.ansiYellow": "#ffca00",
135+
"terminal.foreground": "#000",
136+
"terminal.selectionBackground": "#0064ff4c",
137+
"terminalCursor.foreground": "#004bff",
138+
"textLink.activeForeground": "#004bff",
139+
"textLink.foreground": "#004bff",
140+
"titleBar.activeBackground": "#fff",
141+
"titleBar.activeForeground": "#6b7a88",
142+
"titleBar.inactiveBackground": "#fff",
143+
"titleBar.inactiveForeground": "#bec9d3",
144+
"welcomePage.buttonBackground": "#f4f6fc",
145+
"welcomePage.buttonHoverBackground": "#0064ff26",
146+
"widget.shadow": "#0000"
147+
},
148+
"tokenColors": [
149+
{
150+
"scope": ["comment", "string.quoted.docstring"],
151+
"settings": {
152+
"foreground": "#bec9d3"
153+
}
154+
},
155+
{
156+
"scope": ["string"],
157+
"settings": {
158+
"foreground": "#6b7a88"
159+
}
160+
},
161+
{
162+
"scope": ["punctuation.definition.string", "storage.type.string.python"],
163+
"settings": {
164+
"foreground": "#000"
165+
}
166+
},
167+
{
168+
"scope": [
169+
"beginning.punctuation",
170+
"entity.name.section.group-title",
171+
"entity.name.tag",
172+
"entity.other.attribute-name.class",
173+
"entity.other.attribute-name.id",
174+
"keyword.const",
175+
"keyword.control",
176+
"keyword.function",
177+
"keyword.import",
178+
"keyword.operator.assignment",
179+
"keyword.operator.comparison",
180+
"keyword.operator.decrement",
181+
"keyword.operator.expression",
182+
"keyword.operator.increment",
183+
"keyword.operator.increment-decrement",
184+
"keyword.operator.logical",
185+
"keyword.operator.misc",
186+
"keyword.operator.new",
187+
"keyword.operator.other",
188+
"keyword.operator.ternary",
189+
"keyword.other.fn",
190+
"keyword.other.rust",
191+
"keyword.other.special-method",
192+
"keyword.other.where",
193+
"keyword.package",
194+
"keyword.type",
195+
"keyword.var",
196+
"markup.heading",
197+
"meta.tag.sgml.doctype.html",
198+
"punctuation.separator.key-value",
199+
"storage.modifier",
200+
"storage.type.class",
201+
"storage.type.enum",
202+
"storage.type.function",
203+
"storage.type.import",
204+
"storage.type.interface",
205+
"storage.type.js",
206+
"storage.type.namespace",
207+
"storage.type.property",
208+
"storage.type.rust",
209+
"storage.type.string.python",
210+
"storage.type.ts",
211+
"storage.type.tsx",
212+
"storage.type.type",
213+
"support.type.object.module"
214+
],
215+
"settings": {
216+
"fontStyle": "bold"
217+
}
218+
}
219+
]
220+
}

‎themes/_scripts/main.mjs

+10
Original file line numberDiff line numberDiff line change
@@ -154,5 +154,15 @@ const getString = (obj) => `export const config = ${JSON.stringify(obj, null, 2)
154154
themePath = '../copilot/src/color.ts';
155155
await FS.writeFile(themePath, getString(copilot));
156156
console.log(`🎉 File \x1b[32;1m${themePath}\x1b[0m created.`);
157+
158+
const whiteDark = format(require('./data/white.dark.json'));
159+
themePath = '../white/src/dark-color.ts';
160+
await FS.writeFile(themePath, getString(whiteDark));
161+
console.log(`🎉 File \x1b[32;1m${themePath}\x1b[0m created.`);
162+
163+
const whiteLight = format(require('./data/white.light.json'));
164+
themePath = '../white/src/light-color.ts';
165+
await FS.writeFile(themePath, getString(whiteLight));
166+
console.log(`🎉 File \x1b[32;1m${themePath}\x1b[0m created.`);
157167

158168
})()

‎themes/all/README.md

+14
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,13 @@ const view = new EditorView({
6464
export * from '@uiw/codemirror-theme-abcdef';
6565
export * from '@uiw/codemirror-theme-abyss';
6666
export * from '@uiw/codemirror-theme-androidstudio';
67+
export * from '@uiw/codemirror-theme-andromeda';
6768
export * from '@uiw/codemirror-theme-atomone';
6869
export * from '@uiw/codemirror-theme-aura';
70+
export * from '@uiw/codemirror-theme-basic';
6971
export * from '@uiw/codemirror-theme-bbedit';
7072
export * from '@uiw/codemirror-theme-bespin';
73+
export * from '@uiw/codemirror-theme-copilot';
7174
export * from '@uiw/codemirror-theme-darcula';
7275
export * from '@uiw/codemirror-theme-dracula';
7376
export * from '@uiw/codemirror-theme-duotone';
@@ -90,6 +93,7 @@ export * from '@uiw/codemirror-theme-tokyo-night-storm';
9093
export * from '@uiw/codemirror-theme-tokyo-night-day';
9194
export * from '@uiw/codemirror-theme-tomorrow-night-blue';
9295
export * from '@uiw/codemirror-theme-vscode';
96+
export * from '@uiw/codemirror-theme-white';
9397
export * from '@uiw/codemirror-theme-xcode';
9498
```
9599

@@ -311,6 +315,16 @@ export * from '@uiw/codemirror-theme-xcode';
311315
<img width="436" alt="codemirror-theme-vscode dark" src="https://user-images.githubusercontent.com/1680273/202690670-385808e2-6346-4e36-a3d6-6d9fc1f216dc.png">
312316
</a>
313317

318+
### white
319+
320+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/white/dark">
321+
<img width="436" alt="codemirror-theme-white" src="https://github.com/uiwjs/react-codemirror/assets/1680273/dc3227c3-66c8-4df2-bc6b-efb7849fbaf2">
322+
</a>
323+
324+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/white/light">
325+
<img width="436" alt="codemirror-theme-white" src="https://github.com/uiwjs/react-codemirror/assets/1680273/c3954eba-b7ca-4293-b6f3-853ab988b38e">
326+
</a>
327+
314328
### xcode
315329

316330
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/xcode/dark">

‎themes/all/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"@uiw/codemirror-theme-tokyo-night-storm": "4.21.11",
5454
"@uiw/codemirror-theme-tomorrow-night-blue": "4.21.11",
5555
"@uiw/codemirror-theme-vscode": "4.21.11",
56+
"@uiw/codemirror-theme-white": "4.21.11",
5657
"@uiw/codemirror-theme-xcode": "4.21.11",
5758
"@uiw/codemirror-themes": "4.21.11"
5859
},

‎themes/all/src/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,5 @@ export * from '@uiw/codemirror-theme-tokyo-night-storm';
3030
export * from '@uiw/codemirror-theme-tokyo-night-day';
3131
export * from '@uiw/codemirror-theme-tomorrow-night-blue';
3232
export * from '@uiw/codemirror-theme-vscode';
33+
export * from '@uiw/codemirror-theme-white';
3334
export * from '@uiw/codemirror-theme-xcode';

‎themes/copilot/src/dark-color.ts

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export const config = {
2+
background: '#000',
3+
foreground: '#fff',
4+
selection: '#7d46fc3f',
5+
selectionMatch: '#7d46fc7f',
6+
cursor: '#7d46fc',
7+
dropdownBackground: '#0a0b0f',
8+
dropdownBorder: '#1e1d27',
9+
activeLine: '#7d46fc14',
10+
matchingBracket: '#7d46fc7f',
11+
keyword: null,
12+
storage: null,
13+
variable: null,
14+
parameter: null,
15+
function: null,
16+
string: '#a8a8b1',
17+
constant: null,
18+
type: null,
19+
class: null,
20+
number: null,
21+
comment: '#2e2e37',
22+
heading: null,
23+
invalid: null,
24+
regexp: '#a8a8b1',
25+
tag: null,
26+
};

‎themes/copilot/src/light-color.ts

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export const config = {
2+
background: '#fff',
3+
foreground: '#000',
4+
selection: '#0064ff26',
5+
selectionMatch: '#0064ff4c',
6+
cursor: '#004bff',
7+
dropdownBackground: '#f4f6fc',
8+
dropdownBorder: '#e7ecf2',
9+
activeLine: '#0064ff0c',
10+
matchingBracket: '#0064ff4c',
11+
keyword: null,
12+
storage: null,
13+
variable: null,
14+
parameter: null,
15+
function: null,
16+
string: '#6b7a88',
17+
constant: null,
18+
type: null,
19+
class: null,
20+
number: null,
21+
comment: '#bec9d3',
22+
heading: null,
23+
invalid: null,
24+
regexp: '#6b7a88',
25+
tag: null,
26+
};

‎themes/white/README.md

+107
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
<!--rehype:ignore:start-->
2+
3+
# White Theme
4+
5+
<!--rehype:ignore:end-->
6+
7+
[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-white.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-white)
8+
9+
White theme for cm6, generated from [white-theme](https://github.com/xthezealot/white-theme-vscode/tree/master/themes).
10+
11+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/white/dark">
12+
<img width="436" alt="codemirror-theme-white" src="https://github.com/uiwjs/react-codemirror/assets/1680273/dc3227c3-66c8-4df2-bc6b-efb7849fbaf2">
13+
</a>
14+
15+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/white/light">
16+
<img width="436" alt="codemirror-theme-white" src="https://github.com/uiwjs/react-codemirror/assets/1680273/c3954eba-b7ca-4293-b6f3-853ab988b38e">
17+
</a>
18+
19+
## Install
20+
21+
```bash
22+
npm install @uiw/codemirror-theme-white --save
23+
```
24+
25+
```jsx
26+
import { whiteLight, whiteLightInit, whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white';
27+
// Or
28+
import { whiteLight, whiteLightInit } from '@uiw/codemirror-theme-white/light';
29+
import { whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white/dark';
30+
31+
<CodeMirror theme={whiteLight} />
32+
<CodeMirror
33+
theme={whiteLight({
34+
settings: {
35+
caret: '#c6c6c6',
36+
fontFamily: 'monospace',
37+
}
38+
})}
39+
/>
40+
```
41+
42+
## API
43+
44+
```tsx
45+
import { CreateThemeOptions } from '@uiw/codemirror-themes';
46+
export declare const defaultSettingsWhiteLight: CreateThemeOptions['settings'];
47+
export declare const whiteLightInit: (options?: Partial<CreateThemeOptions>) => import('@codemirror/state').Extension;
48+
export declare const whiteLight: import('@codemirror/state').Extension;
49+
50+
export declare const defaultSettingsWhiteDark: CreateThemeOptions['settings'];
51+
export declare const whiteDarkInit: (options?: Partial<CreateThemeOptions>) => import('@codemirror/state').Extension;
52+
export declare const whiteDark: import('@codemirror/state').Extension;
53+
```
54+
55+
## Usage
56+
57+
```jsx
58+
import CodeMirror from '@uiw/react-codemirror';
59+
import { whiteLight, whiteLightInit } from '@uiw/codemirror-theme-white/light';
60+
import { javascript } from '@codemirror/lang-javascript';
61+
62+
function App() {
63+
return (
64+
<CodeMirror
65+
value="console.log('hello world!');"
66+
height="200px"
67+
theme={whiteLight}
68+
extensions={[javascript({ jsx: true })]}
69+
onChange={(value, viewUpdate) => {
70+
console.log('value:', value);
71+
}}
72+
/>
73+
);
74+
}
75+
export default App;
76+
```
77+
78+
```js
79+
import { EditorView } from '@codemirror/view';
80+
import { EditorState } from '@codemirror/state';
81+
import { javascript } from '@codemirror/lang-javascript';
82+
import { whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white/dark';
83+
84+
const state = EditorState.create({
85+
doc: 'my source code',
86+
extensions: [whiteDark, javascript({ jsx: true })],
87+
});
88+
89+
const view = new EditorView({
90+
parent: document.querySelector('#editor'),
91+
state,
92+
});
93+
```
94+
95+
## Contributors
96+
97+
As always, thanks to our amazing contributors!
98+
99+
<a href="https://github.com/uiwjs/react-codemirror/graphs/contributors">
100+
<img src="https://uiwjs.github.io/react-codemirror/CONTRIBUTORS.svg" />
101+
</a>
102+
103+
Made with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).
104+
105+
## License
106+
107+
Licensed under the MIT License.

‎themes/white/dark.d.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
declare module '@uiw/codemirror-theme-white/dark' {
2+
import { CreateThemeOptions } from '@uiw/codemirror-themes';
3+
export const defaultSettingsWhiteDark: CreateThemeOptions['settings'];
4+
export const whiteDarkInit: (options?: Partial<CreateThemeOptions>) => import('@codemirror/state').Extension;
5+
export const whiteDark: import('@codemirror/state').Extension;
6+
}

‎themes/white/light.d.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
declare module '@uiw/codemirror-theme-white/light' {
2+
import { CreateThemeOptions } from '@uiw/codemirror-themes';
3+
export const defaultSettingsWhiteLight: CreateThemeOptions['settings'];
4+
export const whiteLightInit: (options?: Partial<CreateThemeOptions>) => import('@codemirror/state').Extension;
5+
export const whiteLight: import('@codemirror/state').Extension;
6+
}

‎themes/white/package.json

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"name": "@uiw/codemirror-theme-white",
3+
"version": "4.21.11",
4+
"description": "Theme white for CodeMirror.",
5+
"homepage": "https://uiwjs.github.io/react-codemirror/#/theme/data/white/dark",
6+
"author": "kenny wong <wowohoo@qq.com>",
7+
"license": "MIT",
8+
"main": "./cjs/index.js",
9+
"module": "./esm/index.js",
10+
"exports": {
11+
"./README.md": "./README.md",
12+
".": {
13+
"import": "./esm/index.js",
14+
"types": "./cjs/index.d.ts",
15+
"require": "./cjs/index.js"
16+
},
17+
"./light": {
18+
"import": "./esm/light.js",
19+
"types": "./cjs/light.d.ts",
20+
"require": "./cjs/light.js"
21+
},
22+
"./dark": {
23+
"import": "./esm/dark.js",
24+
"types": "./cjs/dark.d.ts",
25+
"require": "./cjs/dark.js"
26+
}
27+
},
28+
"scripts": {
29+
"watch": "tsbb watch src/*.ts --use-babel",
30+
"build": "tsbb build src/*.ts --use-babel"
31+
},
32+
"repository": {
33+
"type": "git",
34+
"url": "https://github.com/uiwjs/react-codemirror.git"
35+
},
36+
"files": [
37+
"src",
38+
"esm",
39+
"cjs"
40+
],
41+
"dependencies": {
42+
"@uiw/codemirror-themes": "4.21.11"
43+
},
44+
"keywords": [
45+
"codemirror",
46+
"codemirror-theme",
47+
"codemirror6",
48+
"theme",
49+
"white",
50+
"syntax",
51+
"ide",
52+
"code"
53+
]
54+
}

‎themes/white/src/dark-color.ts

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export const config = {
2+
background: '#000',
3+
foreground: '#fff',
4+
selection: '#7d46fc3f',
5+
selectionMatch: '#7d46fc7f',
6+
cursor: '#7d46fc',
7+
dropdownBackground: '#0a0b0f',
8+
dropdownBorder: '#1e1d27',
9+
activeLine: '#7d46fc14',
10+
matchingBracket: '#7d46fc7f',
11+
keyword: null,
12+
storage: null,
13+
variable: null,
14+
parameter: null,
15+
function: null,
16+
string: '#a8a8b1',
17+
constant: null,
18+
type: null,
19+
class: null,
20+
number: null,
21+
comment: '#2e2e37',
22+
heading: null,
23+
invalid: null,
24+
regexp: '#a8a8b1',
25+
tag: null,
26+
};

‎themes/white/src/dark.ts

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import { tags as t } from '@lezer/highlight';
2+
import { createTheme, CreateThemeOptions } from '@uiw/codemirror-themes';
3+
import { config as c } from './dark-color';
4+
5+
export const defaultSettingsWhiteDark: CreateThemeOptions['settings'] = {
6+
background: c.background,
7+
foreground: c.foreground,
8+
caret: c.cursor,
9+
selection: c.selection,
10+
selectionMatch: c.selectionMatch,
11+
gutterBackground: c.background,
12+
gutterForeground: c.foreground,
13+
lineHighlight: c.activeLine,
14+
};
15+
16+
export const whiteDarkInit = (options?: Partial<CreateThemeOptions>) => {
17+
const { theme = 'dark', settings = {}, styles = [] } = options || {};
18+
return createTheme({
19+
theme: theme,
20+
settings: {
21+
...defaultSettingsWhiteDark,
22+
...settings,
23+
},
24+
styles: [
25+
{ tag: t.keyword, color: c.keyword, fontWeight: 'bold' },
26+
{ tag: [t.name, t.deleted, t.character, t.macroName], color: c.variable },
27+
{ tag: [t.propertyName], color: c.function },
28+
{ tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)], color: c.string },
29+
{ tag: [t.function(t.variableName), t.labelName], color: c.function },
30+
{ tag: [t.color, t.constant(t.name), t.standard(t.name)], color: c.constant },
31+
{ tag: [t.definition(t.name), t.separator], color: c.variable },
32+
{ tag: [t.className], color: c.class },
33+
{ tag: [t.typeName], color: c.type, fontStyle: c.type },
34+
{ tag: [t.url, t.escape, t.regexp, t.link], color: c.regexp },
35+
{ tag: [t.meta, t.comment], color: c.comment },
36+
{ tag: t.tagName, color: c.tag },
37+
{ tag: t.strong, fontWeight: 'bold' },
38+
{ tag: t.emphasis, fontStyle: 'italic' },
39+
{ tag: t.link, textDecoration: 'underline' },
40+
{ tag: t.heading, fontWeight: 'bold', color: c.heading },
41+
{ tag: [t.atom, t.special(t.variableName)], color: c.variable },
42+
{ tag: t.invalid, color: c.invalid },
43+
{ tag: t.strikethrough, textDecoration: 'line-through' },
44+
{
45+
tag: [t.operatorKeyword, t.bool, t.null, t.variableName],
46+
color: c.constant,
47+
},
48+
{ tag: [t.operator], color: '#bb9af7' },
49+
{ tag: [t.number], color: '#a8a8b1' },
50+
{ tag: [t.bracket], color: '#bb9af7' },
51+
...styles,
52+
],
53+
});
54+
};
55+
56+
export const whiteDark = whiteDarkInit();

‎themes/white/src/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './dark';
2+
export * from './light';

‎themes/white/src/light-color.ts

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export const config = {
2+
background: '#fff',
3+
foreground: '#000',
4+
selection: '#0064ff26',
5+
selectionMatch: '#0064ff4c',
6+
cursor: '#004bff',
7+
dropdownBackground: '#f4f6fc',
8+
dropdownBorder: '#e7ecf2',
9+
activeLine: '#0064ff0c',
10+
matchingBracket: '#0064ff4c',
11+
keyword: null,
12+
storage: null,
13+
variable: null,
14+
parameter: null,
15+
function: null,
16+
string: '#6b7a88',
17+
constant: null,
18+
type: null,
19+
class: null,
20+
number: null,
21+
comment: '#bec9d3',
22+
heading: null,
23+
invalid: null,
24+
regexp: '#6b7a88',
25+
tag: null,
26+
};

‎themes/white/src/light.ts

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import { tags as t } from '@lezer/highlight';
2+
import { createTheme, CreateThemeOptions } from '@uiw/codemirror-themes';
3+
import { config as c } from './light-color';
4+
5+
export const defaultSettingsWhiteLight: CreateThemeOptions['settings'] = {
6+
background: c.background,
7+
foreground: c.foreground,
8+
caret: c.cursor,
9+
selection: c.selection,
10+
selectionMatch: c.selectionMatch,
11+
gutterBackground: c.background,
12+
gutterForeground: c.foreground,
13+
lineHighlight: c.activeLine,
14+
};
15+
16+
export const whiteLightInit = (options?: Partial<CreateThemeOptions>) => {
17+
const { theme = 'light', settings = {}, styles = [] } = options || {};
18+
return createTheme({
19+
theme: theme,
20+
settings: {
21+
...defaultSettingsWhiteLight,
22+
...settings,
23+
},
24+
styles: [
25+
{ tag: t.keyword, color: c.keyword, fontWeight: 'bold' },
26+
{ tag: [t.name, t.deleted, t.character, t.macroName], color: c.variable },
27+
{ tag: [t.propertyName], color: c.function },
28+
{ tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)], color: c.string },
29+
{ tag: [t.function(t.variableName), t.labelName], color: c.function },
30+
{ tag: [t.color, t.constant(t.name), t.standard(t.name)], color: c.constant },
31+
{ tag: [t.definition(t.name), t.separator], color: c.variable },
32+
{ tag: [t.className], color: c.class },
33+
{ tag: [t.typeName], color: c.type, fontStyle: c.type },
34+
{ tag: [t.url, t.escape, t.regexp, t.link], color: c.regexp },
35+
{ tag: [t.meta, t.comment], color: c.comment },
36+
{ tag: t.tagName, color: c.tag },
37+
{ tag: t.strong, fontWeight: 'bold' },
38+
{ tag: t.emphasis, fontStyle: 'italic' },
39+
{ tag: t.link, textDecoration: 'underline' },
40+
{ tag: t.heading, fontWeight: 'bold', color: c.heading },
41+
{ tag: [t.atom, t.special(t.variableName)], color: c.variable },
42+
{ tag: t.invalid, color: c.invalid },
43+
{ tag: t.strikethrough, textDecoration: 'line-through' },
44+
{
45+
tag: [t.operatorKeyword, t.bool, t.null, t.variableName],
46+
color: c.constant,
47+
},
48+
{ tag: [t.operator], color: '#0431fa' },
49+
{ tag: [t.number], color: '#a8a8b1' },
50+
{ tag: [t.bracket], color: '#0431fa' },
51+
...styles,
52+
],
53+
});
54+
};
55+
56+
export const whiteLight = whiteLightInit();

‎themes/white/tsconfig.json

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"extends": "../../tsconfig",
3+
"include": ["src"],
4+
"compilerOptions": {
5+
"outDir": "./cjs",
6+
"baseUrl": ".",
7+
"noEmit": false
8+
}
9+
}

‎www/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
"@uiw/codemirror-theme-tokyo-night-storm": "4.21.11",
7878
"@uiw/codemirror-theme-tomorrow-night-blue": "4.21.11",
7979
"@uiw/codemirror-theme-vscode": "4.21.11",
80+
"@uiw/codemirror-theme-white": "4.21.11",
8081
"@uiw/codemirror-theme-xcode": "4.21.11",
8182
"@uiw/codemirror-themes": "4.21.11",
8283
"@uiw/codemirror-themes-all": "4.21.11",

‎www/src/pages/theme/themes/Datas.ts

+3
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';
3131
import { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';
3232
import { tomorrowNightBlue } from '@uiw/codemirror-theme-tomorrow-night-blue';
3333
import { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';
34+
import { whiteLight, whiteDark } from '@uiw/codemirror-theme-white';
3435

3536
export const themeData = {
3637
abcdef,
@@ -71,6 +72,8 @@ export const themeData = {
7172
tokyoNightDay,
7273
tomorrowNightBlue,
7374
vscodeDark,
75+
whiteLight,
76+
whiteDark,
7477
xcodeLight,
7578
xcodeDark,
7679
};

‎www/src/router.tsx

+22
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,28 @@ export const routes: MenuRouteObject[] = [
585585
/>
586586
),
587587
},
588+
{
589+
path: 'data/white/light',
590+
label: 'white light',
591+
element: (
592+
<Preview
593+
themePkg="@uiw/codemirror-theme-white"
594+
mode="light"
595+
path={() => import('@uiw/codemirror-theme-white/README.md')}
596+
/>
597+
),
598+
},
599+
{
600+
path: 'data/white/dark',
601+
label: 'white dark',
602+
element: (
603+
<Preview
604+
themePkg="@uiw/codemirror-theme-white"
605+
mode="dark"
606+
path={() => import('@uiw/codemirror-theme-white/README.md')}
607+
/>
608+
),
609+
},
588610
{
589611
path: 'data/vscode',
590612
element: <Navigate to="dark" replace />,

0 commit comments

Comments
 (0)
Please sign in to comment.