@podlite/editor-react 0.0.60 → 0.0.62

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.
Files changed (60) hide show
  1. package/CHANGELOG.podlite +36 -0
  2. package/esm/Editor.css +22 -0
  3. package/esm/Editor.js +21 -6
  4. package/esm/Editor.js.map +1 -1
  5. package/esm/diagnostics.d.ts +18 -0
  6. package/esm/diagnostics.js +37 -0
  7. package/esm/diagnostics.js.map +1 -0
  8. package/esm/foldPodlite.js +11 -35
  9. package/esm/foldPodlite.js.map +1 -1
  10. package/esm/helpers.d.ts +3 -0
  11. package/esm/helpers.js +6 -12
  12. package/esm/helpers.js.map +1 -1
  13. package/esm/index.d.ts +0 -2
  14. package/esm/index.js +0 -2
  15. package/esm/index.js.map +1 -1
  16. package/esm/podliteDecorations.d.ts +5 -0
  17. package/esm/podliteDecorations.js +55 -0
  18. package/esm/podliteDecorations.js.map +1 -0
  19. package/esm/podliteMarkdown.d.ts +16 -0
  20. package/esm/podliteMarkdown.js +384 -0
  21. package/esm/podliteMarkdown.js.map +1 -0
  22. package/esm/theme.d.ts +101 -0
  23. package/esm/theme.js +61 -49
  24. package/esm/theme.js.map +1 -1
  25. package/lib/Editor.css +22 -0
  26. package/lib/Editor.js +21 -6
  27. package/lib/Editor.js.map +1 -1
  28. package/lib/diagnostics.d.ts +18 -0
  29. package/lib/diagnostics.js +43 -0
  30. package/lib/diagnostics.js.map +1 -0
  31. package/lib/foldPodlite.js +10 -34
  32. package/lib/foldPodlite.js.map +1 -1
  33. package/lib/helpers.d.ts +3 -0
  34. package/lib/helpers.js +7 -12
  35. package/lib/helpers.js.map +1 -1
  36. package/lib/index.d.ts +0 -2
  37. package/lib/index.js +0 -2
  38. package/lib/index.js.map +1 -1
  39. package/lib/podliteDecorations.d.ts +5 -0
  40. package/lib/podliteDecorations.js +59 -0
  41. package/lib/podliteDecorations.js.map +1 -0
  42. package/lib/podliteMarkdown.d.ts +16 -0
  43. package/lib/podliteMarkdown.js +391 -0
  44. package/lib/podliteMarkdown.js.map +1 -0
  45. package/lib/theme.d.ts +101 -0
  46. package/lib/theme.js +62 -50
  47. package/lib/theme.js.map +1 -1
  48. package/package.json +3 -2
  49. package/esm/podlite.d.ts +0 -3
  50. package/esm/podlite.js +0 -592
  51. package/esm/podlite.js.map +0 -1
  52. package/esm/simple-mode.d.ts +0 -19
  53. package/esm/simple-mode.js +0 -185
  54. package/esm/simple-mode.js.map +0 -1
  55. package/lib/podlite.d.ts +0 -3
  56. package/lib/podlite.js +0 -596
  57. package/lib/podlite.js.map +0 -1
  58. package/lib/simple-mode.d.ts +0 -19
  59. package/lib/simple-mode.js +0 -189
  60. package/lib/simple-mode.js.map +0 -1
@@ -0,0 +1,384 @@
1
+ import { markdown, markdownLanguage } from '@codemirror/lang-markdown';
2
+ import { ensureSyntaxTree, LanguageDescription, ParseContext, syntaxTree } from '@codemirror/language';
3
+ import { languages } from '@codemirror/language-data';
4
+ import { styleTags, tags as t } from '@lezer/highlight';
5
+ import { parseMixed } from '@lezer/common';
6
+ import { parser as mdParser } from '@lezer/markdown';
7
+ import { BLOCK_NAMES, isVerbatimBlock } from '@podlite/schema';
8
+ const directiveRe = /^=([A-Za-z][\w-]*)(.*)$/;
9
+ // a directive may go on over the next lines, each opened by a bare `=`
10
+ const continuationRe = /^=(\s.*)$/;
11
+ const nameRe = /^(\s+)([A-Za-z][\w-]*)/;
12
+ // `=Markdown` with a capital letter is the old spelling, still met in documents
13
+ const isMarkdownName = (name) => /^markdown$/i.test(name);
14
+ const DIRECTIVE_WORDS = ['begin', 'end', 'for', 'config', 'alias'];
15
+ const TAKES_A_NAME = new Set(['begin', 'end', 'for', 'config']);
16
+ // the directives whose marker line carries settings; on every other one what
17
+ // follows the keyword is content, and `C<…>` there is a markup code, not a value
18
+ const TAKES_SETTINGS = new Set(['begin', 'for', 'config', 'alias', 'set', 'boundary']);
19
+ const standard = (name) => DIRECTIVE_WORDS.includes(name) || BLOCK_NAMES.includes(name) || /^(head|item)\d*$/.test(name);
20
+ // SYNOPSIS and SEE-ALSO name a section of the document; Image and Diagram name
21
+ // a block the author brought in; the rest is a name nothing here knows
22
+ const nodeForName = (name) => {
23
+ if (standard(name))
24
+ return 'PodBlockName';
25
+ if (/^[A-Z][A-Z][A-Z0-9_-]*$/.test(name))
26
+ return 'PodSemanticBlock';
27
+ if (/^[A-Z][a-z][a-zA-Z0-9_-]*$/.test(name))
28
+ return 'PodCustomBlock';
29
+ return 'PodUnknownBlock';
30
+ };
31
+ // a value keeps its own delimiters; the norm has no square brackets since 2026-08
32
+ const attrRe = /:!?[\w-]+|<[^>]*>|\([^)]*\)|\{[^}]*\}|'[^']*'|"[^"]*"|「[^」]*」/g;
33
+ // every markup code the grammar accepts, coloured by what it turns into when
34
+ // the document is rendered: K and T are typed text like C, R names a stand-in
35
+ // value, H and J stand above and below the line, N and X leave a mark for the
36
+ // reader rather than text
37
+ const CODE_TAGS = {
38
+ A: t.variableName,
39
+ B: t.strong,
40
+ C: t.monospace,
41
+ D: t.definition(t.variableName),
42
+ E: t.escape,
43
+ F: t.literal,
44
+ G: t.comment,
45
+ H: t.annotation,
46
+ I: t.emphasis,
47
+ J: t.annotation,
48
+ K: t.monospace,
49
+ L: t.link,
50
+ N: t.meta,
51
+ O: t.strikethrough,
52
+ R: t.variableName,
53
+ S: t.content,
54
+ T: t.monospace,
55
+ U: t.labelName,
56
+ V: t.content,
57
+ W: t.link,
58
+ X: t.meta,
59
+ Z: t.comment,
60
+ };
61
+ const CODE_LETTERS = Object.keys(CODE_TAGS);
62
+ const codeNodeNames = CODE_LETTERS.map(c => `PodCode${c}`);
63
+ const closingFor = (open) => (open === '«' ? '»' : '>'.repeat(open.length));
64
+ const openerAt = (src, at) => {
65
+ if (!CODE_TAGS[src[at]])
66
+ return null;
67
+ if (src[at + 1] === '«')
68
+ return '«';
69
+ let open = '';
70
+ let i = at + 1;
71
+ while (src[i] === '<') {
72
+ open += '<';
73
+ i++;
74
+ }
75
+ return open || null;
76
+ };
77
+ // a code ends at its matching bracket, so nested codes of the same width count
78
+ const matchingEnd = (src, bodyFrom, open) => {
79
+ const close = closingFor(open);
80
+ let depth = 1;
81
+ let i = bodyFrom;
82
+ while (i < src.length) {
83
+ const nested = openerAt(src, i);
84
+ if (nested === open) {
85
+ depth++;
86
+ i += 1 + open.length;
87
+ continue;
88
+ }
89
+ if (src.startsWith(close, i)) {
90
+ depth--;
91
+ if (!depth)
92
+ return i;
93
+ i += close.length;
94
+ continue;
95
+ }
96
+ i++;
97
+ }
98
+ return -1;
99
+ };
100
+ // L and W carry two parts: what the reader sees and where it points
101
+ const SPLIT_CODES = new Set(['L', 'W']);
102
+ // reads the codes standing between two places in the text
103
+ const readCodesIn = (cx, src, from, to, offset) => {
104
+ const found = [];
105
+ for (let i = from; i < to;) {
106
+ const inner = readCode(cx, src, i, offset);
107
+ if (inner) {
108
+ found.push(inner);
109
+ i = inner.to - offset;
110
+ }
111
+ else
112
+ i++;
113
+ }
114
+ return found;
115
+ };
116
+ // reads one code at `at`; the body is scanned again so nested codes become children
117
+ const readCode = (cx, src, at, offset) => {
118
+ const open = openerAt(src, at);
119
+ if (!open)
120
+ return null;
121
+ const letter = src[at];
122
+ const bodyFrom = at + 1 + open.length;
123
+ const end = matchingEnd(src, bodyFrom, open);
124
+ if (end === -1)
125
+ return null;
126
+ const children = [cx.elt('PodCodeMark', offset + at, offset + bodyFrom)];
127
+ const bar = SPLIT_CODES.has(letter) ? topLevelBar(src, bodyFrom, end, open) : -1;
128
+ if (bar === -1) {
129
+ children.push(...readCodesIn(cx, src, bodyFrom, end, offset));
130
+ }
131
+ else {
132
+ children.push(...readCodesIn(cx, src, bodyFrom, bar, offset));
133
+ children.push(cx.elt('PodCodeMark', offset + bar, offset + bar + 1));
134
+ children.push(cx.elt('PodCodeTarget', offset + bar + 1, offset + end, readCodesIn(cx, src, bar + 1, end, offset)));
135
+ }
136
+ children.push(cx.elt('PodCodeMark', offset + end, offset + end + closingFor(open).length));
137
+ return cx.elt(`PodCode${letter}`, offset + at, offset + end + closingFor(open).length, children);
138
+ };
139
+ // the bar that splits the body, the one outside any code nested in it
140
+ const topLevelBar = (src, from, to, open) => {
141
+ for (let i = from; i < to;) {
142
+ const nested = openerAt(src, i);
143
+ if (nested) {
144
+ const end = matchingEnd(src, i + 1 + nested.length, nested);
145
+ if (end !== -1) {
146
+ i = end + closingFor(nested).length;
147
+ continue;
148
+ }
149
+ }
150
+ if (src[i] === '|')
151
+ return i;
152
+ i++;
153
+ }
154
+ return -1;
155
+ };
156
+ // the tag each kind of name is coloured by; a check compares the colours these
157
+ // reach, because two of them once reached the same one
158
+ export const ROLE_TAGS = {
159
+ keyword: t.keyword,
160
+ blockName: t.operator,
161
+ semanticBlock: t.macroName,
162
+ customBlock: t.tagName,
163
+ unknownBlock: t.variableName,
164
+ attrName: t.attributeName,
165
+ attrValue: t.string,
166
+ };
167
+ export const podliteMarkdownExtension = {
168
+ defineNodes: [
169
+ { name: 'PodDirective', block: true },
170
+ {
171
+ name: 'PodMarkdownBody',
172
+ block: true,
173
+ // 1 — the body of a delimited block, it runs up to its closing marker;
174
+ // 0 — the body of an abbreviated one, it runs to a blank line or the next directive
175
+ composite: (_cx, line, value) => value ? !/^\s*=end\s+markdown\b/i.test(line.text) : !!line.text.trim() && !/^\s*=/.test(line.text),
176
+ },
177
+ { name: 'PodKeyword' },
178
+ { name: 'PodBlockName' },
179
+ { name: 'PodSemanticBlock' },
180
+ { name: 'PodCustomBlock' },
181
+ { name: 'PodUnknownBlock' },
182
+ { name: 'PodAttrName' },
183
+ { name: 'PodAttrValue' },
184
+ { name: 'PodVerbatim' },
185
+ { name: 'PodCodeBody' },
186
+ { name: 'PodCodeMark' },
187
+ { name: 'PodCodeTarget' },
188
+ ...codeNodeNames.map(name => ({ name })),
189
+ ],
190
+ props: [
191
+ styleTags({
192
+ // the same tags the stream highlighter gave these, so colours stay put
193
+ PodKeyword: t.keyword,
194
+ PodBlockName: t.operator,
195
+ PodSemanticBlock: t.macroName,
196
+ PodCustomBlock: t.tagName,
197
+ PodUnknownBlock: t.variableName,
198
+ PodAttrName: t.attributeName,
199
+ PodAttrValue: t.string,
200
+ PodVerbatim: t.content,
201
+ PodCodeBody: t.content,
202
+ PodCodeMark: t.processingInstruction,
203
+ PodCodeTarget: t.url,
204
+ ...Object.fromEntries(CODE_LETTERS.map(c => [`PodCode${c}`, CODE_TAGS[c]])),
205
+ }),
206
+ ],
207
+ parseInline: [
208
+ {
209
+ name: 'PodFormattingCode',
210
+ before: 'Emphasis',
211
+ parse(cx, next, pos) {
212
+ const el = readCode(cx, cx.text, pos - cx.offset, cx.offset);
213
+ return el ? cx.addElement(el) : -1;
214
+ },
215
+ },
216
+ ],
217
+ parseBlock: [
218
+ {
219
+ name: 'PodDirective',
220
+ before: 'ATXHeading',
221
+ // a directive right under a line of text starts a block of its own,
222
+ // it does not go on the paragraph above
223
+ endLeaf(_cx, line) {
224
+ return directiveRe.test(line.text) || continuationRe.test(line.text);
225
+ },
226
+ parse(cx, line) {
227
+ const text = line.text.slice(line.pos);
228
+ const m = directiveRe.exec(text);
229
+ const cont = m ? null : continuationRe.exec(text);
230
+ if (!m && !cont)
231
+ return false;
232
+ const start = cx.lineStart + line.pos;
233
+ const markerEnd = cx.lineStart + line.text.length;
234
+ const children = [];
235
+ let at = start;
236
+ let word = '';
237
+ let blockName = '';
238
+ let rest = '';
239
+ if (cont) {
240
+ children.push(cx.elt('PodKeyword', at, at + 1));
241
+ at += 1;
242
+ rest = cont[1];
243
+ }
244
+ else {
245
+ word = m[1];
246
+ rest = m[2];
247
+ // `=begin`, `=head1` and the like read as one word; a name of its own
248
+ // keeps the `=` a keyword and takes its colour from what the name is
249
+ if (standard(word)) {
250
+ children.push(cx.elt('PodKeyword', at, at + 1 + word.length));
251
+ }
252
+ else {
253
+ children.push(cx.elt('PodKeyword', at, at + 1));
254
+ children.push(cx.elt(nodeForName(word), at + 1, at + 1 + word.length));
255
+ }
256
+ at += 1 + word.length;
257
+ const n = TAKES_A_NAME.has(word) ? nameRe.exec(rest) : null;
258
+ if (n) {
259
+ blockName = n[2];
260
+ children.push(cx.elt(nodeForName(blockName), at + n[1].length, at + n[0].length));
261
+ at += n[0].length;
262
+ rest = rest.slice(n[0].length);
263
+ }
264
+ }
265
+ if (cont || TAKES_SETTINGS.has(word)) {
266
+ for (const a of rest.matchAll(attrRe)) {
267
+ const from = at + a.index;
268
+ children.push(cx.elt(a[0][0] === ':' ? 'PodAttrName' : 'PodAttrValue', from, from + a[0].length));
269
+ }
270
+ }
271
+ else if (rest) {
272
+ // an abbreviated block carries its content on the marker line
273
+ children.push(...cx.parser.parseInline(rest, at));
274
+ }
275
+ // a block that keeps its content as written: markdown must not read it.
276
+ // `=begin markdown` is the exception — its content is markdown by definition
277
+ if (word === 'begin' && blockName && !isMarkdownName(blockName) && isVerbatimBlock(blockName)) {
278
+ const endRe = new RegExp(`^\\s*=end\\s+${blockName}\\b`);
279
+ cx.nextLine();
280
+ let closed = false;
281
+ while (cx.line) {
282
+ if (endRe.test(cx.line.text)) {
283
+ closed = true;
284
+ break;
285
+ }
286
+ if (!cx.nextLine())
287
+ break;
288
+ }
289
+ // the closing marker is left to be read as a directive of its own,
290
+ // so its keyword and block name get their colours
291
+ const to = closed ? cx.lineStart - 1 : cx.line ? cx.lineStart + cx.line.text.length : markerEnd;
292
+ // the body sits in a node of its own inside the verbatim one: a
293
+ // language mounted on it replaces that child, and `PodVerbatim`
294
+ // stays where folding and the rest of the editor look for it
295
+ if (to > markerEnd)
296
+ children.push(cx.elt('PodVerbatim', markerEnd, to, [cx.elt('PodCodeBody', markerEnd, to)]));
297
+ cx.addElement(cx.elt('PodDirective', start, Math.max(to, markerEnd), children));
298
+ if (!closed)
299
+ cx.nextLine();
300
+ return true;
301
+ }
302
+ cx.addElement(cx.elt('PodDirective', start, markerEnd, children));
303
+ cx.nextLine();
304
+ // the body of a markdown block is markdown; it gets a node of its own so
305
+ // the editor can tell from the tree that the caret stands inside one
306
+ const opensBody = (word === 'begin' && isMarkdownName(blockName)) || (!cont && !TAKES_A_NAME.has(word) && isMarkdownName(word));
307
+ if (opensBody && cx.line) {
308
+ cx.startComposite('PodMarkdownBody', cx.line.pos, word === 'begin' ? 1 : 0);
309
+ return null;
310
+ }
311
+ return true;
312
+ },
313
+ },
314
+ ],
315
+ };
316
+ // the tree already knows where the caret stands, so nothing is parsed a second time
317
+ export const suggestionContextAt = (state, pos) => {
318
+ // the tree may not have reached the caret yet; give the parse a moment to get there
319
+ const tree = ensureSyntaxTree(state, pos, 100) || syntaxTree(state);
320
+ // both sides, so a caret at the very start or the very end of the body counts as inside
321
+ for (const side of [-1, 1])
322
+ for (let node = tree.resolveInner(pos, side); node; node = node.parent)
323
+ if (node.name === 'PodMarkdownBody')
324
+ return 'md';
325
+ return 'pod6';
326
+ };
327
+ // the same question answered on a piece of text, for callers that hold no editor state
328
+ export const suggestionContextForLine = (text, line) => {
329
+ const tree = mdParser.configure(podliteMarkdownExtension).parse(text);
330
+ const from = lineStartOf(text, line);
331
+ const nl = text.indexOf('\n', from);
332
+ const to = nl === -1 ? text.length : nl;
333
+ let found = 'pod6';
334
+ // the body starts past the indent, so the line is measured by overlap
335
+ tree.iterate({
336
+ enter: n => {
337
+ if (n.name === 'PodMarkdownBody' && n.from <= to && from < n.to)
338
+ found = 'md';
339
+ },
340
+ });
341
+ return found;
342
+ };
343
+ const lineStartOf = (text, line) => {
344
+ let at = 0;
345
+ for (let n = 1; n < line; n++) {
346
+ const next = text.indexOf('\n', at);
347
+ if (next === -1)
348
+ return at;
349
+ at = next + 1;
350
+ }
351
+ return at;
352
+ };
353
+ // the body of `=begin code :lang<js>` is read by that language, the same way a
354
+ // markdown fence is read by the language named after its backticks
355
+ export const podliteCodeLanguage = (codeLanguages) => ({
356
+ wrap: parseMixed((node, input) => {
357
+ if (node.name !== 'PodCodeBody' || !codeLanguages)
358
+ return null;
359
+ const block = node.node.parent?.parent;
360
+ const marker = input.read(block ? block.from : node.from, node.from);
361
+ const named = /:lang\s*(?:<([^>]*)>|\(\s*'([^']*)'\s*\)|"([^"]*)"|「([^」]*)」)/.exec(marker);
362
+ const name = ((named && (named[1] || named[2] || named[3] || named[4])) || '').trim();
363
+ if (!name)
364
+ return null;
365
+ const found = typeof codeLanguages === 'function'
366
+ ? codeLanguages(name)
367
+ : LanguageDescription.matchLanguageName(codeLanguages, name, true);
368
+ if (!found)
369
+ return null;
370
+ if (found instanceof LanguageDescription)
371
+ // a language that has not been loaded yet parses as nothing until it is
372
+ return { parser: found.support ? found.support.language.parser : ParseContext.getSkippingParser(found.load()) };
373
+ return { parser: found.parser };
374
+ }),
375
+ });
376
+ // Podlite read on top of the markdown parser: the content of a markdown block
377
+ // and the code inside a fence get their own highlighting for free
378
+ // `codeLanguages` is a parameter so a test can hand in a list it loads itself
379
+ export const podliteTreeLang = (codeLanguages = languages) => markdown({
380
+ base: markdownLanguage,
381
+ codeLanguages,
382
+ extensions: [podliteMarkdownExtension, podliteCodeLanguage(codeLanguages)],
383
+ });
384
+ //# sourceMappingURL=podliteMarkdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"podliteMarkdown.js","sourceRoot":"","sources":["../src/podliteMarkdown.ts"],"names":[],"mappings":"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"}
package/esm/theme.d.ts CHANGED
@@ -1 +1,102 @@
1
+ export declare const syntaxStyles: ({
2
+ tag: import("@lezer/highlight").Tag;
3
+ color: string;
4
+ fontWeight?: undefined;
5
+ fontSize?: undefined;
6
+ textDecoration?: undefined;
7
+ fontStyle?: undefined;
8
+ fontFamily?: undefined;
9
+ backgroundColor?: undefined;
10
+ borderRadius?: undefined;
11
+ } | {
12
+ tag: import("@lezer/highlight").Tag[];
13
+ color: string;
14
+ fontWeight?: undefined;
15
+ fontSize?: undefined;
16
+ textDecoration?: undefined;
17
+ fontStyle?: undefined;
18
+ fontFamily?: undefined;
19
+ backgroundColor?: undefined;
20
+ borderRadius?: undefined;
21
+ } | {
22
+ tag: import("@lezer/highlight").Tag;
23
+ color: string;
24
+ fontWeight: string;
25
+ fontSize?: undefined;
26
+ textDecoration?: undefined;
27
+ fontStyle?: undefined;
28
+ fontFamily?: undefined;
29
+ backgroundColor?: undefined;
30
+ borderRadius?: undefined;
31
+ } | {
32
+ tag: import("@lezer/highlight").Tag;
33
+ color: string;
34
+ fontSize: string;
35
+ fontWeight: string;
36
+ textDecoration?: undefined;
37
+ fontStyle?: undefined;
38
+ fontFamily?: undefined;
39
+ backgroundColor?: undefined;
40
+ borderRadius?: undefined;
41
+ } | {
42
+ tag: import("@lezer/highlight").Tag;
43
+ fontSize: string;
44
+ color?: undefined;
45
+ fontWeight?: undefined;
46
+ textDecoration?: undefined;
47
+ fontStyle?: undefined;
48
+ fontFamily?: undefined;
49
+ backgroundColor?: undefined;
50
+ borderRadius?: undefined;
51
+ } | {
52
+ tag: import("@lezer/highlight").Tag;
53
+ color: string;
54
+ textDecoration: string;
55
+ fontWeight?: undefined;
56
+ fontSize?: undefined;
57
+ fontStyle?: undefined;
58
+ fontFamily?: undefined;
59
+ backgroundColor?: undefined;
60
+ borderRadius?: undefined;
61
+ } | {
62
+ tag: import("@lezer/highlight").Tag;
63
+ fontWeight: string;
64
+ color?: undefined;
65
+ fontSize?: undefined;
66
+ textDecoration?: undefined;
67
+ fontStyle?: undefined;
68
+ fontFamily?: undefined;
69
+ backgroundColor?: undefined;
70
+ borderRadius?: undefined;
71
+ } | {
72
+ tag: import("@lezer/highlight").Tag;
73
+ fontStyle: string;
74
+ color?: undefined;
75
+ fontWeight?: undefined;
76
+ fontSize?: undefined;
77
+ textDecoration?: undefined;
78
+ fontFamily?: undefined;
79
+ backgroundColor?: undefined;
80
+ borderRadius?: undefined;
81
+ } | {
82
+ tag: import("@lezer/highlight").Tag;
83
+ fontFamily: string;
84
+ color: string;
85
+ backgroundColor: string;
86
+ borderRadius: string;
87
+ fontWeight?: undefined;
88
+ fontSize?: undefined;
89
+ textDecoration?: undefined;
90
+ fontStyle?: undefined;
91
+ } | {
92
+ tag: import("@lezer/highlight").Tag;
93
+ textDecoration: string;
94
+ color?: undefined;
95
+ fontWeight?: undefined;
96
+ fontSize?: undefined;
97
+ fontStyle?: undefined;
98
+ fontFamily?: undefined;
99
+ backgroundColor?: undefined;
100
+ borderRadius?: undefined;
101
+ })[];
1
102
  export declare const defaultTheme: import("@codemirror/state").Extension;
package/esm/theme.js CHANGED
@@ -1,5 +1,65 @@
1
1
  import { createTheme } from '@uiw/codemirror-themes';
2
2
  import { tags as t } from '@lezer/highlight';
3
+ // exported so a check can compare the colour of one role against another:
4
+ // two roles reached the same colour by different tags and nobody noticed
5
+ export const syntaxStyles = [
6
+ { tag: t.comment, color: 'var(--color-prettylights-syntax-comment)' },
7
+ { tag: t.variableName, color: 'var(--color-prettylights-syntax-variable)' },
8
+ { tag: t.special(t.brace), color: 'var(--color-prettylights-syntax-entity)' },
9
+ { tag: t.number, color: 'var(--color-prettylights-syntax-variable)' },
10
+ { tag: [t.bool, t.null], color: 'var(--color-prettylights-syntax-entity)' },
11
+ { tag: t.keyword, color: 'var(--color-prettylights-syntax-keyword)', fontWeight: 'bold' },
12
+ { tag: t.string, color: 'var(--color-prettylights-syntax-string)' },
13
+ { tag: t.operator, color: 'var(--color-accent-emphasis)' },
14
+ { tag: t.deleted, color: 'var(--color-prettylights-syntax-markup-deleted-bg)' },
15
+ { tag: t.deleted, color: 'red' },
16
+ { tag: t.className, color: 'var(--color-prettylights-syntax-variable)' },
17
+ { tag: t.definition(t.typeName), color: 'var(--color-prettylights-syntax-entity)' },
18
+ { tag: t.typeName, color: 'var(--color-prettylights-syntax-entity)' },
19
+ { tag: t.list, color: 'var(--color-prettylights-syntax-markup-list)' },
20
+ { tag: t.heading, color: 'var(--color-prettylights-syntax-markup-heading)', fontSize: '105%', fontWeight: 'bold' },
21
+ {
22
+ tag: t.heading1,
23
+ fontSize: '150%',
24
+ },
25
+ {
26
+ tag: t.heading2,
27
+ fontSize: '130%',
28
+ },
29
+ {
30
+ tag: t.heading3,
31
+ fontSize: '110%',
32
+ },
33
+ { tag: t.regexp, color: 'var(--color-prettylights-syntax-string-regexp)' },
34
+ { tag: t.literal, color: 'var(--color-prettylights-syntax-markup-italic)' },
35
+ {
36
+ tag: t.link,
37
+ color: 'var(--color-prettylights-syntax-constant-other-reference-link)',
38
+ textDecoration: 'underline',
39
+ },
40
+ { tag: t.angleBracket, color: 'var(--color-fg-default)' },
41
+ { tag: t.tagName, color: 'var(--color-prettylights-syntax-entity-tag)' },
42
+ { tag: t.macroName, color: 'var(--color-prettylights-syntax-entity)' },
43
+ { tag: t.attributeName, color: 'var(--color-prettylights-syntax-constant)' },
44
+ { tag: t.strong, fontWeight: 'bold' },
45
+ { tag: t.emphasis, fontStyle: 'italic' },
46
+ {
47
+ tag: t.monospace,
48
+ fontFamily: 'monospace',
49
+ color: 'var(--color-prettylights-syntax-string)',
50
+ backgroundColor: 'var(--color-canvas-subtle)',
51
+ borderRadius: '3px',
52
+ },
53
+ { tag: t.strikethrough, textDecoration: 'line-through' },
54
+ { tag: t.constant(t.variableName), color: 'var(--color-prettylights-syntax-constant)' },
55
+ // the brackets of a markup code stand back from what they hold
56
+ { tag: t.processingInstruction, color: 'var(--color-fg-muted)' },
57
+ { tag: t.labelName, textDecoration: 'underline' },
58
+ { tag: t.escape, color: 'var(--color-prettylights-syntax-constant)' },
59
+ // a mark left for the reader — a note, an index entry, a place above or below the line
60
+ { tag: [t.meta, t.annotation], color: 'var(--color-fg-muted)' },
61
+ { tag: t.url, color: 'var(--color-prettylights-syntax-string)' },
62
+ ];
3
63
  export const defaultTheme = createTheme({
4
64
  theme: 'light',
5
65
  settings: {
@@ -14,54 +74,6 @@ export const defaultTheme = createTheme({
14
74
  gutterBorder: 'var(--color-border-muted)',
15
75
  fontFamily: 'Menlo,Monaco,Consolas,Courier New,monospace',
16
76
  },
17
- styles: [
18
- { tag: t.comment, color: 'var(--color-prettylights-syntax-comment)' },
19
- { tag: t.variableName, color: 'var(--color-prettylights-syntax-variable)' },
20
- { tag: [t.string, t.special(t.brace)], color: 'var(--color-prettylights-syntax-entity)' },
21
- { tag: t.number, color: 'var(--color-prettylights-syntax-variable)' },
22
- { tag: [t.bool, t.null], color: 'var(--color-prettylights-syntax-entity)' },
23
- { tag: t.keyword, color: 'var(--color-prettylights-syntax-keyword)', fontWeight: 'bold' },
24
- { tag: t.string, color: 'var(--color-prettylights-syntax-string)' },
25
- { tag: t.operator, color: 'var(--color-accent-emphasis)' },
26
- { tag: t.deleted, color: 'var(--color-prettylights-syntax-markup-deleted-bg)' },
27
- { tag: t.deleted, color: 'red' },
28
- { tag: t.className, color: 'var(--color-prettylights-syntax-variable)' },
29
- { tag: t.definition(t.typeName), color: 'var(--color-prettylights-syntax-entity)' },
30
- { tag: t.typeName, color: 'var(--color-prettylights-syntax-entity)' },
31
- { tag: t.list, color: 'var(--color-prettylights-syntax-markup-list)' },
32
- { tag: t.heading, color: 'var(--color-prettylights-syntax-markup-heading)', fontSize: '105%', fontWeight: 'bold' },
33
- {
34
- tag: t.heading1,
35
- fontSize: '150%',
36
- },
37
- {
38
- tag: t.heading2,
39
- fontSize: '130%',
40
- },
41
- {
42
- tag: t.heading3,
43
- fontSize: '110%',
44
- },
45
- { tag: t.regexp, color: 'var(--color-prettylights-syntax-string-regexp)' },
46
- { tag: t.literal, color: 'var(--color-prettylights-syntax-markup-italic)' },
47
- {
48
- tag: t.link,
49
- color: 'var(--color-prettylights-syntax-constant-other-reference-link)',
50
- textDecoration: 'underline',
51
- },
52
- { tag: t.angleBracket, color: 'var(--color-fg-default)' },
53
- { tag: t.tagName, color: 'var(--color-prettylights-syntax-entity-tag)' },
54
- { tag: t.attributeName, color: 'var(--color-prettylights-syntax-constant)' },
55
- { tag: t.strong, fontWeight: 'bold' },
56
- { tag: t.emphasis, fontStyle: 'italic' },
57
- {
58
- tag: t.monospace,
59
- fontFamily: 'monospace',
60
- color: 'var(--color-prettylights-syntax-string)',
61
- backgroundColor: 'var(--color-canvas-subtle)',
62
- borderRadius: '3px',
63
- },
64
- { tag: t.strikethrough, textDecoration: 'line-through' },
65
- ],
77
+ styles: syntaxStyles,
66
78
  });
67
79
  //# sourceMappingURL=theme.js.map
package/esm/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;QACR,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,yBAAyB;QACrC,KAAK,EAAE,yBAAyB;QAChC,SAAS,EAAE,6BAA6B;QACxC,cAAc,EAAE,2BAA2B;QAC3C,aAAa,EAAE,4BAA4B;QAC3C,gBAAgB,EAAE,4BAA4B;QAC9C,gBAAgB,EAAE,uBAAuB;QACzC,YAAY,EAAE,2BAA2B;QACzC,UAAU,EAAE,6CAA6C;KAC1D;IACD,MAAM,EAAE;QACN,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,0CAA0C,EAAE;QACrE,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,2CAA2C,EAAE;QAC3E,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE;QACzF,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,2CAA2C,EAAE;QACrE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE;QAC3E,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,0CAA0C,EAAE,UAAU,EAAE,MAAM,EAAE;QACzF,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,yCAAyC,EAAE;QACnE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,8BAA8B,EAAE;QAC1D,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,oDAAoD,EAAE;QAC/E,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;QAChC,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,2CAA2C,EAAE;QACxE,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE;QACnF,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,yCAAyC,EAAE;QACrE,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,8CAA8C,EAAE;QACtE,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,iDAAiD,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;QAClH;YACE,GAAG,EAAE,CAAC,CAAC,QAAQ;YACf,QAAQ,EAAE,MAAM;SACjB;QACD;YACE,GAAG,EAAE,CAAC,CAAC,QAAQ;YACf,QAAQ,EAAE,MAAM;SACjB;QACD;YACE,GAAG,EAAE,CAAC,CAAC,QAAQ;YACf,QAAQ,EAAE,MAAM;SACjB;QACD,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,gDAAgD,EAAE;QAC1E,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,gDAAgD,EAAE;QAC3E;YACE,GAAG,EAAE,CAAC,CAAC,IAAI;YACX,KAAK,EAAE,gEAAgE;YACvE,cAAc,EAAE,WAAW;SAC5B;QACD,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,yBAAyB,EAAE;QACzD,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,6CAA6C,EAAE;QACxE,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,2CAA2C,EAAE;QAC5E,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;QACrC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;QACxC;YACE,GAAG,EAAE,CAAC,CAAC,SAAS;YAChB,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,yCAAyC;YAChD,eAAe,EAAE,4BAA4B;YAC7C,YAAY,EAAE,KAAK;SACpB;QACD,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE;KACzD;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}