diff --git a/package.json b/package.json
index 6209a190783..6aca35250ed 100644
--- a/package.json
+++ b/package.json
@@ -251,6 +251,21 @@
},
"dependencies": {
"@bsull/augurs": "^0.7.0",
+ "@codemirror/autocomplete": "^6.18.4",
+ "@codemirror/commands": "^6.7.1",
+ "@codemirror/lang-go": "^6.0.1",
+ "@codemirror/lang-html": "^6.4.9",
+ "@codemirror/lang-javascript": "^6.2.2",
+ "@codemirror/lang-json": "^6.0.1",
+ "@codemirror/lang-markdown": "^6.3.1",
+ "@codemirror/lang-sql": "^6.8.0",
+ "@codemirror/lang-xml": "^6.1.0",
+ "@codemirror/lang-yaml": "^6.1.2",
+ "@codemirror/language": "^6.10.8",
+ "@codemirror/lint": "^6.8.4",
+ "@codemirror/search": "^6.5.8",
+ "@codemirror/state": "^6.5.0",
+ "@codemirror/view": "^6.36.1",
"@emotion/css": "11.13.5",
"@emotion/react": "11.14.0",
"@fingerprintjs/fingerprintjs": "^3.4.2",
@@ -314,6 +329,7 @@
"brace": "0.11.1",
"centrifuge": "5.2.2",
"classnames": "2.5.1",
+ "codemirror": "^6.0.1",
"combokeys": "^3.0.0",
"comlink": "4.4.2",
"common-tags": "1.8.2",
diff --git a/public/app/plugins/panel/text/CodeEditor2.tsx b/public/app/plugins/panel/text/CodeEditor2.tsx
new file mode 100644
index 00000000000..13a2d0b4800
--- /dev/null
+++ b/public/app/plugins/panel/text/CodeEditor2.tsx
@@ -0,0 +1,147 @@
+import { autocompletion, closeBrackets, closeBracketsKeymap, completionKeymap } from '@codemirror/autocomplete';
+import { defaultKeymap, history, historyKeymap } from '@codemirror/commands';
+import { go } from '@codemirror/lang-go';
+import { html } from '@codemirror/lang-html';
+import { javascript } from '@codemirror/lang-javascript';
+import { json } from '@codemirror/lang-json';
+import { markdown } from '@codemirror/lang-markdown';
+import { sql } from '@codemirror/lang-sql';
+import { xml } from '@codemirror/lang-xml';
+import { yaml } from '@codemirror/lang-yaml';
+import {
+ bracketMatching,
+ defaultHighlightStyle,
+ foldGutter,
+ foldKeymap,
+ indentOnInput,
+ syntaxHighlighting,
+} from '@codemirror/language';
+import { lintKeymap } from '@codemirror/lint';
+import { highlightSelectionMatches, searchKeymap } from '@codemirror/search';
+import { EditorState, Extension } from '@codemirror/state';
+import {
+ crosshairCursor,
+ drawSelection,
+ dropCursor,
+ EditorView,
+ highlightActiveLine,
+ highlightActiveLineGutter,
+ highlightSpecialChars,
+ keymap,
+ lineNumbers,
+ rectangularSelection,
+} from '@codemirror/view';
+import { useLayoutEffect, useRef } from 'react';
+
+import { CodeLanguage } from './panelcfg.gen';
+
+interface Props {
+ className?: string;
+ language?: CodeLanguage;
+ width?: number | string;
+ height?: number | string;
+ value?: string;
+ showLineNumbers?: boolean;
+ readOnly?: boolean;
+ onBlur?: (value: string) => void;
+ onSave?: (value: string) => void;
+}
+
+export const CodeEditor2 = ({
+ className,
+ language = CodeLanguage.Markdown,
+ width = '100%',
+ height,
+ value = '',
+ showLineNumbers = false,
+ readOnly = false,
+ onBlur,
+ onSave,
+}: Props) => {
+ const domRef = useRef(null);
+
+ useLayoutEffect(() => {
+ const lang =
+ language === CodeLanguage.Markdown
+ ? markdown()
+ : language === CodeLanguage.Typescript
+ ? javascript()
+ : language === CodeLanguage.Json
+ ? json()
+ : language === CodeLanguage.Go
+ ? go()
+ : language === CodeLanguage.Yaml
+ ? yaml()
+ : language === CodeLanguage.Sql
+ ? sql()
+ : language === CodeLanguage.Xml
+ ? xml()
+ : language === CodeLanguage.Html
+ ? html()
+ : null;
+
+ const extensions: Extension[] = [
+ highlightActiveLineGutter(),
+ highlightSpecialChars(),
+ history(),
+ foldGutter(),
+ EditorView.lineWrapping,
+ drawSelection(),
+ dropCursor(),
+ EditorState.allowMultipleSelections.of(true),
+ indentOnInput(),
+ syntaxHighlighting(defaultHighlightStyle, { fallback: true }),
+ bracketMatching(),
+ closeBrackets(),
+ autocompletion(),
+ rectangularSelection(),
+ crosshairCursor(),
+ // highlightActiveLine(),
+ highlightSelectionMatches(),
+ keymap.of([
+ ...closeBracketsKeymap,
+ ...defaultKeymap,
+ ...searchKeymap,
+ ...historyKeymap,
+ ...foldKeymap,
+ ...completionKeymap,
+ ...lintKeymap,
+ ]),
+
+ EditorView.updateListener.of((e) => {
+ if (e.docChanged) {
+ // const entry = cmInstances[filename];
+ // if (entry.debounce) {
+ // clearTimeout(entry.debounce);
+ // }
+ // entry.debounce = setTimeout(() => syncContent(filename), 1000);
+
+ let content = ed.state.doc.toString();
+ onBlur?.(content);
+ }
+ }),
+ ];
+
+ if (showLineNumbers) {
+ extensions.unshift(lineNumbers());
+ }
+
+ if (lang != null) {
+ extensions.push(lang);
+ }
+
+ let ed = new EditorView({
+ parent: domRef.current!,
+ state: EditorState.create({
+ doc: value,
+ extensions,
+ }),
+ });
+
+ return () => ed.destroy();
+ }, []);
+
+ return ;
+};
+
+export default CodeEditor2;
diff --git a/public/app/plugins/panel/text/TextPanelEditor.tsx b/public/app/plugins/panel/text/TextPanelEditor.tsx
index 75d8f50810e..0f427921191 100644
--- a/public/app/plugins/panel/text/TextPanelEditor.tsx
+++ b/public/app/plugins/panel/text/TextPanelEditor.tsx
@@ -1,51 +1,62 @@
import { css, cx } from '@emotion/css';
-import { useMemo } from 'react';
-import AutoSizer from 'react-virtualized-auto-sizer';
+import { lazy, Suspense, useMemo } from 'react';
import { GrafanaTheme2, StandardEditorProps } from '@grafana/data';
import {
- CodeEditor,
+ // CodeEditor,
useStyles2,
- CodeEditorSuggestionItem,
- variableSuggestionToCodeEditorSuggestion,
+ // CodeEditorSuggestionItem,
+ // variableSuggestionToCodeEditorSuggestion,
} from '@grafana/ui';
-import { Options, TextMode } from './panelcfg.gen';
+// import { CodeEditor2 } from './CodeEditor2';
+import { CodeLanguage, Options, TextMode } from './panelcfg.gen';
+
+const CodeEditor2Lazy = lazy(() => import(/* webpackChunkName: "CodeEditor2" */ './CodeEditor2'));
+
+// export const CodeEditor2Lazy = () => (
+// Loading...
}>
+//
+//
+// )
export const TextPanelEditor = ({ value, onChange, context }: StandardEditorProps) => {
- const language = useMemo(() => context.options?.mode ?? TextMode.Markdown, [context]);
+ const language = useMemo(() => context.options?.code?.language ?? CodeLanguage.Markdown, [context]);
const styles = useStyles2(getStyles);
- const getSuggestions = (): CodeEditorSuggestionItem[] => {
- if (!context.getSuggestions) {
- return [];
- }
- return context.getSuggestions().map((v) => variableSuggestionToCodeEditorSuggestion(v));
- };
+ // const getSuggestions = (): CodeEditorSuggestionItem[] => {
+ // if (!context.getSuggestions) {
+ // return [];
+ // }
+ // return context.getSuggestions().map((v) => variableSuggestionToCodeEditorSuggestion(v));
+ // };
+
+ /* */
return (
-
-
- {({ width }) => {
- if (width === 0) {
- return null;
- }
- return (
-
- );
- }}
-
-
+ Loading...}>
+
+
);
};
@@ -56,5 +67,6 @@ const getStyles = (theme: GrafanaTheme2) => ({
borderRadius: theme.shape.radius.default,
margin: theme.spacing(0.5, 0),
width: '100%',
+ backgroundColor: 'rgb(17, 18, 23)',
}),
});
diff --git a/yarn.lock b/yarn.lock
index 742f219d1ed..2b6c6bcf156 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1664,6 +1664,212 @@ __metadata:
languageName: node
linkType: hard
+"@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.18.4, @codemirror/autocomplete@npm:^6.7.1":
+ version: 6.18.4
+ resolution: "@codemirror/autocomplete@npm:6.18.4"
+ dependencies:
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.17.0"
+ "@lezer/common": "npm:^1.0.0"
+ checksum: 10/7cd62db2ee87d6cb3936ced4f211bdcd9ce75515f64922119370c303a8bdbf5640e640a8d802c30d01cb55fb6c9b5299426ff799f04cff0bef8d0c3450fe2528
+ languageName: node
+ linkType: hard
+
+"@codemirror/commands@npm:^6.0.0, @codemirror/commands@npm:^6.7.1":
+ version: 6.7.1
+ resolution: "@codemirror/commands@npm:6.7.1"
+ dependencies:
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.4.0"
+ "@codemirror/view": "npm:^6.27.0"
+ "@lezer/common": "npm:^1.1.0"
+ checksum: 10/d742bc5976f7bab81695b9fc10d103b7cc9933fce3cc90fdd8e1d060ff480efd65d8fac3ee17f500869d323ea00c4da200d022619888da15fd65aa40e0958c93
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-css@npm:^6.0.0":
+ version: 6.3.1
+ resolution: "@codemirror/lang-css@npm:6.3.1"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@lezer/common": "npm:^1.0.2"
+ "@lezer/css": "npm:^1.1.7"
+ checksum: 10/709994b0a787fe06ebac7a47c6a6a92c9680fe2b4479bbe2a72b27ad4d863953ad64a61b36f15098d00bd9a655bc9b3a3ecf2877354351ff873a01186fb38386
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-go@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "@codemirror/lang-go@npm:6.0.1"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.6.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@lezer/common": "npm:^1.0.0"
+ "@lezer/go": "npm:^1.0.0"
+ checksum: 10/6e361bddb35683b225e1367807f598044b861c6858c9a011227fb73a872735985141746b3c410dcd8ef11b4c0e54819e720c5e663201a6a5e69ba8a9519fa287
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-html@npm:^6.0.0, @codemirror/lang-html@npm:^6.4.9":
+ version: 6.4.9
+ resolution: "@codemirror/lang-html@npm:6.4.9"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/lang-css": "npm:^6.0.0"
+ "@codemirror/lang-javascript": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.4.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.17.0"
+ "@lezer/common": "npm:^1.0.0"
+ "@lezer/css": "npm:^1.1.0"
+ "@lezer/html": "npm:^1.3.0"
+ checksum: 10/db4288a9e87613a54836313cd48df7e11450b885c64b5a6c054d057d33501ee1501cf72d246eb588131b90574e5471509f00944fc5b55bacc83750f1321a58e1
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.2.2":
+ version: 6.2.2
+ resolution: "@codemirror/lang-javascript@npm:6.2.2"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.6.0"
+ "@codemirror/lint": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.17.0"
+ "@lezer/common": "npm:^1.0.0"
+ "@lezer/javascript": "npm:^1.0.0"
+ checksum: 10/eac2e57a7a595cf0c93afd4bb42034902230c73e5525554ba925bad12aa544ca58014c017466288a2b34f1684d6efa5537507ed8b57e276d02665c2821c7a9d6
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-json@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "@codemirror/lang-json@npm:6.0.1"
+ dependencies:
+ "@codemirror/language": "npm:^6.0.0"
+ "@lezer/json": "npm:^1.0.0"
+ checksum: 10/7ce35d345bf9b2f5d96e2502a9693c8b2e74981ccf3a7a20da48e405c2bd6067b39acfd9b31fe3bbb5f9f28ccdde5ff7c52253c6d5b3be84b29df6d5db0b3b9b
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-markdown@npm:^6.3.1":
+ version: 6.3.1
+ resolution: "@codemirror/lang-markdown@npm:6.3.1"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.7.1"
+ "@codemirror/lang-html": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.3.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.0.0"
+ "@lezer/common": "npm:^1.2.1"
+ "@lezer/markdown": "npm:^1.0.0"
+ checksum: 10/e13de98d651b2f95521aa742c4da9d6a0b9160968dcd618776ad7a088ba7cfb927f935aa1c0d76fc8cc313d3a811e215322978714d59a4de3e33e06fa6fa2067
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-sql@npm:^6.8.0":
+ version: 6.8.0
+ resolution: "@codemirror/lang-sql@npm:6.8.0"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ checksum: 10/a226e6b8dc2ada3720acb65dc615b76754fde9fd85bfbaf7dcf49115802b9e031d251fa26ab6d97dbd04f777c631a2fe0622b8fca503a9fda1e727e94e2d68e9
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-xml@npm:^6.1.0":
+ version: 6.1.0
+ resolution: "@codemirror/lang-xml@npm:6.1.0"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.4.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.0.0"
+ "@lezer/common": "npm:^1.0.0"
+ "@lezer/xml": "npm:^1.0.0"
+ checksum: 10/f5e54668c30efbb8a78a51e49ccec92a06931f2b98dce35c90be94ded30da02dac525124ce3c40f65c7b071f8db72d16b10a5a1795ccbf10e69939c0a9c1cac8
+ languageName: node
+ linkType: hard
+
+"@codemirror/lang-yaml@npm:^6.1.2":
+ version: 6.1.2
+ resolution: "@codemirror/lang-yaml@npm:6.1.2"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.2.0"
+ "@lezer/lr": "npm:^1.0.0"
+ "@lezer/yaml": "npm:^1.0.0"
+ checksum: 10/1a1ad16554b27d9f66ad2a342170e7c7e51781876280727790e763e9a770163772d4880a9c344705ca65acc2b5fb228962dc3281ba05a71d2c071515541258ae
+ languageName: node
+ linkType: hard
+
+"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.10.8, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0":
+ version: 6.10.8
+ resolution: "@codemirror/language@npm:6.10.8"
+ dependencies:
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.23.0"
+ "@lezer/common": "npm:^1.1.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ style-mod: "npm:^4.0.0"
+ checksum: 10/63b83b41d9f8475f757144cc204df08834bb14411c484aa265ffa3e93b7d8f696a21110df72101159a8675eda29018c6d08f864965bd4651b607a39f10ad32ed
+ languageName: node
+ linkType: hard
+
+"@codemirror/lint@npm:^6.0.0, @codemirror/lint@npm:^6.8.4":
+ version: 6.8.4
+ resolution: "@codemirror/lint@npm:6.8.4"
+ dependencies:
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.35.0"
+ crelt: "npm:^1.0.5"
+ checksum: 10/401ead0591d88d31d1bf6527d4caba26e0deb7b49382dfbb8c712037d858047b0699fa2c15831a07db928194549eea9b942004fee42f334b34ff5973c7dbec58
+ languageName: node
+ linkType: hard
+
+"@codemirror/search@npm:^6.0.0, @codemirror/search@npm:^6.5.8":
+ version: 6.5.8
+ resolution: "@codemirror/search@npm:6.5.8"
+ dependencies:
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.0.0"
+ crelt: "npm:^1.0.5"
+ checksum: 10/1389fa4e05da72b621ae10ff00d4ef0d23b08a3a7ac48f6e0b867429da7b80036bd7a6feef1a54f5b4c4af9fc4277f754a313a858fbfc12ccdfa48e9bf300cef
+ languageName: node
+ linkType: hard
+
+"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.4.0, @codemirror/state@npm:^6.5.0":
+ version: 6.5.0
+ resolution: "@codemirror/state@npm:6.5.0"
+ dependencies:
+ "@marijn/find-cluster-break": "npm:^1.0.0"
+ checksum: 10/7d29461ee05851b03aadd84fed5ce55430b396097954cf47f464840a0b9af3f896375c0fc52726c50039e58bb25755e9a55ad63c6ba65646ac49e62af9cc35b6
+ languageName: node
+ linkType: hard
+
+"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0, @codemirror/view@npm:^6.36.1":
+ version: 6.36.1
+ resolution: "@codemirror/view@npm:6.36.1"
+ dependencies:
+ "@codemirror/state": "npm:^6.5.0"
+ style-mod: "npm:^4.1.0"
+ w3c-keyname: "npm:^2.2.4"
+ checksum: 10/a6af511852910a4e741ed5e470efe532b52c379d6f12b442556bc114064da0d4d9f98e56491fb7ee36ae9a51e33ccf0bc553c5d47f0ca76a40b21a3844d0145c
+ languageName: node
+ linkType: hard
+
"@colors/colors@npm:1.5.0":
version: 1.5.0
resolution: "@colors/colors@npm:1.5.0"
@@ -4761,14 +4967,36 @@ __metadata:
languageName: node
linkType: hard
-"@lezer/common@npm:1.2.3, @lezer/common@npm:^1.0.0":
+"@lezer/common@npm:1.2.3, @lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.2.1":
version: 1.2.3
resolution: "@lezer/common@npm:1.2.3"
checksum: 10/dad24e353e4e67d88b203191361ca1dff26c01c2b7b4ae829b668a1d115929334d077217367683e39180c0556510ed2066ea8ddba2b079be7c08a7152208cc87
languageName: node
linkType: hard
-"@lezer/highlight@npm:1.2.1":
+"@lezer/css@npm:^1.1.0, @lezer/css@npm:^1.1.7":
+ version: 1.1.9
+ resolution: "@lezer/css@npm:1.1.9"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ checksum: 10/bcc277bb6b806961ebfd03e98faf8e5870dd7da2eb565c43922ac378d926b49f479309b28cc824fd4e17baac2c8952966807d06fbe2a45d53e9a3f1518134729
+ languageName: node
+ linkType: hard
+
+"@lezer/go@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "@lezer/go@npm:1.0.0"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ checksum: 10/3a7a7be931308852261e69f741e5a8edbb731aa53ba9287a103dfd66572894fd26c33c9b6f48df123352fbcf8d937a1fa482a5d7aaec37e402f0443bd99c060e
+ languageName: node
+ linkType: hard
+
+"@lezer/highlight@npm:1.2.1, @lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3, @lezer/highlight@npm:^1.2.0":
version: 1.2.1
resolution: "@lezer/highlight@npm:1.2.1"
dependencies:
@@ -4777,7 +5005,40 @@ __metadata:
languageName: node
linkType: hard
-"@lezer/lr@npm:1.4.2":
+"@lezer/html@npm:^1.3.0":
+ version: 1.3.10
+ resolution: "@lezer/html@npm:1.3.10"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ checksum: 10/b69f796492c0a2c000ebba88e1b1f0dc0885ed3392c11b46a9d7c638da1a325d6a288375fbeec52d0d05437b801302299e0e57359f95a494db1e251b3d66d29c
+ languageName: node
+ linkType: hard
+
+"@lezer/javascript@npm:^1.0.0":
+ version: 1.4.21
+ resolution: "@lezer/javascript@npm:1.4.21"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.1.3"
+ "@lezer/lr": "npm:^1.3.0"
+ checksum: 10/7f8b1f469103e74dc2c39e7e75e6cc670e4cf6f48b5317e2a0e267521c9924641e8de41c6e740af8cc919f5c7e03c0a97fc2f261486c96f1625c3e3bbb23b80a
+ languageName: node
+ linkType: hard
+
+"@lezer/json@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "@lezer/json@npm:1.0.3"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ checksum: 10/48e7b945fdfa2b5b6f862e27bc31f3991cba93f18df7fed0059b25f119b64dedd50bbc709d279e16e2b3eee10e7758d7d80c6d98d21bc15c284809d268837897
+ languageName: node
+ linkType: hard
+
+"@lezer/lr@npm:1.4.2, @lezer/lr@npm:^1.0.0, @lezer/lr@npm:^1.3.0, @lezer/lr@npm:^1.4.0":
version: 1.4.2
resolution: "@lezer/lr@npm:1.4.2"
dependencies:
@@ -4786,6 +5047,38 @@ __metadata:
languageName: node
linkType: hard
+"@lezer/markdown@npm:^1.0.0":
+ version: 1.3.2
+ resolution: "@lezer/markdown@npm:1.3.2"
+ dependencies:
+ "@lezer/common": "npm:^1.0.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ checksum: 10/f234f3d9eb2217a89828a7299b0e1b00c3d3ee3f4ab6251735895ad065080a7f59711a4a116a022f2b03ca0a2a72e7e2709f211e0729b5a800753dec9b3ae2d8
+ languageName: node
+ linkType: hard
+
+"@lezer/xml@npm:^1.0.0":
+ version: 1.0.6
+ resolution: "@lezer/xml@npm:1.0.6"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.0.0"
+ checksum: 10/ffdc3fd587c992f86de84bd828e1d92216484a571423b6edb7b0b1f2eb495ff14e9a234ce5fcba4bce1cb00683af50c0e7f5dfb017a0d3da77607b42e77548a2
+ languageName: node
+ linkType: hard
+
+"@lezer/yaml@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "@lezer/yaml@npm:1.0.3"
+ dependencies:
+ "@lezer/common": "npm:^1.2.0"
+ "@lezer/highlight": "npm:^1.0.0"
+ "@lezer/lr": "npm:^1.4.0"
+ checksum: 10/6697b964403dc5dec9186732c5997675e5140ef5dddc8371dd28fa194d8431d8a7d5f18670be47b81a0b4ad6cbfe82e4f7c9c6f06e6f763bd100f7a38908baf5
+ languageName: node
+ linkType: hard
+
"@linaria/core@npm:^4.5.4":
version: 4.5.4
resolution: "@linaria/core@npm:4.5.4"
@@ -4966,6 +5259,13 @@ __metadata:
languageName: node
linkType: hard
+"@marijn/find-cluster-break@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "@marijn/find-cluster-break@npm:1.0.2"
+ checksum: 10/92fe7ba43ce3d3314f593e4c2fd822d7089649baff47a474fe04b83e3119931d7cf58388747d429ff65fa2db14f5ca57e787268c482e868fc67759511f61f09b
+ languageName: node
+ linkType: hard
+
"@mdx-js/react@npm:^3.0.0":
version: 3.0.1
resolution: "@mdx-js/react@npm:3.0.1"
@@ -12671,6 +12971,21 @@ __metadata:
languageName: node
linkType: hard
+"codemirror@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "codemirror@npm:6.0.1"
+ dependencies:
+ "@codemirror/autocomplete": "npm:^6.0.0"
+ "@codemirror/commands": "npm:^6.0.0"
+ "@codemirror/language": "npm:^6.0.0"
+ "@codemirror/lint": "npm:^6.0.0"
+ "@codemirror/search": "npm:^6.0.0"
+ "@codemirror/state": "npm:^6.0.0"
+ "@codemirror/view": "npm:^6.0.0"
+ checksum: 10/4f858cde1cf8ce4670de9df4a64f4990bb8abdb8e13d3e437f278c40c86d841ef505aa1e5dc798582109ceaac8577a3bb4a1f026c0e5ce730465c89652ee6036
+ languageName: node
+ linkType: hard
+
"codeowners@npm:^5.1.1":
version: 5.1.1
resolution: "codeowners@npm:5.1.1"
@@ -13344,6 +13659,13 @@ __metadata:
languageName: node
linkType: hard
+"crelt@npm:^1.0.5":
+ version: 1.0.6
+ resolution: "crelt@npm:1.0.6"
+ checksum: 10/5ed326ca6bd243b1dba6b943f665b21c2c04be03271824bc48f20dba324b0f8233e221f8c67312526d24af2b1243c023dc05a41bd8bd05d1a479fd2c72fb39c3
+ languageName: node
+ linkType: hard
+
"croact-css-styled@npm:^1.1.9":
version: 1.1.9
resolution: "croact-css-styled@npm:1.1.9"
@@ -17531,6 +17853,21 @@ __metadata:
"@betterer/cli": "npm:5.4.0"
"@betterer/eslint": "npm:5.4.0"
"@bsull/augurs": "npm:^0.7.0"
+ "@codemirror/autocomplete": "npm:^6.18.4"
+ "@codemirror/commands": "npm:^6.7.1"
+ "@codemirror/lang-go": "npm:^6.0.1"
+ "@codemirror/lang-html": "npm:^6.4.9"
+ "@codemirror/lang-javascript": "npm:^6.2.2"
+ "@codemirror/lang-json": "npm:^6.0.1"
+ "@codemirror/lang-markdown": "npm:^6.3.1"
+ "@codemirror/lang-sql": "npm:^6.8.0"
+ "@codemirror/lang-xml": "npm:^6.1.0"
+ "@codemirror/lang-yaml": "npm:^6.1.2"
+ "@codemirror/language": "npm:^6.10.8"
+ "@codemirror/lint": "npm:^6.8.4"
+ "@codemirror/search": "npm:^6.5.8"
+ "@codemirror/state": "npm:^6.5.0"
+ "@codemirror/view": "npm:^6.36.1"
"@cypress/webpack-preprocessor": "npm:6.0.2"
"@emotion/css": "npm:11.13.5"
"@emotion/eslint-plugin": "npm:11.12.0"
@@ -17680,6 +18017,7 @@ __metadata:
chance: "npm:^1.0.10"
chrome-remote-interface: "npm:0.33.2"
classnames: "npm:2.5.1"
+ codemirror: "npm:^6.0.1"
codeowners: "npm:^5.1.1"
combokeys: "npm:^3.0.0"
comlink: "npm:4.4.2"
@@ -28591,6 +28929,13 @@ __metadata:
languageName: node
linkType: hard
+"style-mod@npm:^4.0.0, style-mod@npm:^4.1.0":
+ version: 4.1.2
+ resolution: "style-mod@npm:4.1.2"
+ checksum: 10/9da37909d6dbc3c043ab6d18da5d997073a4698c91e86058293252493eb18aca4e44e3fb18f32fcee26dcee8785f393c6c95f3c96cc722a0dd6b8de622b5b293
+ languageName: node
+ linkType: hard
+
"style-search@npm:^0.1.0":
version: 0.1.0
resolution: "style-search@npm:0.1.0"
@@ -30341,6 +30686,13 @@ __metadata:
languageName: node
linkType: hard
+"w3c-keyname@npm:^2.2.4":
+ version: 2.2.8
+ resolution: "w3c-keyname@npm:2.2.8"
+ checksum: 10/95bafa4c04fa2f685a86ca1000069c1ec43ace1f8776c10f226a73296caeddd83f893db885c2c220ebeb6c52d424e3b54d7c0c1e963bbf204038ff1a944fbb07
+ languageName: node
+ linkType: hard
+
"w3c-xmlserializer@npm:^3.0.0":
version: 3.0.0
resolution: "w3c-xmlserializer@npm:3.0.0"