@podlite/editor-react 0.0.61 → 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 (54) hide show
  1. package/CHANGELOG.podlite +32 -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/podliteDecorations.d.ts +5 -0
  14. package/esm/podliteDecorations.js +55 -0
  15. package/esm/podliteDecorations.js.map +1 -0
  16. package/esm/podliteMarkdown.d.ts +16 -0
  17. package/esm/podliteMarkdown.js +384 -0
  18. package/esm/podliteMarkdown.js.map +1 -0
  19. package/esm/theme.d.ts +101 -0
  20. package/esm/theme.js +61 -49
  21. package/esm/theme.js.map +1 -1
  22. package/lib/Editor.css +22 -0
  23. package/lib/Editor.js +21 -6
  24. package/lib/Editor.js.map +1 -1
  25. package/lib/diagnostics.d.ts +18 -0
  26. package/lib/diagnostics.js +43 -0
  27. package/lib/diagnostics.js.map +1 -0
  28. package/lib/foldPodlite.js +10 -34
  29. package/lib/foldPodlite.js.map +1 -1
  30. package/lib/helpers.d.ts +3 -0
  31. package/lib/helpers.js +7 -12
  32. package/lib/helpers.js.map +1 -1
  33. package/lib/podliteDecorations.d.ts +5 -0
  34. package/lib/podliteDecorations.js +59 -0
  35. package/lib/podliteDecorations.js.map +1 -0
  36. package/lib/podliteMarkdown.d.ts +16 -0
  37. package/lib/podliteMarkdown.js +391 -0
  38. package/lib/podliteMarkdown.js.map +1 -0
  39. package/lib/theme.d.ts +101 -0
  40. package/lib/theme.js +62 -50
  41. package/lib/theme.js.map +1 -1
  42. package/package.json +3 -2
  43. package/esm/podlite.d.ts +0 -3
  44. package/esm/podlite.js +0 -592
  45. package/esm/podlite.js.map +0 -1
  46. package/esm/simple-mode.d.ts +0 -19
  47. package/esm/simple-mode.js +0 -185
  48. package/esm/simple-mode.js.map +0 -1
  49. package/lib/podlite.d.ts +0 -3
  50. package/lib/podlite.js +0 -596
  51. package/lib/podlite.js.map +0 -1
  52. package/lib/simple-mode.d.ts +0 -19
  53. package/lib/simple-mode.js +0 -189
  54. package/lib/simple-mode.js.map +0 -1
package/lib/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/lib/Editor.js CHANGED
@@ -6,7 +6,6 @@ const react_codemirror_1 = tslib_1.__importDefault(require("@uiw/react-codemirro
6
6
  const to_jsx_1 = tslib_1.__importDefault(require("@podlite/to-jsx"));
7
7
  const podlite_1 = require("podlite");
8
8
  const events = tslib_1.__importStar(require("@uiw/codemirror-extensions-events"));
9
- const podlite_2 = require("./podlite");
10
9
  const lang_markdown_1 = require("@codemirror/lang-markdown");
11
10
  const language_data_1 = require("@codemirror/language-data");
12
11
  const theme_1 = require("./theme");
@@ -19,6 +18,10 @@ const autocomplete_1 = require("@codemirror/autocomplete");
19
18
  const dict_1 = tslib_1.__importDefault(require("./dict"));
20
19
  const listContinuation_1 = require("./listContinuation");
21
20
  const foldPodlite_1 = require("./foldPodlite");
21
+ const helpers_1 = require("./helpers");
22
+ const podliteMarkdown_1 = require("./podliteMarkdown");
23
+ const podliteDecorations_1 = require("./podliteDecorations");
24
+ const diagnostics_1 = require("./diagnostics");
22
25
  const HighlightedCode_1 = tslib_1.__importDefault(require("./HighlightedCode"));
23
26
  const imagePasteHandler_1 = require("./imagePasteHandler");
24
27
  function useDebouncedEffect(fn, deps, time) {
@@ -436,8 +439,7 @@ function PodliteEditorInternal(props, ref) {
436
439
  const autocompletionExt = react_1.default.useMemo(() => {
437
440
  if (!enableAutocompletion)
438
441
  return null;
439
- const langDict = dict_1.default.filter(({ lang = 'pod6' }) => lang === 'pod6');
440
- const completions = langDict.map(({ displayText, text }) => {
442
+ const optionsFor = (want) => (0, helpers_1.dictionaryFor)(dict_1.default, want).map(({ displayText, text }) => {
441
443
  function cleanBraces(text) {
442
444
  return text.replace(/\#\{[^\}]*\}/g, '');
443
445
  }
@@ -448,21 +450,28 @@ function PodliteEditorInternal(props, ref) {
448
450
  info: cleanBraces(text),
449
451
  };
450
452
  });
453
+ const completions = {
454
+ pod6: optionsFor('pod6'),
455
+ md: optionsFor('md'),
456
+ };
451
457
  function myCompletions(context) {
452
458
  let before = context.matchBefore(/^\s*=\w*/);
453
459
  if (!context.explicit && !before)
454
460
  return null;
461
+ // a markdown file is markdown throughout; inside a Podlite document the
462
+ // tree says whether the caret stands in the body of a markdown block
463
+ const where = language === 'markdown' ? 'md' : (0, podliteMarkdown_1.suggestionContextAt)(context.state, context.pos);
455
464
  return {
456
465
  from: before ? before.from + before.text.indexOf('=') + 1 : context.pos,
457
- options: completions,
466
+ options: completions[where],
458
467
  validFor: /^=\w*$/,
459
468
  };
460
469
  }
461
470
  return (0, autocomplete_1.autocompletion)({ override: [myCompletions] });
462
- }, [enableAutocompletion, makeApply]);
471
+ }, [enableAutocompletion, makeApply, language]);
463
472
  const extensionsData = react_1.default.useMemo(() => {
464
473
  const exts = [
465
- language === 'markdown' ? (0, lang_markdown_1.markdown)({ base: lang_markdown_1.markdownLanguage, codeLanguages: language_data_1.languages }) : (0, podlite_2.podliteLang)(),
474
+ language === 'markdown' ? (0, lang_markdown_1.markdown)({ base: lang_markdown_1.markdownLanguage, codeLanguages: language_data_1.languages }) : (0, podliteMarkdown_1.podliteTreeLang)(),
466
475
  view_1.EditorView.lineWrapping,
467
476
  (0, search_1.search)({ top: true }),
468
477
  stateChangeListener,
@@ -470,7 +479,13 @@ function PodliteEditorInternal(props, ref) {
470
479
  listContinuation_1.listContinuationKeymap,
471
480
  preventToggleComment,
472
481
  imagePasteDropHandler,
482
+ // covered content and the settings of a fenced block; a markdown file has
483
+ // fences too, so this is not kept to Podlite documents
484
+ (0, podliteDecorations_1.podliteDecorations)(),
473
485
  ];
486
+ if (language === 'podlite') {
487
+ exts.push((0, diagnostics_1.podliteDiagnostics)());
488
+ }
474
489
  if (enableFolding) {
475
490
  if (language === 'podlite')
476
491
  exts.push(foldPodlite_1.podliteFoldService);
package/lib/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,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.podliteDiagnostics = exports.toEditorDiagnostics = exports.parseDiagnostics = void 0;
4
+ const lint_1 = require("@codemirror/lint");
5
+ const podlite_1 = require("podlite");
6
+ // no plugins: the diagnostics come from the grammar, nothing downstream adds to them
7
+ const parser = (0, podlite_1.podlite)({ importPlugins: false });
8
+ let lastText;
9
+ let lastResult = [];
10
+ const parseDiagnostics = (text) => {
11
+ if (text === lastText)
12
+ return lastResult;
13
+ let found = [];
14
+ try {
15
+ found = parser.parse(text).diagnostics || [];
16
+ }
17
+ catch {
18
+ found = [];
19
+ }
20
+ lastText = text;
21
+ lastResult = found;
22
+ return found;
23
+ };
24
+ exports.parseDiagnostics = parseDiagnostics;
25
+ // A line being typed is not a mistake yet: `:k(` is an unfinished thought while
26
+ // the caret sits on it
27
+ const toEditorDiagnostics = (found, caretLine) => found
28
+ .filter(d => d.location.start.line !== caretLine)
29
+ .map(d => ({
30
+ from: d.location.start.offset,
31
+ to: d.location.end.offset,
32
+ severity: d.severity,
33
+ message: d.message,
34
+ source: 'podlite',
35
+ }));
36
+ exports.toEditorDiagnostics = toEditorDiagnostics;
37
+ const podliteDiagnostics = () => (0, lint_1.linter)(view => {
38
+ const text = view.state.doc.toString();
39
+ const caretLine = view.state.doc.lineAt(view.state.selection.main.head).number;
40
+ return (0, exports.toEditorDiagnostics)((0, exports.parseDiagnostics)(text), caretLine);
41
+ }, { delay: 750 });
42
+ exports.podliteDiagnostics = podliteDiagnostics;
43
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAErD,qCAAgD;AAQhD,qFAAqF;AACrF,MAAM,MAAM,GAAG,IAAA,iBAAW,EAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAA;AAEpD,IAAI,QAA4B,CAAA;AAChC,IAAI,UAAU,GAAsB,EAAE,CAAA;AAE/B,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;AAXY,QAAA,gBAAgB,oBAW5B;AAED,gFAAgF;AAChF,uBAAuB;AAChB,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;AATM,QAAA,mBAAmB,uBASzB;AAEA,MAAM,kBAAkB,GAAG,GAAc,EAAE,CAChD,IAAA,aAAM,EACJ,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,IAAA,2BAAmB,EAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAA;AAC/D,CAAC,EACD,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;AARU,QAAA,kBAAkB,sBAQ5B"}
@@ -7,43 +7,21 @@ const beginRe = /^(\s*)=begin\s+(\S+)/;
7
7
  const endRe = /^(\s*)=end\s+(\S+)/;
8
8
  // =headN (level 1-6)
9
9
  const headRe = /^(\s*)=head(\d+)\s/;
10
- // Verbatim block types where content should not be folded
11
- const verbatimTypes = new Set(['code', 'comment', 'data', 'input', 'output']);
12
10
  // Parse =begin line, return block name or null
13
11
  function parseBeginLine(lineText) {
14
12
  const m = lineText.match(beginRe);
15
13
  return m ? m[2] ?? null : null;
16
14
  }
17
- // Cache verbatim ranges per document version to avoid rescanning on every fold query
18
- let _cachedVerbatimDoc = null;
19
- let _cachedVerbatimRanges = [];
20
- function getVerbatimRanges(state) {
21
- // EditorState.doc is immutable same reference means same content
22
- if (_cachedVerbatimDoc === state.doc)
23
- return _cachedVerbatimRanges;
24
- const ranges = [];
25
- for (let i = 1; i <= state.doc.lines; i++) {
26
- const line = state.doc.line(i);
27
- const m = line.text.match(beginRe);
28
- if (m && verbatimTypes.has(m[2])) {
29
- for (let j = i + 1; j <= state.doc.lines; j++) {
30
- const endLine = state.doc.line(j);
31
- const em = endLine.text.match(endRe);
32
- if (em && em[2] === m[2]) {
33
- if (i + 1 <= j - 1) {
34
- ranges.push({ from: i + 1, to: j - 1 });
35
- }
36
- break;
37
- }
38
- }
39
- }
15
+ // A block whose content is taken as written offers no folding inside it. Which
16
+ // blocks those are is not decided here — the highlighting tree marks their
17
+ // content `PodVerbatim`, and it is built for the visible part anyway
18
+ function isInsideVerbatim(state, pos) {
19
+ const tree = (0, language_1.ensureSyntaxTree)(state, pos, 50) || (0, language_1.syntaxTree)(state);
20
+ for (let node = tree.resolveInner(pos, 1); node; node = node.parent) {
21
+ if (node.name === 'PodVerbatim')
22
+ return true;
40
23
  }
41
- _cachedVerbatimDoc = state.doc;
42
- _cachedVerbatimRanges = ranges;
43
- return ranges;
44
- }
45
- function isInsideVerbatim(lineNumber, ranges) {
46
- return ranges.some(r => lineNumber >= r.from && lineNumber <= r.to);
24
+ return false;
47
25
  }
48
26
  // Fold =begin Name ... =end Name: fold from end of =begin line to start of =end line
49
27
  function foldBeginEnd(state, lineStart) {
@@ -102,9 +80,7 @@ function foldHeadSection(state, lineStart) {
102
80
  return { from: line.to, to: endPos };
103
81
  }
104
82
  exports.podliteFoldService = language_1.foldService.of((state, lineStart) => {
105
- const line = state.doc.lineAt(lineStart);
106
- const verbatimRanges = getVerbatimRanges(state);
107
- if (isInsideVerbatim(line.number, verbatimRanges))
83
+ if (isInsideVerbatim(state, state.doc.lineAt(lineStart).from))
108
84
  return null;
109
85
  return foldBeginEnd(state, lineStart) ?? foldHeadSection(state, lineStart);
110
86
  });
@@ -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/lib/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/lib/helpers.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addVMargin = exports.templateGetSelectionPos = exports.getSuggestionContextForLine = exports.parse = void 0;
3
+ exports.addVMargin = exports.templateGetSelectionPos = exports.dictionaryFor = exports.getSuggestionContextForLine = exports.parse = void 0;
4
4
  const schema_1 = require("@podlite/schema");
5
+ const podliteMarkdown_1 = require("./podliteMarkdown");
5
6
  const parse = (str) => {
6
7
  let podlite = (0, schema_1.podlitePluggable)();
7
8
  let tree = podlite.parse(str);
@@ -9,18 +10,12 @@ const parse = (str) => {
9
10
  return asAst.interator;
10
11
  };
11
12
  exports.parse = parse;
12
- const getSuggestionContextForLine = (pod, line) => {
13
- const tree = (0, exports.parse)(pod);
14
- // TODO:: deprecate named block =Markdown
15
- const markdownBlocks = (0, schema_1.getFromTree)(tree, 'Markdown', 'markdown'); // TODO: remove `any`
16
- const isMd = markdownBlocks.findIndex(({ location: { start: { line: lineStart }, end: { line: lineEnd }, }, }) => {
17
- return line > lineStart && line < lineEnd;
18
- }) !== -1;
19
- if (isMd)
20
- return 'md';
21
- return 'pod6';
22
- };
13
+ // answered off the highlighting tree; the document is no longer parsed a second time
14
+ const getSuggestionContextForLine = (pod, line) => (0, podliteMarkdown_1.suggestionContextForLine)(pod, line);
23
15
  exports.getSuggestionContextForLine = getSuggestionContextForLine;
16
+ // an entry without a language belongs to Podlite
17
+ const dictionaryFor = (entries, want) => entries.filter(({ lang = 'pod6' }) => lang === want);
18
+ exports.dictionaryFor = dictionaryFor;
24
19
  const templateGetSelectionPos = (pod) => {
25
20
  // if empty selection
26
21
  const EMPTY_SELECTION = new RegExp(/\{\}/);
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAAA,4CAAgF;AACzE,MAAM,KAAK,GAAG,CAAC,GAAW,EAAmB,EAAE;IACpD,IAAI,OAAO,GAAG,IAAA,yBAAgB,GAAE,CAAA;IAChC,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO,KAAK,CAAC,SAAS,CAAA;AACxB,CAAC,CAAA;AALY,QAAA,KAAK,SAKjB;AACM,MAAM,2BAA2B,GAAG,CAAC,GAAW,EAAE,IAAY,EAAiB,EAAE;IACtF,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,GAAG,CAAC,CAAA;IACvB,yCAAyC;IACzC,MAAM,cAAc,GAAG,IAAA,oBAAW,EAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAQ,CAAA,CAAC,qBAAqB;IAC7F,MAAM,IAAI,GACR,cAAc,CAAC,SAAS,CACtB,CAAC,EACC,QAAQ,EAAE,EACR,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GACvB,GACF,EAAE,EAAE;QACH,OAAO,IAAI,GAAG,SAAS,IAAI,IAAI,GAAG,OAAO,CAAA;IAC3C,CAAC,CACF,KAAK,CAAC,CAAC,CAAA;IACV,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IACrB,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAjBY,QAAA,2BAA2B,+BAiBvC;AAWM,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAoB,EAAE;IACvE,qBAAqB;IACrB,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;IACpF,IAAI,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAE,CAAA;QAChD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,KAAM,EAAE,CAAA;QACnE,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,KAAM,EAAE,CAAA;QACjE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAA;IAC/D,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IACtE,IAAI,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAE,CAAA;QAC1C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,KAAM,EAAE,CAAA;QAC3D,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,WAAW,CAAC,KAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;SACnD,CAAA;QACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAxBY,QAAA,uBAAuB,2BAwBnC;AAEM,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;IACvD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjD,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzF,CAAC,CAAA;AAJY,QAAA,UAAU,cAItB"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -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,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.podliteDecorations = void 0;
4
+ const language_1 = require("@codemirror/language");
5
+ const state_1 = require("@codemirror/state");
6
+ const view_1 = require("@codemirror/view");
7
+ // content the author keeps out of what is published; shown as a covered strip
8
+ // until the caret steps inside it
9
+ const covered = view_1.Decoration.mark({ class: 'cm-pod-covered' });
10
+ // a markdown fence carries the language first and block settings after it
11
+ const fenceAttrName = view_1.Decoration.mark({ class: 'cm-pod-fence-attr-name' });
12
+ const fenceAttrValue = view_1.Decoration.mark({ class: 'cm-pod-fence-attr-value' });
13
+ const attrRe = /:!?[\w-]+|<[^>]*>|\([^)]*\)|\{[^}]*\}|'[^']*'|"[^"]*"|「[^」]*」/g;
14
+ const caretIsIn = (view, from, to) => view.state.selection.ranges.some(r => r.from <= to && r.to >= from);
15
+ const build = (view) => {
16
+ const builder = new state_1.RangeSetBuilder();
17
+ for (const { from, to } of view.visibleRanges) {
18
+ (0, language_1.syntaxTree)(view.state).iterate({
19
+ from,
20
+ to,
21
+ enter: node => {
22
+ if (node.name === 'PodCodeG') {
23
+ // the letter and the brackets stay visible, and they are not always
24
+ // one character wide: `G<<…>>` and `G«…»` are the same code
25
+ const open = node.node.firstChild;
26
+ const close = node.node.lastChild;
27
+ if (!open || !close || close.from <= open.to)
28
+ return;
29
+ if (!caretIsIn(view, node.from, node.to))
30
+ builder.add(open.to, close.from, covered);
31
+ return;
32
+ }
33
+ if (node.name !== 'CodeInfo')
34
+ return;
35
+ const text = view.state.doc.sliceString(node.from, node.to);
36
+ const language = /^\s*[\w+#-]*/.exec(text)?.[0].length || 0;
37
+ for (const a of text.slice(language).matchAll(attrRe)) {
38
+ const at = node.from + language + a.index;
39
+ builder.add(at, at + a[0].length, a[0][0] === ':' ? fenceAttrName : fenceAttrValue);
40
+ }
41
+ },
42
+ });
43
+ }
44
+ return builder.finish();
45
+ };
46
+ // what the tree knows but a colour cannot show: covered content and the
47
+ // settings of a fenced block
48
+ const podliteDecorations = () => view_1.ViewPlugin.fromClass(class {
49
+ decorations;
50
+ constructor(view) {
51
+ this.decorations = build(view);
52
+ }
53
+ update(update) {
54
+ if (update.docChanged || update.viewportChanged || update.selectionSet)
55
+ this.decorations = build(update.view);
56
+ }
57
+ }, { decorations: v => v.decorations });
58
+ exports.podliteDecorations = podliteDecorations;
59
+ //# sourceMappingURL=podliteDecorations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"podliteDecorations.js","sourceRoot":"","sources":["../src/podliteDecorations.ts"],"names":[],"mappings":"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"}
@@ -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;