@uiw/codemirror-themes 4.10.3 → 4.11.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 +30 -2
- package/cjs/index.d.ts +7 -5
- package/cjs/index.js +28 -13
- package/cjs/index.js.map +7 -5
- package/esm/index.d.ts +7 -5
- package/esm/index.js +28 -13
- package/esm/index.js.map +7 -5
- package/package.json +6 -1
- package/src/index.tsx +34 -18
package/README.md
CHANGED
|
@@ -120,6 +120,12 @@ export default App;
|
|
|
120
120
|
<img width="436" alt="codemirror-theme-abcdef" src="https://user-images.githubusercontent.com/1680273/176573508-705562ad-16ec-4b16-994e-f235a9331a3f.png">
|
|
121
121
|
</a>
|
|
122
122
|
|
|
123
|
+
**android studio**
|
|
124
|
+
|
|
125
|
+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/xcode/light">
|
|
126
|
+
<img width="436" alt="codemirror-theme-androidstudio" src="https://user-images.githubusercontent.com/1680273/177484354-0a4fa43e-de96-409f-83e2-61808f2347e6.png">
|
|
127
|
+
</a>
|
|
128
|
+
|
|
123
129
|
**bespin**
|
|
124
130
|
|
|
125
131
|
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/bespin">
|
|
@@ -141,11 +147,11 @@ export default App;
|
|
|
141
147
|
**duotone**
|
|
142
148
|
|
|
143
149
|
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/duotone/dark">
|
|
144
|
-
<img width="436" alt="codemirror-theme-duotone" src="https://user-images.githubusercontent.com/1680273/176572959-adfc1284-4c70-48df-8aeb-9a47ff76b2f2.png">
|
|
150
|
+
<img width="436" alt="codemirror-theme-duotone dark" src="https://user-images.githubusercontent.com/1680273/176572959-adfc1284-4c70-48df-8aeb-9a47ff76b2f2.png">
|
|
145
151
|
</a>
|
|
146
152
|
|
|
147
153
|
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/duotone/light">
|
|
148
|
-
<img width="436" alt="codemirror-theme-duotone" src="https://user-images.githubusercontent.com/1680273/176573139-5c22ed62-6000-40da-b080-59c83e6181e2.png">
|
|
154
|
+
<img width="436" alt="codemirror-theme-duotone light" src="https://user-images.githubusercontent.com/1680273/176573139-5c22ed62-6000-40da-b080-59c83e6181e2.png">
|
|
149
155
|
</a>
|
|
150
156
|
|
|
151
157
|
**eclipse**
|
|
@@ -154,6 +160,16 @@ export default App;
|
|
|
154
160
|
<img width="436" alt="codemirror-theme-eclipse" src="https://user-images.githubusercontent.com/1680273/176572785-4f56f11a-018b-4f86-9088-e6f71f745cfb.png">
|
|
155
161
|
</a>
|
|
156
162
|
|
|
163
|
+
**github**
|
|
164
|
+
|
|
165
|
+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/github/dark">
|
|
166
|
+
<img width="436" alt="codemirror-theme-github dark" src="https://user-images.githubusercontent.com/1680273/177048035-644af599-aaf1-41d8-86ea-9ea8c3a1a0c5.png">
|
|
167
|
+
</a>
|
|
168
|
+
|
|
169
|
+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/github/light">
|
|
170
|
+
<img width="436" alt="codemirror-theme-github light" src="https://user-images.githubusercontent.com/1680273/177048005-32794f23-8bff-4059-babf-21316d886e65.png">
|
|
171
|
+
</a>
|
|
172
|
+
|
|
157
173
|
**okaidia**
|
|
158
174
|
|
|
159
175
|
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia">
|
|
@@ -166,6 +182,16 @@ export default App;
|
|
|
166
182
|
<img width="436" alt="codemirror-theme-sublime" src="https://user-images.githubusercontent.com/1680273/176572314-cc296f81-0763-485c-8fa2-7d61b24ad09b.png">
|
|
167
183
|
</a>
|
|
168
184
|
|
|
185
|
+
**xcode**
|
|
186
|
+
|
|
187
|
+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/xcode/dark">
|
|
188
|
+
<img width="436" alt="codemirror-theme-xcode dark" src="https://user-images.githubusercontent.com/1680273/177074703-4c5c6be0-e287-45ac-b6cc-db1568276e73.png">
|
|
189
|
+
</a>
|
|
190
|
+
|
|
191
|
+
<a href="https://uiwjs.github.io/react-codemirror/#/theme/data/xcode/light">
|
|
192
|
+
<img width="436" alt="codemirror-theme-xcode light" src="https://user-images.githubusercontent.com/1680273/177077462-2046096f-a31c-4dee-b9bb-2fcaaa87a844.png">
|
|
193
|
+
</a>
|
|
194
|
+
|
|
169
195
|
## Props
|
|
170
196
|
|
|
171
197
|
```ts
|
|
@@ -203,6 +229,8 @@ export interface Settings {
|
|
|
203
229
|
gutterBackground: string;
|
|
204
230
|
/** Text color inside gutter. */
|
|
205
231
|
gutterForeground: string;
|
|
232
|
+
/** Gutter right border color. */
|
|
233
|
+
gutterBorder: string;
|
|
206
234
|
}
|
|
207
235
|
declare const createTheme: ({ dark, settings, styles }: CreateThemeOptions) => Extension;
|
|
208
236
|
export default createTheme;
|
package/cjs/index.d.ts
CHANGED
|
@@ -19,17 +19,19 @@ export interface Settings {
|
|
|
19
19
|
/** Default text color. */
|
|
20
20
|
foreground: string;
|
|
21
21
|
/** Caret color. */
|
|
22
|
-
caret
|
|
22
|
+
caret?: string;
|
|
23
23
|
/** Selection background. */
|
|
24
|
-
selection
|
|
24
|
+
selection?: string;
|
|
25
25
|
/** Selection match background. */
|
|
26
26
|
selectionMatch?: string;
|
|
27
27
|
/** Background of highlighted lines. */
|
|
28
|
-
lineHighlight
|
|
28
|
+
lineHighlight?: string;
|
|
29
29
|
/** Gutter background. */
|
|
30
|
-
gutterBackground
|
|
30
|
+
gutterBackground?: string;
|
|
31
31
|
/** Text color inside gutter. */
|
|
32
|
-
gutterForeground
|
|
32
|
+
gutterForeground?: string;
|
|
33
|
+
/** Gutter right border color. */
|
|
34
|
+
gutterBorder?: string;
|
|
33
35
|
}
|
|
34
36
|
export declare const createTheme: ({ theme, settings, styles }: CreateThemeOptions) => Extension;
|
|
35
37
|
export default createTheme;
|
package/cjs/index.js
CHANGED
|
@@ -18,23 +18,38 @@ var createTheme = function createTheme(_ref) {
|
|
|
18
18
|
backgroundColor: settings.background,
|
|
19
19
|
color: settings.foreground
|
|
20
20
|
},
|
|
21
|
-
'.cm-
|
|
21
|
+
'.cm-gutters': {}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
if (settings.gutterBackground) {
|
|
25
|
+
themeOptions['.cm-gutters'].backgroundColor = settings.gutterBackground;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (settings.gutterForeground) {
|
|
29
|
+
themeOptions['.cm-gutters'].color = settings.gutterForeground;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (settings.gutterBorder) {
|
|
33
|
+
themeOptions['.cm-gutters'].borderRightColor = settings.gutterBorder;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (settings.caret) {
|
|
37
|
+
themeOptions['.cm-content'] = {
|
|
22
38
|
caretColor: settings.caret
|
|
23
|
-
}
|
|
24
|
-
'.cm-cursor, .cm-dropCursor'
|
|
39
|
+
};
|
|
40
|
+
themeOptions['.cm-cursor, .cm-dropCursor'] = {
|
|
25
41
|
borderLeftColor: settings.caret
|
|
26
|
-
}
|
|
27
|
-
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (settings.lineHighlight) {
|
|
46
|
+
themeOptions['.cm-activeLine'] = {
|
|
28
47
|
backgroundColor: settings.lineHighlight
|
|
29
|
-
}
|
|
30
|
-
'.cm-
|
|
31
|
-
backgroundColor: settings.gutterBackground,
|
|
32
|
-
color: settings.gutterForeground
|
|
33
|
-
},
|
|
34
|
-
'.cm-activeLineGutter': {
|
|
48
|
+
};
|
|
49
|
+
themeOptions['.cm-activeLineGutter'] = {
|
|
35
50
|
backgroundColor: settings.lineHighlight
|
|
36
|
-
}
|
|
37
|
-
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
38
53
|
|
|
39
54
|
if (settings.selection) {
|
|
40
55
|
themeOptions['&.cm-focused .cm-selectionBackground .cm-selectionBackground, & .cm-selectionLayer .cm-selectionBackground, ::selection'] = {
|
package/cjs/index.js.map
CHANGED
|
@@ -10,12 +10,14 @@
|
|
|
10
10
|
"background",
|
|
11
11
|
"color",
|
|
12
12
|
"foreground",
|
|
13
|
-
"
|
|
13
|
+
"gutterBackground",
|
|
14
|
+
"gutterForeground",
|
|
15
|
+
"gutterBorder",
|
|
16
|
+
"borderRightColor",
|
|
14
17
|
"caret",
|
|
18
|
+
"caretColor",
|
|
15
19
|
"borderLeftColor",
|
|
16
20
|
"lineHighlight",
|
|
17
|
-
"gutterBackground",
|
|
18
|
-
"gutterForeground",
|
|
19
21
|
"selection",
|
|
20
22
|
"selectionMatch",
|
|
21
23
|
"themeExtension",
|
|
@@ -31,7 +33,7 @@
|
|
|
31
33
|
"../src/index.tsx"
|
|
32
34
|
],
|
|
33
35
|
"sourcesContent": [
|
|
34
|
-
"import { EditorView } from '@codemirror/view';\nimport { Extension } from '@codemirror/state';\nimport { HighlightStyle, TagStyle, syntaxHighlighting } from '@codemirror/language';\nimport { StyleSpec } from 'style-mod';\n\nexport interface CreateThemeOptions {\n /**\n * Theme inheritance. Determines which styles CodeMirror will apply by default.\n */\n theme: Theme;\n /**\n * Settings to customize the look of the editor, like background, gutter, selection and others.\n */\n settings: Settings;\n /** Syntax highlighting styles. */\n styles: TagStyle[];\n}\n\ntype Theme = 'light' | 'dark';\n\nexport interface Settings {\n /** Editor background. */\n background: string;\n /** Default text color. */\n foreground: string;\n /** Caret color. */\n caret
|
|
36
|
+
"import { EditorView } from '@codemirror/view';\nimport { Extension } from '@codemirror/state';\nimport { HighlightStyle, TagStyle, syntaxHighlighting } from '@codemirror/language';\nimport { StyleSpec } from 'style-mod';\n\nexport interface CreateThemeOptions {\n /**\n * Theme inheritance. Determines which styles CodeMirror will apply by default.\n */\n theme: Theme;\n /**\n * Settings to customize the look of the editor, like background, gutter, selection and others.\n */\n settings: Settings;\n /** Syntax highlighting styles. */\n styles: TagStyle[];\n}\n\ntype Theme = 'light' | 'dark';\n\nexport interface Settings {\n /** Editor background. */\n background: string;\n /** Default text color. */\n foreground: string;\n /** Caret color. */\n caret?: string;\n /** Selection background. */\n selection?: string;\n /** Selection match background. */\n selectionMatch?: string;\n /** Background of highlighted lines. */\n lineHighlight?: string;\n /** Gutter background. */\n gutterBackground?: string;\n /** Text color inside gutter. */\n gutterForeground?: string;\n /** Gutter right border color. */\n gutterBorder?: string;\n}\n\nexport const createTheme = ({ theme, settings, styles }: CreateThemeOptions): Extension => {\n const themeOptions: Record<string, StyleSpec> = {\n '&': {\n backgroundColor: settings.background,\n color: settings.foreground,\n },\n '.cm-gutters': {},\n };\n\n if (settings.gutterBackground) {\n themeOptions['.cm-gutters'].backgroundColor = settings.gutterBackground;\n }\n if (settings.gutterForeground) {\n themeOptions['.cm-gutters'].color = settings.gutterForeground;\n }\n if (settings.gutterBorder) {\n themeOptions['.cm-gutters'].borderRightColor = settings.gutterBorder;\n }\n\n if (settings.caret) {\n themeOptions['.cm-content'] = {\n caretColor: settings.caret,\n };\n themeOptions['.cm-cursor, .cm-dropCursor'] = {\n borderLeftColor: settings.caret,\n };\n }\n\n if (settings.lineHighlight) {\n themeOptions['.cm-activeLine'] = {\n backgroundColor: settings.lineHighlight,\n };\n themeOptions['.cm-activeLineGutter'] = {\n backgroundColor: settings.lineHighlight,\n };\n }\n\n if (settings.selection) {\n themeOptions[\n '&.cm-focused .cm-selectionBackground .cm-selectionBackground, & .cm-selectionLayer .cm-selectionBackground, ::selection'\n ] = {\n backgroundColor: settings.selection,\n };\n }\n if (settings.selectionMatch) {\n themeOptions['& .cm-selectionMatch'] = {\n backgroundColor: settings.selectionMatch,\n };\n }\n const themeExtension = EditorView.theme(themeOptions, {\n dark: theme === 'dark',\n });\n\n const highlightStyle = HighlightStyle.define(styles);\n const extension = [themeExtension, syntaxHighlighting(highlightStyle)];\n\n return extension;\n};\n\nexport default createTheme;\n"
|
|
35
37
|
],
|
|
36
|
-
"mappings": ";;;;;;;AAAA;;AAEA;;
|
|
38
|
+
"mappings": ";;;;;;;AAAA;;AAEA;;AAuCO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAAgE;EAAA,IAA7DC,KAA6D,QAA7DA,KAA6D;EAAA,IAAtDC,QAAsD,QAAtDA,QAAsD;EAAA,IAA5CC,MAA4C,QAA5CA,MAA4C;EACzF,IAAMC,YAAuC,GAAG;IAC9C,KAAK;MACHC,eAAe,EAAEH,QAAQ,CAACI,UADvB;MAEHC,KAAK,EAAEL,QAAQ,CAACM;IAFb,CADyC;IAK9C,eAAe;EAL+B,CAAhD;;EAQA,IAAIN,QAAQ,CAACO,gBAAb,EAA+B;IAC7BL,YAAY,CAAC,aAAD,CAAZ,CAA4BC,eAA5B,GAA8CH,QAAQ,CAACO,gBAAvD;EACD;;EACD,IAAIP,QAAQ,CAACQ,gBAAb,EAA+B;IAC7BN,YAAY,CAAC,aAAD,CAAZ,CAA4BG,KAA5B,GAAoCL,QAAQ,CAACQ,gBAA7C;EACD;;EACD,IAAIR,QAAQ,CAACS,YAAb,EAA2B;IACzBP,YAAY,CAAC,aAAD,CAAZ,CAA4BQ,gBAA5B,GAA+CV,QAAQ,CAACS,YAAxD;EACD;;EAED,IAAIT,QAAQ,CAACW,KAAb,EAAoB;IAClBT,YAAY,CAAC,aAAD,CAAZ,GAA8B;MAC5BU,UAAU,EAAEZ,QAAQ,CAACW;IADO,CAA9B;IAGAT,YAAY,CAAC,4BAAD,CAAZ,GAA6C;MAC3CW,eAAe,EAAEb,QAAQ,CAACW;IADiB,CAA7C;EAGD;;EAED,IAAIX,QAAQ,CAACc,aAAb,EAA4B;IAC1BZ,YAAY,CAAC,gBAAD,CAAZ,GAAiC;MAC/BC,eAAe,EAAEH,QAAQ,CAACc;IADK,CAAjC;IAGAZ,YAAY,CAAC,sBAAD,CAAZ,GAAuC;MACrCC,eAAe,EAAEH,QAAQ,CAACc;IADW,CAAvC;EAGD;;EAED,IAAId,QAAQ,CAACe,SAAb,EAAwB;IACtBb,YAAY,CACV,yHADU,CAAZ,GAEI;MACFC,eAAe,EAAEH,QAAQ,CAACe;IADxB,CAFJ;EAKD;;EACD,IAAIf,QAAQ,CAACgB,cAAb,EAA6B;IAC3Bd,YAAY,CAAC,sBAAD,CAAZ,GAAuC;MACrCC,eAAe,EAAEH,QAAQ,CAACgB;IADW,CAAvC;EAGD;;EACD,IAAMC,cAAc,GAAGC,gBAAA,CAAWnB,KAAX,CAAiBG,YAAjB,EAA+B;IACpDiB,IAAI,EAAEpB,KAAK,KAAK;EADoC,CAA/B,CAAvB;;EAIA,IAAMqB,cAAc,GAAGC,wBAAA,CAAeC,MAAf,CAAsBrB,MAAtB,CAAvB;;EACA,IAAMsB,SAAS,GAAG,CAACN,cAAD,EAAiB,IAAAO,4BAAA,EAAmBJ,cAAnB,CAAjB,CAAlB;EAEA,OAAOG,SAAP;AACD,CAzDM;;;eA2DQzB,W"
|
|
37
39
|
}
|
package/esm/index.d.ts
CHANGED
|
@@ -19,17 +19,19 @@ export interface Settings {
|
|
|
19
19
|
/** Default text color. */
|
|
20
20
|
foreground: string;
|
|
21
21
|
/** Caret color. */
|
|
22
|
-
caret
|
|
22
|
+
caret?: string;
|
|
23
23
|
/** Selection background. */
|
|
24
|
-
selection
|
|
24
|
+
selection?: string;
|
|
25
25
|
/** Selection match background. */
|
|
26
26
|
selectionMatch?: string;
|
|
27
27
|
/** Background of highlighted lines. */
|
|
28
|
-
lineHighlight
|
|
28
|
+
lineHighlight?: string;
|
|
29
29
|
/** Gutter background. */
|
|
30
|
-
gutterBackground
|
|
30
|
+
gutterBackground?: string;
|
|
31
31
|
/** Text color inside gutter. */
|
|
32
|
-
gutterForeground
|
|
32
|
+
gutterForeground?: string;
|
|
33
|
+
/** Gutter right border color. */
|
|
34
|
+
gutterBorder?: string;
|
|
33
35
|
}
|
|
34
36
|
export declare const createTheme: ({ theme, settings, styles }: CreateThemeOptions) => Extension;
|
|
35
37
|
export default createTheme;
|
package/esm/index.js
CHANGED
|
@@ -11,23 +11,38 @@ export var createTheme = _ref => {
|
|
|
11
11
|
backgroundColor: settings.background,
|
|
12
12
|
color: settings.foreground
|
|
13
13
|
},
|
|
14
|
-
'.cm-
|
|
14
|
+
'.cm-gutters': {}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
if (settings.gutterBackground) {
|
|
18
|
+
themeOptions['.cm-gutters'].backgroundColor = settings.gutterBackground;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (settings.gutterForeground) {
|
|
22
|
+
themeOptions['.cm-gutters'].color = settings.gutterForeground;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (settings.gutterBorder) {
|
|
26
|
+
themeOptions['.cm-gutters'].borderRightColor = settings.gutterBorder;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (settings.caret) {
|
|
30
|
+
themeOptions['.cm-content'] = {
|
|
15
31
|
caretColor: settings.caret
|
|
16
|
-
}
|
|
17
|
-
'.cm-cursor, .cm-dropCursor'
|
|
32
|
+
};
|
|
33
|
+
themeOptions['.cm-cursor, .cm-dropCursor'] = {
|
|
18
34
|
borderLeftColor: settings.caret
|
|
19
|
-
}
|
|
20
|
-
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (settings.lineHighlight) {
|
|
39
|
+
themeOptions['.cm-activeLine'] = {
|
|
21
40
|
backgroundColor: settings.lineHighlight
|
|
22
|
-
}
|
|
23
|
-
'.cm-
|
|
24
|
-
backgroundColor: settings.gutterBackground,
|
|
25
|
-
color: settings.gutterForeground
|
|
26
|
-
},
|
|
27
|
-
'.cm-activeLineGutter': {
|
|
41
|
+
};
|
|
42
|
+
themeOptions['.cm-activeLineGutter'] = {
|
|
28
43
|
backgroundColor: settings.lineHighlight
|
|
29
|
-
}
|
|
30
|
-
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
31
46
|
|
|
32
47
|
if (settings.selection) {
|
|
33
48
|
themeOptions['&.cm-focused .cm-selectionBackground .cm-selectionBackground, & .cm-selectionLayer .cm-selectionBackground, ::selection'] = {
|
package/esm/index.js.map
CHANGED
|
@@ -13,12 +13,14 @@
|
|
|
13
13
|
"background",
|
|
14
14
|
"color",
|
|
15
15
|
"foreground",
|
|
16
|
-
"
|
|
16
|
+
"gutterBackground",
|
|
17
|
+
"gutterForeground",
|
|
18
|
+
"gutterBorder",
|
|
19
|
+
"borderRightColor",
|
|
17
20
|
"caret",
|
|
21
|
+
"caretColor",
|
|
18
22
|
"borderLeftColor",
|
|
19
23
|
"lineHighlight",
|
|
20
|
-
"gutterBackground",
|
|
21
|
-
"gutterForeground",
|
|
22
24
|
"selection",
|
|
23
25
|
"selectionMatch",
|
|
24
26
|
"themeExtension",
|
|
@@ -31,7 +33,7 @@
|
|
|
31
33
|
"../src/index.tsx"
|
|
32
34
|
],
|
|
33
35
|
"sourcesContent": [
|
|
34
|
-
"import { EditorView } from '@codemirror/view';\nimport { Extension } from '@codemirror/state';\nimport { HighlightStyle, TagStyle, syntaxHighlighting } from '@codemirror/language';\nimport { StyleSpec } from 'style-mod';\n\nexport interface CreateThemeOptions {\n /**\n * Theme inheritance. Determines which styles CodeMirror will apply by default.\n */\n theme: Theme;\n /**\n * Settings to customize the look of the editor, like background, gutter, selection and others.\n */\n settings: Settings;\n /** Syntax highlighting styles. */\n styles: TagStyle[];\n}\n\ntype Theme = 'light' | 'dark';\n\nexport interface Settings {\n /** Editor background. */\n background: string;\n /** Default text color. */\n foreground: string;\n /** Caret color. */\n caret
|
|
36
|
+
"import { EditorView } from '@codemirror/view';\nimport { Extension } from '@codemirror/state';\nimport { HighlightStyle, TagStyle, syntaxHighlighting } from '@codemirror/language';\nimport { StyleSpec } from 'style-mod';\n\nexport interface CreateThemeOptions {\n /**\n * Theme inheritance. Determines which styles CodeMirror will apply by default.\n */\n theme: Theme;\n /**\n * Settings to customize the look of the editor, like background, gutter, selection and others.\n */\n settings: Settings;\n /** Syntax highlighting styles. */\n styles: TagStyle[];\n}\n\ntype Theme = 'light' | 'dark';\n\nexport interface Settings {\n /** Editor background. */\n background: string;\n /** Default text color. */\n foreground: string;\n /** Caret color. */\n caret?: string;\n /** Selection background. */\n selection?: string;\n /** Selection match background. */\n selectionMatch?: string;\n /** Background of highlighted lines. */\n lineHighlight?: string;\n /** Gutter background. */\n gutterBackground?: string;\n /** Text color inside gutter. */\n gutterForeground?: string;\n /** Gutter right border color. */\n gutterBorder?: string;\n}\n\nexport const createTheme = ({ theme, settings, styles }: CreateThemeOptions): Extension => {\n const themeOptions: Record<string, StyleSpec> = {\n '&': {\n backgroundColor: settings.background,\n color: settings.foreground,\n },\n '.cm-gutters': {},\n };\n\n if (settings.gutterBackground) {\n themeOptions['.cm-gutters'].backgroundColor = settings.gutterBackground;\n }\n if (settings.gutterForeground) {\n themeOptions['.cm-gutters'].color = settings.gutterForeground;\n }\n if (settings.gutterBorder) {\n themeOptions['.cm-gutters'].borderRightColor = settings.gutterBorder;\n }\n\n if (settings.caret) {\n themeOptions['.cm-content'] = {\n caretColor: settings.caret,\n };\n themeOptions['.cm-cursor, .cm-dropCursor'] = {\n borderLeftColor: settings.caret,\n };\n }\n\n if (settings.lineHighlight) {\n themeOptions['.cm-activeLine'] = {\n backgroundColor: settings.lineHighlight,\n };\n themeOptions['.cm-activeLineGutter'] = {\n backgroundColor: settings.lineHighlight,\n };\n }\n\n if (settings.selection) {\n themeOptions[\n '&.cm-focused .cm-selectionBackground .cm-selectionBackground, & .cm-selectionLayer .cm-selectionBackground, ::selection'\n ] = {\n backgroundColor: settings.selection,\n };\n }\n if (settings.selectionMatch) {\n themeOptions['& .cm-selectionMatch'] = {\n backgroundColor: settings.selectionMatch,\n };\n }\n const themeExtension = EditorView.theme(themeOptions, {\n dark: theme === 'dark',\n });\n\n const highlightStyle = HighlightStyle.define(styles);\n const extension = [themeExtension, syntaxHighlighting(highlightStyle)];\n\n return extension;\n};\n\nexport default createTheme;\n"
|
|
35
37
|
],
|
|
36
|
-
"mappings": "AAAA,SAASA,UAAT,QAA2B,kBAA3B;AAEA,SAASC,cAAT,EAAmCC,kBAAnC,QAA6D,sBAA7D;
|
|
38
|
+
"mappings": "AAAA,SAASA,UAAT,QAA2B,kBAA3B;AAEA,SAASC,cAAT,EAAmCC,kBAAnC,QAA6D,sBAA7D;AAuCA,OAAO,IAAMC,WAAW,GAAG,QAAgE;EAAA,IAA/D;IAAEC,KAAF;IAASC,QAAT;IAAmBC;EAAnB,CAA+D;EACzF,IAAMC,YAAuC,GAAG;IAC9C,KAAK;MACHC,eAAe,EAAEH,QAAQ,CAACI,UADvB;MAEHC,KAAK,EAAEL,QAAQ,CAACM;IAFb,CADyC;IAK9C,eAAe;EAL+B,CAAhD;;EAQA,IAAIN,QAAQ,CAACO,gBAAb,EAA+B;IAC7BL,YAAY,CAAC,aAAD,CAAZ,CAA4BC,eAA5B,GAA8CH,QAAQ,CAACO,gBAAvD;EACD;;EACD,IAAIP,QAAQ,CAACQ,gBAAb,EAA+B;IAC7BN,YAAY,CAAC,aAAD,CAAZ,CAA4BG,KAA5B,GAAoCL,QAAQ,CAACQ,gBAA7C;EACD;;EACD,IAAIR,QAAQ,CAACS,YAAb,EAA2B;IACzBP,YAAY,CAAC,aAAD,CAAZ,CAA4BQ,gBAA5B,GAA+CV,QAAQ,CAACS,YAAxD;EACD;;EAED,IAAIT,QAAQ,CAACW,KAAb,EAAoB;IAClBT,YAAY,CAAC,aAAD,CAAZ,GAA8B;MAC5BU,UAAU,EAAEZ,QAAQ,CAACW;IADO,CAA9B;IAGAT,YAAY,CAAC,4BAAD,CAAZ,GAA6C;MAC3CW,eAAe,EAAEb,QAAQ,CAACW;IADiB,CAA7C;EAGD;;EAED,IAAIX,QAAQ,CAACc,aAAb,EAA4B;IAC1BZ,YAAY,CAAC,gBAAD,CAAZ,GAAiC;MAC/BC,eAAe,EAAEH,QAAQ,CAACc;IADK,CAAjC;IAGAZ,YAAY,CAAC,sBAAD,CAAZ,GAAuC;MACrCC,eAAe,EAAEH,QAAQ,CAACc;IADW,CAAvC;EAGD;;EAED,IAAId,QAAQ,CAACe,SAAb,EAAwB;IACtBb,YAAY,CACV,yHADU,CAAZ,GAEI;MACFC,eAAe,EAAEH,QAAQ,CAACe;IADxB,CAFJ;EAKD;;EACD,IAAIf,QAAQ,CAACgB,cAAb,EAA6B;IAC3Bd,YAAY,CAAC,sBAAD,CAAZ,GAAuC;MACrCC,eAAe,EAAEH,QAAQ,CAACgB;IADW,CAAvC;EAGD;;EACD,IAAMC,cAAc,GAAGtB,UAAU,CAACI,KAAX,CAAiBG,YAAjB,EAA+B;IACpDgB,IAAI,EAAEnB,KAAK,KAAK;EADoC,CAA/B,CAAvB;EAIA,IAAMoB,cAAc,GAAGvB,cAAc,CAACwB,MAAf,CAAsBnB,MAAtB,CAAvB;EACA,IAAMoB,SAAS,GAAG,CAACJ,cAAD,EAAiBpB,kBAAkB,CAACsB,cAAD,CAAnC,CAAlB;EAEA,OAAOE,SAAP;AACD,CAzDM;AA2DP,eAAevB,WAAf"
|
|
37
39
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uiw/codemirror-themes",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.11.1",
|
|
4
4
|
"description": "Themes for CodeMirror.",
|
|
5
5
|
"homepage": "https://uiwjs.github.io/react-codemirror/#/theme/doc",
|
|
6
6
|
"author": "kenny wong <wowohoo@qq.com>",
|
|
@@ -20,6 +20,11 @@
|
|
|
20
20
|
"esm",
|
|
21
21
|
"cjs"
|
|
22
22
|
],
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"@codemirror/language": ">=6.0.0",
|
|
25
|
+
"@codemirror/state": ">=6.0.0",
|
|
26
|
+
"@codemirror/view": ">=6.0.0"
|
|
27
|
+
},
|
|
23
28
|
"dependencies": {
|
|
24
29
|
"@codemirror/language": "^6.0.0",
|
|
25
30
|
"@codemirror/state": "^6.0.0",
|
package/src/index.tsx
CHANGED
|
@@ -24,17 +24,19 @@ export interface Settings {
|
|
|
24
24
|
/** Default text color. */
|
|
25
25
|
foreground: string;
|
|
26
26
|
/** Caret color. */
|
|
27
|
-
caret
|
|
27
|
+
caret?: string;
|
|
28
28
|
/** Selection background. */
|
|
29
|
-
selection
|
|
29
|
+
selection?: string;
|
|
30
30
|
/** Selection match background. */
|
|
31
31
|
selectionMatch?: string;
|
|
32
32
|
/** Background of highlighted lines. */
|
|
33
|
-
lineHighlight
|
|
33
|
+
lineHighlight?: string;
|
|
34
34
|
/** Gutter background. */
|
|
35
|
-
gutterBackground
|
|
35
|
+
gutterBackground?: string;
|
|
36
36
|
/** Text color inside gutter. */
|
|
37
|
-
gutterForeground
|
|
37
|
+
gutterForeground?: string;
|
|
38
|
+
/** Gutter right border color. */
|
|
39
|
+
gutterBorder?: string;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
export const createTheme = ({ theme, settings, styles }: CreateThemeOptions): Extension => {
|
|
@@ -43,23 +45,37 @@ export const createTheme = ({ theme, settings, styles }: CreateThemeOptions): Ex
|
|
|
43
45
|
backgroundColor: settings.background,
|
|
44
46
|
color: settings.foreground,
|
|
45
47
|
},
|
|
46
|
-
'.cm-
|
|
48
|
+
'.cm-gutters': {},
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
if (settings.gutterBackground) {
|
|
52
|
+
themeOptions['.cm-gutters'].backgroundColor = settings.gutterBackground;
|
|
53
|
+
}
|
|
54
|
+
if (settings.gutterForeground) {
|
|
55
|
+
themeOptions['.cm-gutters'].color = settings.gutterForeground;
|
|
56
|
+
}
|
|
57
|
+
if (settings.gutterBorder) {
|
|
58
|
+
themeOptions['.cm-gutters'].borderRightColor = settings.gutterBorder;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (settings.caret) {
|
|
62
|
+
themeOptions['.cm-content'] = {
|
|
47
63
|
caretColor: settings.caret,
|
|
48
|
-
}
|
|
49
|
-
'.cm-cursor, .cm-dropCursor'
|
|
64
|
+
};
|
|
65
|
+
themeOptions['.cm-cursor, .cm-dropCursor'] = {
|
|
50
66
|
borderLeftColor: settings.caret,
|
|
51
|
-
}
|
|
52
|
-
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (settings.lineHighlight) {
|
|
71
|
+
themeOptions['.cm-activeLine'] = {
|
|
53
72
|
backgroundColor: settings.lineHighlight,
|
|
54
|
-
}
|
|
55
|
-
'.cm-
|
|
56
|
-
backgroundColor: settings.gutterBackground,
|
|
57
|
-
color: settings.gutterForeground,
|
|
58
|
-
},
|
|
59
|
-
'.cm-activeLineGutter': {
|
|
73
|
+
};
|
|
74
|
+
themeOptions['.cm-activeLineGutter'] = {
|
|
60
75
|
backgroundColor: settings.lineHighlight,
|
|
61
|
-
}
|
|
62
|
-
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
63
79
|
if (settings.selection) {
|
|
64
80
|
themeOptions[
|
|
65
81
|
'&.cm-focused .cm-selectionBackground .cm-selectionBackground, & .cm-selectionLayer .cm-selectionBackground, ::selection'
|