@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
package/CHANGELOG.podlite CHANGED
@@ -2,6 +2,42 @@
2
2
 
3
3
  =head1 Upcoming
4
4
 
5
+ =head1 0.0.62
6
+
7
+ =item give a section name and a name the author brought in colours of their own. A section name was coloured like a setting name, and an author's name like an unknown one, so four kinds of block name showed up as two
8
+
9
+ =item keep one copy of each CodeMirror package in the tree and raise C<@codemirror/view> to 6.43. With two copies an extension does nothing and says nothing: the find-and-replace panel refused to open, and highlighting stopped altogether when the copies were of C<@lezer/common>
10
+
11
+ =item read Podlite on top of the markdown parser: the content of a C<< =begin markdown >> block and code inside a fence get their own highlighting. This replaces the stream mode — C<src/podlite.js> and C<src/simple-mode.js> are gone, and with them the C<podliteLang> export
12
+
13
+ =item the tree highlighter tells a section name (C<SYNOPSIS>) from a name the author brought in (C<Image>) and from a standard block, in both the delimited and the abbreviated form
14
+
15
+ =item the body of a markdown block is a node of its own, so the editor tells markdown from Podlite by looking at the tree under the caret. C<getSuggestionContextForLine> no longer parses the document a second time; C<suggestionContextAt(state, pos)> answers the same question from editor state
16
+
17
+ =item a directive is read under an indent as well
18
+
19
+ =item read the content of an abbreviated block on its own marker line: C<< =item B<bold> >> and C<< =head1 C<code> >> now show markup codes there, and the brackets of a code are no longer taken for a setting value. Settings are read where settings belong — C<=begin>, C<=for>, C<=config>, C<=alias>, C<=set>, C<=boundary> and continuation lines
20
+
21
+ =item the fold service takes the blocks whose content is read as written from the highlighting tree instead of its own list of five names — folding is no longer offered inside a table, a formula, a picture or a data table
22
+
23
+ =item show content the author keeps out of what is published — C<< G<> >> — as a covered strip; the caret stepping inside uncovers it, and the text stays selectable underneath
24
+
25
+ =item colour the settings that follow the language in a markdown fence, C<< ```js :caption<...> >>, in Podlite documents and in C<.md> files alike
26
+
27
+ =item highlight all 22 markup codes the grammar accepts, not the ten the old highlighter knew: C<D>, C<E>, C<H>, C<J>, C<K>, C<N>, C<R>, C<S>, C<T>, C<V>, C<W>, C<X> are added, coloured by what each turns into when the document is rendered
28
+
29
+ =item in C<< L<text|target> >> and C<< W<text|context> >> the part after the bar is highlighted apart from the text; a bar inside a nested code belongs to that code
30
+
31
+ =item suggestions follow the caret: markdown snippets inside the body of a markdown block and in a C<.md> file, Podlite ones everywhere else. The markdown entries of the dictionary were unreachable before
32
+
33
+ =item the tree highlighter takes a hyphenated attribute name and a negation whole (C<:mime-type>, C<:!toc>), marks a value in a bare delimiter (C<'…'>, C<"…">, C<「…」>), and takes only a matching pair as a value
34
+
35
+ =item mark an attribute value the parser could not read, with the message on hover; the line under the caret stays quiet while it is being typed
36
+
37
+ =head1 0.0.61
38
+
39
+ =item stop importing global css from the entry — import C<@podlite/editor-react/Editor.css> and C<@podlite/editor-react/podlite-vars.css> in your app
40
+
5
41
  =head1 0.0.58
6
42
 
7
43
  =item add a C<language> prop (C<podlite> | C<markdown>) that selects editor syntax highlighting; C<markdown> highlights Markdown source and fenced code by language
package/esm/Editor.css CHANGED
@@ -114,3 +114,25 @@
114
114
  content-visibility: auto;
115
115
  contain-intrinsic-size: auto 2em;
116
116
  }
117
+
118
+ /* Content the author keeps out of what is published — `G<>`. Shown as a
119
+ covered strip; stepping the caret inside uncovers it, so editing is
120
+ unaffected. The text stays selectable and copyable underneath. */
121
+ .cm-pod-covered,
122
+ .cm-pod-covered * {
123
+ /* the syntax colour of the code sits on an inner span, so the cover has to
124
+ reach the descendants as well */
125
+ color: transparent !important;
126
+ }
127
+ .cm-pod-covered {
128
+ background: var(--color-neutral-muted);
129
+ border-radius: 3px;
130
+ }
131
+ /* Settings after the language in a markdown fence — ```js :caption<...> —
132
+ coloured like the settings of any other block. */
133
+ .cm-pod-fence-attr-name {
134
+ color: var(--color-prettylights-syntax-constant);
135
+ }
136
+ .cm-pod-fence-attr-value {
137
+ color: var(--color-prettylights-syntax-string);
138
+ }
package/esm/Editor.js CHANGED
@@ -3,7 +3,6 @@ import CodeMirror from '@uiw/react-codemirror';
3
3
  import Podlite from '@podlite/to-jsx';
4
4
  import { podlite as podlite_core } from 'podlite';
5
5
  import * as events from '@uiw/codemirror-extensions-events';
6
- import { podliteLang } from './podlite';
7
6
  import { markdown, markdownLanguage } from '@codemirror/lang-markdown';
8
7
  import { languages } from '@codemirror/language-data';
9
8
  import { defaultTheme } from './theme';
@@ -16,6 +15,10 @@ import { autocompletion, snippet } from '@codemirror/autocomplete';
16
15
  import dictionary from './dict';
17
16
  import { listContinuationKeymap, itemLevelKeymap } from './listContinuation';
18
17
  import { podliteFoldService } from './foldPodlite';
18
+ import { dictionaryFor } from './helpers';
19
+ import { podliteTreeLang, suggestionContextAt } from './podliteMarkdown';
20
+ import { podliteDecorations } from './podliteDecorations';
21
+ import { podliteDiagnostics } from './diagnostics';
19
22
  import HighlightedCode from './HighlightedCode';
20
23
  import { createImagePasteDropHandler } from './imagePasteHandler';
21
24
  function useDebouncedEffect(fn, deps, time) {
@@ -433,8 +436,7 @@ function PodliteEditorInternal(props, ref) {
433
436
  const autocompletionExt = React.useMemo(() => {
434
437
  if (!enableAutocompletion)
435
438
  return null;
436
- const langDict = dictionary.filter(({ lang = 'pod6' }) => lang === 'pod6');
437
- const completions = langDict.map(({ displayText, text }) => {
439
+ const optionsFor = (want) => dictionaryFor(dictionary, want).map(({ displayText, text }) => {
438
440
  function cleanBraces(text) {
439
441
  return text.replace(/\#\{[^\}]*\}/g, '');
440
442
  }
@@ -445,21 +447,28 @@ function PodliteEditorInternal(props, ref) {
445
447
  info: cleanBraces(text),
446
448
  };
447
449
  });
450
+ const completions = {
451
+ pod6: optionsFor('pod6'),
452
+ md: optionsFor('md'),
453
+ };
448
454
  function myCompletions(context) {
449
455
  let before = context.matchBefore(/^\s*=\w*/);
450
456
  if (!context.explicit && !before)
451
457
  return null;
458
+ // a markdown file is markdown throughout; inside a Podlite document the
459
+ // tree says whether the caret stands in the body of a markdown block
460
+ const where = language === 'markdown' ? 'md' : suggestionContextAt(context.state, context.pos);
452
461
  return {
453
462
  from: before ? before.from + before.text.indexOf('=') + 1 : context.pos,
454
- options: completions,
463
+ options: completions[where],
455
464
  validFor: /^=\w*$/,
456
465
  };
457
466
  }
458
467
  return autocompletion({ override: [myCompletions] });
459
- }, [enableAutocompletion, makeApply]);
468
+ }, [enableAutocompletion, makeApply, language]);
460
469
  const extensionsData = React.useMemo(() => {
461
470
  const exts = [
462
- language === 'markdown' ? markdown({ base: markdownLanguage, codeLanguages: languages }) : podliteLang(),
471
+ language === 'markdown' ? markdown({ base: markdownLanguage, codeLanguages: languages }) : podliteTreeLang(),
463
472
  EditorView.lineWrapping,
464
473
  search({ top: true }),
465
474
  stateChangeListener,
@@ -467,7 +476,13 @@ function PodliteEditorInternal(props, ref) {
467
476
  listContinuationKeymap,
468
477
  preventToggleComment,
469
478
  imagePasteDropHandler,
479
+ // covered content and the settings of a fenced block; a markdown file has
480
+ // fences too, so this is not kept to Podlite documents
481
+ podliteDecorations(),
470
482
  ];
483
+ if (language === 'podlite') {
484
+ exts.push(podliteDiagnostics());
485
+ }
471
486
  if (enableFolding) {
472
487
  if (language === 'podlite')
473
488
  exts.push(podliteFoldService);
package/esm/Editor.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.js","sourceRoot":"","sources":["../src/Editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Editor.js","sourceRoot":"","sources":["../src/Editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Diagnostic } from '@codemirror/lint';
2
+ import type { Extension } from '@codemirror/state';
3
+ export type ParseDiagnostic = {
4
+ severity: 'warning';
5
+ message: string;
6
+ location: {
7
+ start: {
8
+ offset: number;
9
+ line: number;
10
+ };
11
+ end: {
12
+ offset: number;
13
+ };
14
+ };
15
+ };
16
+ export declare const parseDiagnostics: (text: string) => ParseDiagnostic[];
17
+ export declare const toEditorDiagnostics: (found: ParseDiagnostic[], caretLine: number) => Diagnostic[];
18
+ export declare const podliteDiagnostics: () => Extension;
@@ -0,0 +1,37 @@
1
+ import { linter } from '@codemirror/lint';
2
+ import { podlite as podliteCore } from 'podlite';
3
+ // no plugins: the diagnostics come from the grammar, nothing downstream adds to them
4
+ const parser = podliteCore({ importPlugins: false });
5
+ let lastText;
6
+ let lastResult = [];
7
+ export const parseDiagnostics = (text) => {
8
+ if (text === lastText)
9
+ return lastResult;
10
+ let found = [];
11
+ try {
12
+ found = parser.parse(text).diagnostics || [];
13
+ }
14
+ catch {
15
+ found = [];
16
+ }
17
+ lastText = text;
18
+ lastResult = found;
19
+ return found;
20
+ };
21
+ // A line being typed is not a mistake yet: `:k(` is an unfinished thought while
22
+ // the caret sits on it
23
+ export const toEditorDiagnostics = (found, caretLine) => found
24
+ .filter(d => d.location.start.line !== caretLine)
25
+ .map(d => ({
26
+ from: d.location.start.offset,
27
+ to: d.location.end.offset,
28
+ severity: d.severity,
29
+ message: d.message,
30
+ source: 'podlite',
31
+ }));
32
+ export const podliteDiagnostics = () => linter(view => {
33
+ const text = view.state.doc.toString();
34
+ const caretLine = view.state.doc.lineAt(view.state.selection.main.head).number;
35
+ return toEditorDiagnostics(parseDiagnostics(text), caretLine);
36
+ }, { delay: 750 });
37
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,kBAAkB,CAAA;AAErD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAA;AAQhD,qFAAqF;AACrF,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAA;AAEpD,IAAI,QAA4B,CAAA;AAChC,IAAI,UAAU,GAAsB,EAAE,CAAA;AAEtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAqB,EAAE;IAClE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAA;IACxC,IAAI,KAAK,GAAsB,EAAE,CAAA;IACjC,IAAI,CAAC;QACH,KAAK,GAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAyC,CAAC,WAAW,IAAI,EAAE,CAAA;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,EAAE,CAAA;IACZ,CAAC;IACD,QAAQ,GAAG,IAAI,CAAA;IACf,UAAU,GAAG,KAAK,CAAA;IAClB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,gFAAgF;AAChF,uBAAuB;AACvB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAwB,EAAE,SAAiB,EAAgB,EAAE,CAC/F,KAAK;KACF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;KAChD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;IAC7B,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM;IACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ;IACpB,OAAO,EAAE,CAAC,CAAC,OAAO;IAClB,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC,CAAA;AAEP,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAc,EAAE,CAChD,MAAM,CACJ,IAAI,CAAC,EAAE;IACL,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;IAC9E,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAA;AAC/D,CAAC,EACD,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA"}
@@ -1,46 +1,24 @@
1
- import { foldService } from '@codemirror/language';
1
+ import { ensureSyntaxTree, foldService, syntaxTree } from '@codemirror/language';
2
2
  // =begin Name ... =end Name
3
3
  const beginRe = /^(\s*)=begin\s+(\S+)/;
4
4
  const endRe = /^(\s*)=end\s+(\S+)/;
5
5
  // =headN (level 1-6)
6
6
  const headRe = /^(\s*)=head(\d+)\s/;
7
- // Verbatim block types where content should not be folded
8
- const verbatimTypes = new Set(['code', 'comment', 'data', 'input', 'output']);
9
7
  // Parse =begin line, return block name or null
10
8
  function parseBeginLine(lineText) {
11
9
  const m = lineText.match(beginRe);
12
10
  return m ? m[2] ?? null : null;
13
11
  }
14
- // Cache verbatim ranges per document version to avoid rescanning on every fold query
15
- let _cachedVerbatimDoc = null;
16
- let _cachedVerbatimRanges = [];
17
- function getVerbatimRanges(state) {
18
- // EditorState.doc is immutable same reference means same content
19
- if (_cachedVerbatimDoc === state.doc)
20
- return _cachedVerbatimRanges;
21
- const ranges = [];
22
- for (let i = 1; i <= state.doc.lines; i++) {
23
- const line = state.doc.line(i);
24
- const m = line.text.match(beginRe);
25
- if (m && verbatimTypes.has(m[2])) {
26
- for (let j = i + 1; j <= state.doc.lines; j++) {
27
- const endLine = state.doc.line(j);
28
- const em = endLine.text.match(endRe);
29
- if (em && em[2] === m[2]) {
30
- if (i + 1 <= j - 1) {
31
- ranges.push({ from: i + 1, to: j - 1 });
32
- }
33
- break;
34
- }
35
- }
36
- }
12
+ // A block whose content is taken as written offers no folding inside it. Which
13
+ // blocks those are is not decided here — the highlighting tree marks their
14
+ // content `PodVerbatim`, and it is built for the visible part anyway
15
+ function isInsideVerbatim(state, pos) {
16
+ const tree = ensureSyntaxTree(state, pos, 50) || syntaxTree(state);
17
+ for (let node = tree.resolveInner(pos, 1); node; node = node.parent) {
18
+ if (node.name === 'PodVerbatim')
19
+ return true;
37
20
  }
38
- _cachedVerbatimDoc = state.doc;
39
- _cachedVerbatimRanges = ranges;
40
- return ranges;
41
- }
42
- function isInsideVerbatim(lineNumber, ranges) {
43
- return ranges.some(r => lineNumber >= r.from && lineNumber <= r.to);
21
+ return false;
44
22
  }
45
23
  // Fold =begin Name ... =end Name: fold from end of =begin line to start of =end line
46
24
  function foldBeginEnd(state, lineStart) {
@@ -99,9 +77,7 @@ function foldHeadSection(state, lineStart) {
99
77
  return { from: line.to, to: endPos };
100
78
  }
101
79
  export const podliteFoldService = foldService.of((state, lineStart) => {
102
- const line = state.doc.lineAt(lineStart);
103
- const verbatimRanges = getVerbatimRanges(state);
104
- if (isInsideVerbatim(line.number, verbatimRanges))
80
+ if (isInsideVerbatim(state, state.doc.lineAt(lineStart).from))
105
81
  return null;
106
82
  return foldBeginEnd(state, lineStart) ?? foldHeadSection(state, lineStart);
107
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"foldPodlite.js","sourceRoot":"","sources":["../src/foldPodlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foldPodlite.js","sourceRoot":"","sources":["../src/foldPodlite.ts"],"names":[],"mappings":"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"}
package/esm/helpers.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { PodliteDocument } from '@podlite/schema';
2
2
  export declare const parse: (str: string) => PodliteDocument;
3
3
  export declare const getSuggestionContextForLine: (pod: string, line: number) => "pod6" | "md";
4
+ export declare const dictionaryFor: <T extends {
5
+ lang?: "pod6" | "md";
6
+ }>(entries: T[], want: "pod6" | "md") => T[];
4
7
  interface Pos {
5
8
  line: number;
6
9
  offset: number;
package/esm/helpers.js CHANGED
@@ -1,21 +1,15 @@
1
- import { getFromTree, podlitePluggable } from '@podlite/schema';
1
+ import { podlitePluggable } from '@podlite/schema';
2
+ import { suggestionContextForLine } from './podliteMarkdown';
2
3
  export const parse = (str) => {
3
4
  let podlite = podlitePluggable();
4
5
  let tree = podlite.parse(str);
5
6
  const asAst = podlite.toAstResult(tree);
6
7
  return asAst.interator;
7
8
  };
8
- export const getSuggestionContextForLine = (pod, line) => {
9
- const tree = parse(pod);
10
- // TODO:: deprecate named block =Markdown
11
- const markdownBlocks = getFromTree(tree, 'Markdown', 'markdown'); // TODO: remove `any`
12
- const isMd = markdownBlocks.findIndex(({ location: { start: { line: lineStart }, end: { line: lineEnd }, }, }) => {
13
- return line > lineStart && line < lineEnd;
14
- }) !== -1;
15
- if (isMd)
16
- return 'md';
17
- return 'pod6';
18
- };
9
+ // answered off the highlighting tree; the document is no longer parsed a second time
10
+ export const getSuggestionContextForLine = (pod, line) => suggestionContextForLine(pod, line);
11
+ // an entry without a language belongs to Podlite
12
+ export const dictionaryFor = (entries, want) => entries.filter(({ lang = 'pod6' }) => lang === want);
19
13
  export const templateGetSelectionPos = (pod) => {
20
14
  // if empty selection
21
15
  const EMPTY_SELECTION = new RegExp(/\{\}/);
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/esm/index.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import './Editor.css';
2
- import './podlite-vars.css';
3
1
  import Editor2 from './Editor';
4
2
  import WindowWrapper from './Wrapper';
5
3
  import HighlightedCode from './HighlightedCode';
package/esm/index.js CHANGED
@@ -1,5 +1,3 @@
1
- import './Editor.css';
2
- import './podlite-vars.css';
3
1
  import Editor2 from './Editor';
4
2
  import WindowWrapper from './Wrapper';
5
3
  import HighlightedCode from './HighlightedCode';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AACrB,OAAO,oBAAoB,CAAA;AAC3B,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,aAAa,MAAM,WAAW,CAAA;AACrC,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAA;AAC7B,OAAO,EAAE,aAAa,IAAI,aAAa,EAAE,CAAA;AACzC,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAA;AAI7C,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,aAAa,MAAM,WAAW,CAAA;AACrC,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAA;AAC7B,OAAO,EAAE,aAAa,IAAI,aAAa,EAAE,CAAA;AACzC,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAA;AAI7C,eAAe,OAAO,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { DecorationSet, ViewPlugin, ViewUpdate } from '@codemirror/view';
2
+ export declare const podliteDecorations: () => ViewPlugin<{
3
+ decorations: DecorationSet;
4
+ update(update: ViewUpdate): void;
5
+ }, undefined>;
@@ -0,0 +1,55 @@
1
+ import { syntaxTree } from '@codemirror/language';
2
+ import { RangeSetBuilder } from '@codemirror/state';
3
+ import { Decoration, ViewPlugin } from '@codemirror/view';
4
+ // content the author keeps out of what is published; shown as a covered strip
5
+ // until the caret steps inside it
6
+ const covered = Decoration.mark({ class: 'cm-pod-covered' });
7
+ // a markdown fence carries the language first and block settings after it
8
+ const fenceAttrName = Decoration.mark({ class: 'cm-pod-fence-attr-name' });
9
+ const fenceAttrValue = Decoration.mark({ class: 'cm-pod-fence-attr-value' });
10
+ const attrRe = /:!?[\w-]+|<[^>]*>|\([^)]*\)|\{[^}]*\}|'[^']*'|"[^"]*"|「[^」]*」/g;
11
+ const caretIsIn = (view, from, to) => view.state.selection.ranges.some(r => r.from <= to && r.to >= from);
12
+ const build = (view) => {
13
+ const builder = new RangeSetBuilder();
14
+ for (const { from, to } of view.visibleRanges) {
15
+ syntaxTree(view.state).iterate({
16
+ from,
17
+ to,
18
+ enter: node => {
19
+ if (node.name === 'PodCodeG') {
20
+ // the letter and the brackets stay visible, and they are not always
21
+ // one character wide: `G<<…>>` and `G«…»` are the same code
22
+ const open = node.node.firstChild;
23
+ const close = node.node.lastChild;
24
+ if (!open || !close || close.from <= open.to)
25
+ return;
26
+ if (!caretIsIn(view, node.from, node.to))
27
+ builder.add(open.to, close.from, covered);
28
+ return;
29
+ }
30
+ if (node.name !== 'CodeInfo')
31
+ return;
32
+ const text = view.state.doc.sliceString(node.from, node.to);
33
+ const language = /^\s*[\w+#-]*/.exec(text)?.[0].length || 0;
34
+ for (const a of text.slice(language).matchAll(attrRe)) {
35
+ const at = node.from + language + a.index;
36
+ builder.add(at, at + a[0].length, a[0][0] === ':' ? fenceAttrName : fenceAttrValue);
37
+ }
38
+ },
39
+ });
40
+ }
41
+ return builder.finish();
42
+ };
43
+ // what the tree knows but a colour cannot show: covered content and the
44
+ // settings of a fenced block
45
+ export const podliteDecorations = () => ViewPlugin.fromClass(class {
46
+ decorations;
47
+ constructor(view) {
48
+ this.decorations = build(view);
49
+ }
50
+ update(update) {
51
+ if (update.docChanged || update.viewportChanged || update.selectionSet)
52
+ this.decorations = build(update.view);
53
+ }
54
+ }, { decorations: v => v.decorations });
55
+ //# sourceMappingURL=podliteDecorations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"podliteDecorations.js","sourceRoot":"","sources":["../src/podliteDecorations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAA6B,UAAU,EAAc,MAAM,kBAAkB,CAAA;AAEhG,8EAA8E;AAC9E,kCAAkC;AAClC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;AAC5D,0EAA0E;AAC1E,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAA;AAC1E,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAA;AAE5E,MAAM,MAAM,GAAG,gEAAgE,CAAA;AAE/E,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAE,IAAY,EAAE,EAAU,EAAW,EAAE,CACxE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAA;AAErE,MAAM,KAAK,GAAG,CAAC,IAAgB,EAAiB,EAAE;IAChD,MAAM,OAAO,GAAG,IAAI,eAAe,EAAc,CAAA;IACjD,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAC7B,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,EAAE;gBACZ,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC7B,oEAAoE;oBACpE,4DAA4D;oBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAA;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;oBACjC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;wBAAE,OAAM;oBACpD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;wBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;oBACnF,OAAM;gBACR,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;oBAAE,OAAM;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC3D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAA;gBAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAI,CAAC,CAAC,KAAgB,CAAA;oBACrD,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;gBACrF,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,wEAAwE;AACxE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CACrC,UAAU,CAAC,SAAS,CAClB;IACE,WAAW,CAAe;IAC1B,YAAY,IAAgB;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,MAAM,CAAC,MAAkB;QACvB,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC/G,CAAC;CACF,EACD,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CACpC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { EditorState, Extension } from '@codemirror/state';
2
+ export declare const ROLE_TAGS: {
3
+ keyword: import("@lezer/highlight").Tag;
4
+ blockName: import("@lezer/highlight").Tag;
5
+ semanticBlock: import("@lezer/highlight").Tag;
6
+ customBlock: import("@lezer/highlight").Tag;
7
+ unknownBlock: import("@lezer/highlight").Tag;
8
+ attrName: import("@lezer/highlight").Tag;
9
+ attrValue: import("@lezer/highlight").Tag;
10
+ };
11
+ export declare const podliteMarkdownExtension: any;
12
+ export type SuggestionContext = 'pod6' | 'md';
13
+ export declare const suggestionContextAt: (state: EditorState, pos: number) => SuggestionContext;
14
+ export declare const suggestionContextForLine: (text: string, line: number) => SuggestionContext;
15
+ export declare const podliteCodeLanguage: (codeLanguages: any) => any;
16
+ export declare const podliteTreeLang: (codeLanguages?: any) => Extension;