@neo4j-cypher/react-codemirror 2.0.0-next.40 → 2.0.0-next.42

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 (146) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/src/CypherEditor.d.ts +12 -6
  3. package/dist/src/CypherEditor.js +11 -3
  4. package/dist/src/CypherEditor.js.map +1 -1
  5. package/dist/src/CypherEditor.test.js +20 -11
  6. package/dist/src/CypherEditor.test.js.map +1 -1
  7. package/dist/src/editorActions.js +83 -18
  8. package/dist/src/editorActions.js.map +1 -1
  9. package/dist/src/historyNavigation.d.ts +1 -1
  10. package/dist/src/historyNavigation.js.map +1 -1
  11. package/dist/src/index.d.ts +8 -3
  12. package/dist/src/index.js +3 -2
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/lang-cypher/autocomplete.d.ts +1 -1
  15. package/dist/src/lang-cypher/autocomplete.js +1 -1
  16. package/dist/src/lang-cypher/autocomplete.js.map +1 -1
  17. package/dist/src/lang-cypher/constants.d.ts +2 -2
  18. package/dist/src/lang-cypher/constants.js.map +1 -1
  19. package/dist/src/lang-cypher/createCypherTheme.d.ts +2 -2
  20. package/dist/src/lang-cypher/createCypherTheme.js +47 -1
  21. package/dist/src/lang-cypher/createCypherTheme.js.map +1 -1
  22. package/dist/src/lang-cypher/hover/hover.d.ts +3 -0
  23. package/dist/src/lang-cypher/hover/hover.js +26 -0
  24. package/dist/src/lang-cypher/hover/hover.js.map +1 -0
  25. package/dist/src/lang-cypher/hover/hoverRender.d.ts +9 -0
  26. package/dist/src/lang-cypher/hover/hoverRender.js +142 -0
  27. package/dist/src/lang-cypher/hover/hoverRender.js.map +1 -0
  28. package/dist/src/lang-cypher/hover/hoverRender.test.js +123 -0
  29. package/dist/src/lang-cypher/hover/hoverRender.test.js.map +1 -0
  30. package/dist/src/lang-cypher/langCypher.d.ts +2 -1
  31. package/dist/src/lang-cypher/langCypher.js +3 -0
  32. package/dist/src/lang-cypher/langCypher.js.map +1 -1
  33. package/dist/src/lang-cypher/lintWorker.mjs +168 -166
  34. package/dist/src/lang-cypher/parser-adapter.d.ts +6 -4
  35. package/dist/src/lang-cypher/parser-adapter.js +4 -1
  36. package/dist/src/lang-cypher/parser-adapter.js.map +1 -1
  37. package/dist/src/lang-cypher/prism-global.js +7 -0
  38. package/dist/src/lang-cypher/prism-global.js.map +1 -0
  39. package/dist/src/lang-cypher/signatureHelp.d.ts +2 -2
  40. package/dist/src/lang-cypher/signatureHelp.js +14 -24
  41. package/dist/src/lang-cypher/signatureHelp.js.map +1 -1
  42. package/dist/src/lang-cypher/syntaxValidation.d.ts +1 -1
  43. package/dist/src/lang-cypher/syntaxValidation.js +7 -2
  44. package/dist/src/lang-cypher/syntaxValidation.js.map +1 -1
  45. package/dist/src/lang-cypher/tooltipHighlighting.d.ts +21 -0
  46. package/dist/src/lang-cypher/tooltipHighlighting.js +76 -0
  47. package/dist/src/lang-cypher/tooltipHighlighting.js.map +1 -0
  48. package/dist/src/lang-cypher/tooltipHighlighting.test.js +63 -0
  49. package/dist/src/lang-cypher/tooltipHighlighting.test.js.map +1 -0
  50. package/dist/src/neo4jSetup.d.ts +1 -1
  51. package/dist/src/neo4jSetup.js.map +1 -1
  52. package/dist/src/richClipboardCopier.js +2 -2
  53. package/dist/src/richClipboardCopier.js.map +1 -1
  54. package/dist/src/richClipboardCopier.test.js.map +1 -1
  55. package/dist/src/{e2e_tests → tests/e2e}/autoCompletion.spec.js +1 -2
  56. package/dist/src/tests/e2e/autoCompletion.spec.js.map +1 -0
  57. package/dist/src/{e2e_tests → tests/e2e}/configuration.spec.js +1 -1
  58. package/dist/src/tests/e2e/configuration.spec.js.map +1 -0
  59. package/dist/src/{e2e_tests → tests/e2e}/debounce.spec.js +2 -2
  60. package/dist/src/tests/e2e/debounce.spec.js.map +1 -0
  61. package/dist/src/tests/e2e/e2eUtils.js.map +1 -0
  62. package/dist/src/{e2e_tests → tests/e2e}/extraKeybindings.spec.js +1 -1
  63. package/dist/src/tests/e2e/extraKeybindings.spec.js.map +1 -0
  64. package/dist/src/{e2e_tests → tests/e2e}/historyNavigation.spec.js +1 -1
  65. package/dist/src/tests/e2e/historyNavigation.spec.js.map +1 -0
  66. package/dist/src/{e2e_tests → tests/e2e}/sanityChecks.spec.js +1 -1
  67. package/dist/src/tests/e2e/sanityChecks.spec.js.map +1 -0
  68. package/dist/src/{e2e_tests → tests/e2e}/signatureHelp.spec.js +1 -2
  69. package/dist/src/tests/e2e/signatureHelp.spec.js.map +1 -0
  70. package/dist/src/tests/e2e/snippets.spec.d.ts +1 -0
  71. package/dist/src/{e2e_tests → tests/e2e}/snippets.spec.js +1 -1
  72. package/dist/src/tests/e2e/snippets.spec.js.map +1 -0
  73. package/dist/src/tests/e2e/syntaxHighlighting.spec.d.ts +1 -0
  74. package/dist/src/{e2e_tests → tests/e2e}/syntaxHighlighting.spec.js +2 -2
  75. package/dist/src/tests/e2e/syntaxHighlighting.spec.js.map +1 -0
  76. package/dist/src/tests/e2e/syntaxValidation.spec.d.ts +1 -0
  77. package/dist/src/{e2e_tests → tests/e2e}/syntaxValidation.spec.js +1 -1
  78. package/dist/src/tests/e2e/syntaxValidation.spec.js.map +1 -0
  79. package/dist/src/themes.d.ts +2 -2
  80. package/dist/src/themes.js.map +1 -1
  81. package/dist/tsconfig.tsbuildinfo +1 -1
  82. package/dist/vitest.config.d.mts +2 -0
  83. package/dist/vitest.config.mjs +16 -0
  84. package/dist/vitest.config.mjs.map +1 -0
  85. package/package.json +15 -12
  86. package/src/CypherEditor.test.tsx +28 -19
  87. package/src/CypherEditor.tsx +33 -19
  88. package/src/editorActions.ts +103 -22
  89. package/src/historyNavigation.ts +5 -3
  90. package/src/index.ts +17 -3
  91. package/src/lang-cypher/autocomplete.ts +3 -6
  92. package/src/lang-cypher/constants.ts +3 -2
  93. package/src/lang-cypher/createCypherTheme.ts +59 -10
  94. package/src/lang-cypher/hover/hover.ts +32 -0
  95. package/src/lang-cypher/hover/hoverRender.test.ts +176 -0
  96. package/src/lang-cypher/hover/hoverRender.ts +198 -0
  97. package/src/lang-cypher/langCypher.ts +5 -4
  98. package/src/lang-cypher/lintWorker.mjs +168 -166
  99. package/src/lang-cypher/parser-adapter.ts +10 -9
  100. package/src/lang-cypher/prism-global.ts +7 -0
  101. package/src/lang-cypher/signatureHelp.ts +26 -31
  102. package/src/lang-cypher/syntaxValidation.ts +9 -4
  103. package/src/lang-cypher/tooltipHighlighting.test.ts +78 -0
  104. package/src/lang-cypher/tooltipHighlighting.ts +119 -0
  105. package/src/neo4jSetup.tsx +3 -3
  106. package/src/richClipboardCopier.test.ts +7 -5
  107. package/src/richClipboardCopier.ts +2 -2
  108. package/src/{e2e_tests → tests/e2e}/autoCompletion.spec.tsx +1 -2
  109. package/src/{e2e_tests → tests/e2e}/configuration.spec.tsx +1 -1
  110. package/src/{e2e_tests → tests/e2e}/debounce.spec.tsx +2 -2
  111. package/src/{e2e_tests → tests/e2e}/extraKeybindings.spec.tsx +1 -1
  112. package/src/{e2e_tests → tests/e2e}/historyNavigation.spec.tsx +2 -2
  113. package/src/{e2e_tests → tests/e2e}/sanityChecks.spec.tsx +1 -1
  114. package/src/{e2e_tests → tests/e2e}/signatureHelp.spec.tsx +2 -3
  115. package/src/{e2e_tests → tests/e2e}/snippets.spec.tsx +1 -1
  116. package/src/{e2e_tests → tests/e2e}/syntaxHighlighting.spec.tsx +2 -2
  117. package/src/{e2e_tests → tests/e2e}/syntaxValidation.spec.tsx +1 -1
  118. package/src/themes.ts +2 -2
  119. package/dist/src/e2e_tests/autoCompletion.spec.js.map +0 -1
  120. package/dist/src/e2e_tests/configuration.spec.js.map +0 -1
  121. package/dist/src/e2e_tests/debounce.spec.js.map +0 -1
  122. package/dist/src/e2e_tests/e2eUtils.js.map +0 -1
  123. package/dist/src/e2e_tests/extraKeybindings.spec.js.map +0 -1
  124. package/dist/src/e2e_tests/historyNavigation.spec.js.map +0 -1
  125. package/dist/src/e2e_tests/performanceTest.spec.d.ts +0 -6
  126. package/dist/src/e2e_tests/performanceTest.spec.js +0 -97
  127. package/dist/src/e2e_tests/performanceTest.spec.js.map +0 -1
  128. package/dist/src/e2e_tests/sanityChecks.spec.js.map +0 -1
  129. package/dist/src/e2e_tests/signatureHelp.spec.js.map +0 -1
  130. package/dist/src/e2e_tests/snippets.spec.js.map +0 -1
  131. package/dist/src/e2e_tests/syntaxHighlighting.spec.js.map +0 -1
  132. package/dist/src/e2e_tests/syntaxValidation.spec.js.map +0 -1
  133. package/src/e2e_tests/performanceTest.spec.tsx +0 -163
  134. /package/dist/src/{e2e_tests/autoCompletion.spec.d.ts → lang-cypher/hover/hoverRender.test.d.ts} +0 -0
  135. /package/dist/src/{e2e_tests/configuration.spec.d.ts → lang-cypher/prism-global.d.ts} +0 -0
  136. /package/dist/src/{e2e_tests/debounce.spec.d.ts → lang-cypher/tooltipHighlighting.test.d.ts} +0 -0
  137. /package/dist/src/{e2e_tests/extraKeybindings.spec.d.ts → tests/e2e/autoCompletion.spec.d.ts} +0 -0
  138. /package/dist/src/{e2e_tests/historyNavigation.spec.d.ts → tests/e2e/configuration.spec.d.ts} +0 -0
  139. /package/dist/src/{e2e_tests/sanityChecks.spec.d.ts → tests/e2e/debounce.spec.d.ts} +0 -0
  140. /package/dist/src/{e2e_tests → tests/e2e}/e2eUtils.d.ts +0 -0
  141. /package/dist/src/{e2e_tests → tests/e2e}/e2eUtils.js +0 -0
  142. /package/dist/src/{e2e_tests/signatureHelp.spec.d.ts → tests/e2e/extraKeybindings.spec.d.ts} +0 -0
  143. /package/dist/src/{e2e_tests/snippets.spec.d.ts → tests/e2e/historyNavigation.spec.d.ts} +0 -0
  144. /package/dist/src/{e2e_tests/syntaxHighlighting.spec.d.ts → tests/e2e/sanityChecks.spec.d.ts} +0 -0
  145. /package/dist/src/{e2e_tests/syntaxValidation.spec.d.ts → tests/e2e/signatureHelp.spec.d.ts} +0 -0
  146. /package/src/{e2e_tests → tests/e2e}/e2eUtils.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lang-cypher/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lang-cypher/constants.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Extension } from '@codemirror/state';
2
- import { HighlightedCypherTokenTypes } from './constants';
1
+ import type { Extension } from '@codemirror/state';
2
+ import type { HighlightedCypherTokenTypes } from './constants';
3
3
  export interface DiffColors {
4
4
  /** Background fill for the whole inserted/changed line. */
5
5
  insertedLine: string;
@@ -1,4 +1,4 @@
1
- import { HighlightStyle, syntaxHighlighting, } from '@codemirror/language';
1
+ import { HighlightStyle, syntaxHighlighting } from '@codemirror/language';
2
2
  import { EditorView } from '@codemirror/view';
3
3
  import { CypherTokenType } from '@neo4j-cypher/language-support';
4
4
  import { tokenTypeToStyleTag } from './constants';
@@ -83,6 +83,52 @@ export const createCypherTheme = ({ dark, editorSettings: settings, highlightSty
83
83
  '& .cm-signature-help-panel-description': {
84
84
  padding: '5px',
85
85
  },
86
+ // Shared between both hover tooltips and hover errors
87
+ '& .cm-tooltip-hover': {
88
+ maxWidth: '800px',
89
+ },
90
+ '& .cm-hover-tooltip': {
91
+ backgroundColor: settings.autoCompletionPanel.backgroundColor,
92
+ color: settings.foreground,
93
+ maxHeight: '300px',
94
+ overflow: 'auto',
95
+ padding: '2px 10px',
96
+ },
97
+ '& .cm-hover-info': {
98
+ fontFamily: '-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif',
99
+ fontSize: '13px',
100
+ lineHeight: '1.5',
101
+ '& p': {
102
+ margin: '6px 0',
103
+ },
104
+ '& ul': {
105
+ margin: '6px 0',
106
+ paddingLeft: '18px',
107
+ },
108
+ '& li': {
109
+ margin: '2px 0',
110
+ },
111
+ '& code': {
112
+ fontFamily: 'Fira Code, Menlo, Monaco, Lucida Console, monospace',
113
+ fontSize: '12px',
114
+ },
115
+ '& pre': {
116
+ margin: '6px 0',
117
+ padding: '6px 8px',
118
+ borderRadius: '3px',
119
+ whiteSpace: 'pre-wrap',
120
+ overflowWrap: 'break-word',
121
+ backgroundColor: dark
122
+ ? 'rgba(255, 255, 255, 0.08)'
123
+ : 'rgba(0, 0, 0, 0.05)',
124
+ },
125
+ '& > *:first-child': {
126
+ marginTop: '0',
127
+ },
128
+ '& > *:last-child': {
129
+ marginBottom: '0',
130
+ },
131
+ },
86
132
  '.cm-completionInfo-signature': {
87
133
  color: 'darkgrey',
88
134
  },
@@ -1 +1 @@
1
- {"version":3,"file":"createCypherTheme.js","sourceRoot":"","sources":["../../../src/lang-cypher/createCypherTheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createCypherTheme.js","sourceRoot":"","sources":["../../../src/lang-cypher/createCypherTheme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HoverTooltipSource } from '@codemirror/view';
2
+ import type { CypherConfig } from '../langCypher';
3
+ export declare function getHoverSource(cfg: CypherConfig): HoverTooltipSource;
@@ -0,0 +1,26 @@
1
+ import { renderHoverInfo } from './hoverRender';
2
+ import { tooltipCypherHighlighter } from '../tooltipHighlighting.js';
3
+ export function getHoverSource(cfg) {
4
+ const hoverSource = (view, pos) => {
5
+ const doc = view.state.doc.toString();
6
+ const hoverInfo = cfg.languageService.hoverInfo(doc, {
7
+ caretPosition: pos,
8
+ dbSchema: cfg.schema ?? {},
9
+ });
10
+ if (!hoverInfo) {
11
+ return null;
12
+ }
13
+ return {
14
+ pos: pos,
15
+ above: true,
16
+ create() {
17
+ const dom = document.createElement('div');
18
+ dom.className = 'cm-hover-tooltip';
19
+ dom.appendChild(renderHoverInfo(hoverInfo, tooltipCypherHighlighter(view.state, cfg)));
20
+ return { dom };
21
+ },
22
+ };
23
+ };
24
+ return hoverSource;
25
+ }
26
+ //# sourceMappingURL=hover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover.js","sourceRoot":"","sources":["../../../../src/lang-cypher/hover/hover.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,UAAU,cAAc,CAAC,GAAiB;IAC9C,MAAM,WAAW,GAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE;YACnD,aAAa,EAAE,GAAG;YAClB,QAAQ,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,IAAI;YACX,MAAM;gBACJ,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1C,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAC;gBACnC,GAAG,CAAC,WAAW,CACb,eAAe,CAAC,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CACtE,CAAC;gBACF,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Renders language-support's HoverInfo into the hover tooltip.
3
+ *
4
+ * Everything is inserted as text nodes, so schema-provided descriptions can
5
+ * never inject HTML into the editor.
6
+ */
7
+ import type { HoverInfo } from '@neo4j-cypher/language-support';
8
+ import type { TooltipCypherHighlighter } from '../tooltipHighlighting.js';
9
+ export declare function renderHoverInfo(info: HoverInfo, highlightHoverCode?: TooltipCypherHighlighter): HTMLElement;
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Renders language-support's HoverInfo into the hover tooltip.
3
+ *
4
+ * Everything is inserted as text nodes, so schema-provided descriptions can
5
+ * never inject HTML into the editor.
6
+ */
7
+ // The schema writes the bullet lists of its descriptions with *
8
+ const bullet = '* ';
9
+ export function renderHoverInfo(info, highlightHoverCode) {
10
+ const dom = document.createElement('div');
11
+ dom.className = 'cm-hover-info';
12
+ if (info.kind === 'variable') {
13
+ const typeLine = document.createElement('p');
14
+ typeLine.appendChild(element('code', `${info.variable}: ${info.types.join(', ')}`));
15
+ dom.appendChild(typeLine);
16
+ if (info.labelExpression !== undefined) {
17
+ dom.appendChild(codeBlock(info.labelExpression, 'labelExpression', highlightHoverCode));
18
+ }
19
+ return dom;
20
+ }
21
+ dom.appendChild(codeBlock(info.signature, info.kind, highlightHoverCode));
22
+ const deprecatedMarker = info.isDeprecated
23
+ ? [
24
+ document.createTextNode('('),
25
+ element('em', 'deprecated'),
26
+ document.createTextNode(') '),
27
+ ]
28
+ : [];
29
+ renderDescription(dom, info.description, deprecatedMarker);
30
+ appendDescribedList(dom, 'Parameters', info.parameters);
31
+ if (info.kind === 'function') {
32
+ if (info.returnType) {
33
+ const returns = document.createElement('p');
34
+ returns.append(element('strong', 'Returns:'), ' ', element('code', info.returnType));
35
+ dom.appendChild(returns);
36
+ }
37
+ }
38
+ else {
39
+ appendDescribedList(dom, 'Returns', info.returnValues);
40
+ }
41
+ return dom;
42
+ }
43
+ function element(tag, text) {
44
+ const created = document.createElement(tag);
45
+ created.textContent = text;
46
+ return created;
47
+ }
48
+ function codeBlock(code, kind, highlightHoverCode) {
49
+ const pre = document.createElement('pre');
50
+ const codeElement = document.createElement('code');
51
+ if (kind && highlightHoverCode) {
52
+ highlightHoverCode(code, kind, codeElement);
53
+ }
54
+ else {
55
+ codeElement.textContent = code;
56
+ }
57
+ pre.appendChild(codeElement);
58
+ return pre;
59
+ }
60
+ function appendDescribedList(dom, heading, descriptions) {
61
+ if (descriptions.length === 0) {
62
+ return;
63
+ }
64
+ const headingParagraph = document.createElement('p');
65
+ headingParagraph.appendChild(element('strong', heading));
66
+ dom.appendChild(headingParagraph);
67
+ const list = document.createElement('ul');
68
+ descriptions.forEach(({ name, description }) => {
69
+ const item = document.createElement('li');
70
+ item.append(element('code', name), ' -');
71
+ // Map-style descriptions (often configs) are laid out over several lines
72
+ const trimmed = description.trimEnd();
73
+ if (trimmed.includes('\n')) {
74
+ item.appendChild(codeBlock(trimmed, undefined));
75
+ }
76
+ else {
77
+ item.append(' ');
78
+ renderInline(item, description);
79
+ }
80
+ list.appendChild(item);
81
+ });
82
+ dom.appendChild(list);
83
+ }
84
+ /* A schema description is prose that can bring paragraphs and * bullet lists.
85
+ `lead` goes in front of its first paragraph. */
86
+ function renderDescription(dom, description, lead) {
87
+ const lines = description.split('\n');
88
+ let paragraph = [];
89
+ const flushParagraph = () => {
90
+ if (paragraph.length === 0 && lead.length === 0)
91
+ return;
92
+ const p = document.createElement('p');
93
+ p.append(...lead.splice(0));
94
+ renderInline(p, paragraph.join('\n'));
95
+ dom.appendChild(p);
96
+ paragraph = [];
97
+ };
98
+ let i = 0;
99
+ while (i < lines.length) {
100
+ if (lines[i].startsWith(bullet)) {
101
+ flushParagraph();
102
+ const list = document.createElement('ul');
103
+ while (i < lines.length && lines[i].startsWith(bullet)) {
104
+ const item = document.createElement('li');
105
+ renderInline(item, lines[i].slice(bullet.length));
106
+ list.appendChild(item);
107
+ i++;
108
+ }
109
+ dom.appendChild(list);
110
+ continue;
111
+ }
112
+ if (lines[i].trim() === '') {
113
+ if (paragraph.length > 0)
114
+ flushParagraph();
115
+ }
116
+ else {
117
+ paragraph.push(lines[i]);
118
+ }
119
+ i++;
120
+ }
121
+ flushParagraph();
122
+ }
123
+ /* Code spans and italics, the markup descriptions write. Underscores only
124
+ count as emphasis outside a word, so that descriptions listing values like
125
+ 'DEFAULT_PATH_LEAF_TO_NULL' keep them - the same rule CommonMark
126
+ (https://spec.commonmark.org/0.31.2/#example-374) follows. */
127
+ const inlineMarkup = /`([^`]+)`|(?<!\w)_([^_\n]+)_(?!\w)/g;
128
+ function renderInline(target, text) {
129
+ let lastEnd = 0;
130
+ for (const match of text.matchAll(inlineMarkup)) {
131
+ const [matched, code, italic] = match;
132
+ if (match.index > lastEnd) {
133
+ target.append(text.slice(lastEnd, match.index));
134
+ }
135
+ target.appendChild(code !== undefined ? element('code', code.trim()) : element('em', italic));
136
+ lastEnd = match.index + matched.length;
137
+ }
138
+ if (lastEnd < text.length) {
139
+ target.append(text.slice(lastEnd));
140
+ }
141
+ }
142
+ //# sourceMappingURL=hoverRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hoverRender.js","sourceRoot":"","sources":["../../../../src/lang-cypher/hover/hoverRender.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ // @vitest-environment jsdom
2
+ import { CypherLanguageService, testData, } from '@neo4j-cypher/language-support';
3
+ import { describe, expect, test } from 'vitest';
4
+ import { renderHoverInfo } from './hoverRender';
5
+ function methodHover(query) {
6
+ const languageService = new CypherLanguageService();
7
+ return languageService.hoverInfo(query, {
8
+ caretPosition: query.indexOf('(') - 1,
9
+ dbSchema: testData.mockSchema,
10
+ });
11
+ }
12
+ function renderMethodHover(query) {
13
+ return renderHoverInfo(methodHover(query));
14
+ }
15
+ describe('hover info html rendering', () => {
16
+ function highlightedFragments(info) {
17
+ const seen = [];
18
+ renderHoverInfo(info, (code, kind, target) => {
19
+ seen.push([code, kind]);
20
+ target.textContent = code;
21
+ });
22
+ return seen;
23
+ }
24
+ test('passes the fragment kind of each cypher block to the highlighter', () => {
25
+ expect(highlightedFragments({
26
+ kind: 'variable',
27
+ variable: 'n',
28
+ types: ['Node'],
29
+ labelExpression: '(Person | Pet)',
30
+ })).toEqual([['(Person | Pet)', 'labelExpression']]);
31
+ expect(highlightedFragments(methodHover('RETURN abs(1)'))).toEqual([
32
+ ['abs(input :: INTEGER | FLOAT) :: INTEGER | FLOAT', 'function'],
33
+ ]);
34
+ expect(highlightedFragments(methodHover('CALL db.labels()'))).toEqual([
35
+ ['db.labels() :: (label :: STRING)', 'procedure'],
36
+ ]);
37
+ });
38
+ test('renders a variable hover', () => {
39
+ expect(renderHoverInfo({
40
+ kind: 'variable',
41
+ variable: 'n',
42
+ types: ['Node'],
43
+ labelExpression: '(Person | Pet)',
44
+ }).innerHTML).toBe('<p><code>n: Node</code></p><pre><code>(Person | Pet)</code></pre>');
45
+ expect(renderHoverInfo({ kind: 'variable', variable: 'x', types: ['Integer'] })
46
+ .innerHTML).toBe('<p><code>x: Integer</code></p>');
47
+ });
48
+ test('renders a function hover', () => {
49
+ expect(renderMethodHover('RETURN toFloat(1)').innerHTML).toBe([
50
+ '<pre><code>toFloat(input :: STRING | INTEGER | FLOAT) :: FLOAT</code></pre>',
51
+ '<p>Converts a <code>STRING</code>, <code>INTEGER</code> or <code>FLOAT</code> value to a <code>FLOAT</code> value.</p>',
52
+ '<p><strong>Parameters</strong></p>',
53
+ '<ul><li><code>input</code> - A value to be converted into a float.</li></ul>',
54
+ '<p><strong>Returns:</strong> <code>FLOAT</code></p>',
55
+ ].join(''));
56
+ });
57
+ test('renders a procedure hover', () => {
58
+ expect(renderMethodHover('CALL db.labels()').innerHTML).toBe([
59
+ '<pre><code>db.labels() :: (label :: STRING)</code></pre>',
60
+ "<p>List all labels attached to nodes within a database according to the user's access rights. The procedure returns empty results if the user is not authorized to view those labels.</p>",
61
+ '<p><strong>Returns</strong></p>',
62
+ '<ul><li><code>label</code> - A label within the database.</li></ul>',
63
+ ].join(''));
64
+ });
65
+ test('italicises the deprecation marker of a deprecated method', () => {
66
+ expect(renderMethodHover('CYPHER 5 RETURN apoc.create.uuid()').innerHTML).toContain('<p>(<em>deprecated</em>) Returns a UUID.</p>');
67
+ });
68
+ // The wildcards of dbms.queryJmx' descriptions are shown as written, both
69
+ // in prose and inside a code span
70
+ test('renders the wildcards of a procedure description', () => {
71
+ const html = renderMethodHover('CALL dbms.queryJmx()').innerHTML;
72
+ expect(html).toContain('<p>Query JMX management data by domain and name. For instance, use <code>*:*</code> to find all JMX beans.</p>');
73
+ expect(html).toContain("<li><code>query</code> - A query for MBeans on this MBeanServer (e.g. '*:*,name=*neo4j*' for all metrics in neo4j database).</li>");
74
+ });
75
+ test('renders the paragraphs, bullet list and italics of a procedure description', () => {
76
+ const html = renderMethodHover('CALL db.index.fulltext.queryNodes()').innerHTML;
77
+ expect(html).toContain('Valid <em>key: value</em> pairs');
78
+ expect(html).toContain([
79
+ '<ul>',
80
+ "<li>'skip' -- to skip the top N results.</li>",
81
+ "<li>'limit' -- to limit the number of results returned.</li>",
82
+ "<li>'analyzer' -- to use the specified analyzer as a search analyzer for this query.</li>",
83
+ '</ul>',
84
+ '<p>The <code>options</code> map and any of the keys are optional.',
85
+ ].join(''));
86
+ });
87
+ test('renders a parameter that carries its own layout as a code block', () => {
88
+ expect(renderMethodHover('CALL apoc.export.csv.all()').innerHTML).toContain([
89
+ '<ul><li><code>file</code> - The name of the file to which the data will be exported.</li>',
90
+ '<li><code>config</code> -<pre><code>{\n',
91
+ ' stream = false :: BOOLEAN,\n',
92
+ ].join(''));
93
+ });
94
+ // Schema descriptions list values such as 'AS_PATH_LIST', which must not
95
+ // turn into emphasis
96
+ test('leaves the underscores inside words alone', () => {
97
+ const description = "JSON path options: ('ALWAYS_RETURN_LIST', 'AS_PATH_LIST', 'DEFAULT_PATH_LEAF_TO_NULL').";
98
+ const dom = renderHoverInfo({
99
+ kind: 'function',
100
+ signature: 'f(pathOptions :: LIST<STRING>) :: ANY',
101
+ description: '',
102
+ isDeprecated: false,
103
+ parameters: [{ name: 'pathOptions', description }],
104
+ returnType: 'ANY',
105
+ });
106
+ expect(dom.querySelector('em')).toBeNull();
107
+ expect(dom.querySelector('li').textContent).toBe(`pathOptions - ${description}`);
108
+ });
109
+ test('never renders descriptions as html', () => {
110
+ const dom = renderHoverInfo({
111
+ kind: 'procedure',
112
+ signature: 'p()',
113
+ description: '<img src=x onerror=alert(1)>',
114
+ isDeprecated: false,
115
+ parameters: [],
116
+ returnValues: [{ name: 'r', description: '<b>bold</b>' }],
117
+ });
118
+ expect(dom.querySelector('img')).toBeNull();
119
+ expect(dom.querySelector('b')).toBeNull();
120
+ expect(dom.textContent).toContain('<img src=x onerror=alert(1)>');
121
+ });
122
+ });
123
+ //# sourceMappingURL=hoverRender.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hoverRender.test.js","sourceRoot":"","sources":["../../../../src/lang-cypher/hover/hoverRender.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { LanguageSupport } from '@codemirror/language';
2
- import { CypherLanguageService, type DbSchema } from '@neo4j-cypher/language-support';
2
+ import type { CypherLanguageService } from '@neo4j-cypher/language-support';
3
+ import { type DbSchema } from '@neo4j-cypher/language-support';
3
4
  export type CypherConfig = {
4
5
  languageService: CypherLanguageService;
5
6
  lint?: boolean;
@@ -4,6 +4,8 @@ import { completionStyles, cypherAutocomplete } from './autocomplete';
4
4
  import { ParserAdapter } from './parser-adapter';
5
5
  import { signatureHelpTooltip } from './signatureHelp';
6
6
  import { cypherLinter } from './syntaxValidation';
7
+ import { hoverTooltip } from '@codemirror/view';
8
+ import { getHoverSource } from './hover/hover.js';
7
9
  const facet = defineLanguageFacet({
8
10
  commentTokens: { block: { open: '/*', close: '*/' }, line: '//' },
9
11
  closeBrackets: { brackets: ['(', '[', '{', "'", '"', '`'] },
@@ -18,6 +20,7 @@ export function cypher(config) {
18
20
  }),
19
21
  cypherLinter(config),
20
22
  signatureHelpTooltip(config),
23
+ hoverTooltip(getHoverSource(config)),
21
24
  ]);
22
25
  }
23
26
  //# sourceMappingURL=langCypher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"langCypher.js","sourceRoot":"","sources":["../../../src/lang-cypher/langCypher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,KAAK,GAAG,mBAAmB,CAAC;IAChC,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IACjE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;CAC5D,CAAC,CAAC;AAcH,MAAM,UAAU,MAAM,CAAC,MAAoB;IACzC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAExE,OAAO,IAAI,eAAe,CAAC,cAAc,EAAE;QACzC,cAAc,CAAC;YACb,QAAQ,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtC,WAAW,EAAE,gBAAgB;SAC9B,CAAC;QACF,YAAY,CAAC,MAAM,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"langCypher.js","sourceRoot":"","sources":["../../../src/lang-cypher/langCypher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,KAAK,GAAG,mBAAmB,CAAC;IAChC,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IACjE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;CAC5D,CAAC,CAAC;AAcH,MAAM,UAAU,MAAM,CAAC,MAAoB;IACzC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAExE,OAAO,IAAI,eAAe,CAAC,cAAc,EAAE;QACzC,cAAc,CAAC;YACb,QAAQ,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtC,WAAW,EAAE,gBAAgB;SAC9B,CAAC;QACF,YAAY,CAAC,MAAM,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC;QAC5B,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,CAAC;AACL,CAAC"}