Compare commits

...

3 Commits

Author SHA1 Message Date
Leon Sorokin
3dd775cff0 more langs, disable some monaco 2025-01-07 15:14:57 -06:00
Leon Sorokin
4521b18df9 Merge branch 'main' into leeoniya/codemirror 2025-01-07 15:05:44 -06:00
Leon Sorokin
05316a1179 [PoC] Alternative code editor based on CodeMirror 2025-01-05 19:46:49 -06:00
6 changed files with 634 additions and 50 deletions

View File

@@ -250,6 +250,24 @@
},
"dependencies": {
"@bsull/augurs": "^0.7.0",
"@codemirror/autocomplete": "^6.18.4",
"@codemirror/commands": "^6.7.1",
"@codemirror/lang-css": "^6.3.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-less": "^6.0.2",
"@codemirror/lang-markdown": "^6.3.1",
"@codemirror/lang-sass": "^6.0.2",
"@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",
@@ -313,6 +331,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",

View File

@@ -6,25 +6,27 @@ export function setMonacoEnv() {
getWorker(_moduleId, label) {
const language = monacoLanguageRegistry.getIfExists(label);
console.log(label);
if (language) {
return language.init();
}
if (label === 'json') {
return new Worker(new URL('monaco-editor/esm/vs/language/json/json.worker', import.meta.url));
}
// if (label === 'json') {
// return new Worker(new URL('monaco-editor/esm/vs/language/json/json.worker', import.meta.url));
// }
if (label === 'css' || label === 'scss' || label === 'less') {
return new Worker(new URL('monaco-editor/esm/vs/language/css/css.worker', import.meta.url));
}
// if (label === 'css' || label === 'scss' || label === 'less') {
// return new Worker(new URL('monaco-editor/esm/vs/language/css/css.worker', import.meta.url));
// }
if (label === 'html' || label === 'handlebars' || label === 'razor') {
return new Worker(new URL('monaco-editor/esm/vs/language/html/html.worker', import.meta.url));
}
// if (label === 'html' || label === 'handlebars' || label === 'razor') {
// return new Worker(new URL('monaco-editor/esm/vs/language/html/html.worker', import.meta.url));
// }
if (label === 'typescript' || label === 'javascript') {
return new Worker(new URL('monaco-editor/esm/vs/language/typescript/ts.worker', import.meta.url));
}
// if (label === 'typescript' || label === 'javascript') {
// return new Worker(new URL('monaco-editor/esm/vs/language/typescript/ts.worker', import.meta.url));
// }
return new Worker(new URL('monaco-editor/esm/vs/editor/editor.worker', import.meta.url));
},

View File

@@ -0,0 +1,156 @@
import { autocompletion, closeBrackets, closeBracketsKeymap, completionKeymap } from '@codemirror/autocomplete';
import { defaultKeymap, history, historyKeymap } from '@codemirror/commands';
import { css } from '@codemirror/lang-css';
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 { less } from '@codemirror/lang-less';
import { markdown } from '@codemirror/lang-markdown';
import { sass } from '@codemirror/lang-sass';
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<HTMLDivElement>(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()
: language === CodeLanguage.Css
? css()
: language === CodeLanguage.Sass
? sass()
: language === CodeLanguage.Less
? less()
: 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 <div className={className} style={{ width, height }} ref={domRef}></div>;
};
export default CodeEditor2;

View File

@@ -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 = () => (
// <Suspense fallback={<p>Loading...</p>}>
// <AvatarComponent />
// </Suspense>
// )
export const TextPanelEditor = ({ value, onChange, context }: StandardEditorProps<string, {}, Options>) => {
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));
// };
/* <CodeEditor
value={value}
onBlur={onChange}
onSave={onChange}
language={language}
width={width}
showMiniMap={false}
showLineNumbers={false}
height="500px"
getSuggestions={getSuggestions}
/> */
return (
<div className={cx(styles.editorBox)}>
<AutoSizer disableHeight>
{({ width }) => {
if (width === 0) {
return null;
}
return (
<CodeEditor
value={value}
onBlur={onChange}
onSave={onChange}
language={language}
width={width}
showMiniMap={false}
showLineNumbers={false}
height="500px"
getSuggestions={getSuggestions}
/>
);
}}
</AutoSizer>
</div>
<Suspense fallback={<p>Loading...</p>}>
<CodeEditor2Lazy
key={language}
className={cx(styles.editorBox)}
language={language}
height={500}
value={value}
showLineNumbers={false}
readOnly={false}
onBlur={onChange}
onSave={onChange}
/>
</Suspense>
);
};
@@ -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)',
}),
});

View File

@@ -15,11 +15,14 @@ export enum TextMode {
}
export enum CodeLanguage {
Css = 'css',
Go = 'go',
Html = 'html',
Json = 'json',
Less = 'less',
Markdown = 'markdown',
Plaintext = 'plaintext',
Sass = 'sass',
Sql = 'sql',
Typescript = 'typescript',
Xml = 'xml',

398
yarn.lock
View File

@@ -1664,6 +1664,238 @@ __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, @codemirror/lang-css@npm:^6.2.0, @codemirror/lang-css@npm:^6.3.1":
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-less@npm:^6.0.2":
version: 6.0.2
resolution: "@codemirror/lang-less@npm:6.0.2"
dependencies:
"@codemirror/lang-css": "npm:^6.2.0"
"@codemirror/language": "npm:^6.0.0"
"@lezer/common": "npm:^1.2.0"
"@lezer/highlight": "npm:^1.0.0"
"@lezer/lr": "npm:^1.0.0"
checksum: 10/233aa03e0bfb57e4f23fdb2a8d52ad3143a52553895b97cb2901f66d59fc40246b525a21b7be72d873efa98783f6da5f4e8e042da442b092fab9eb63c69524c8
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-sass@npm:^6.0.2":
version: 6.0.2
resolution: "@codemirror/lang-sass@npm:6.0.2"
dependencies:
"@codemirror/lang-css": "npm:^6.2.0"
"@codemirror/language": "npm:^6.0.0"
"@codemirror/state": "npm:^6.0.0"
"@lezer/common": "npm:^1.0.2"
"@lezer/sass": "npm:^1.0.0"
checksum: 10/de5c72f62714960961b616c8fe25b4f127906b0c05ec2e8e633d0b896fb2da979732cad0f51b1c0bc058494db5447664234b7910a3345fb5080d8222d4011818
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"
@@ -4768,14 +5000,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:
@@ -4784,7 +5038,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:
@@ -4793,6 +5080,49 @@ __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/sass@npm:^1.0.0":
version: 1.0.7
resolution: "@lezer/sass@npm:1.0.7"
dependencies:
"@lezer/common": "npm:^1.2.0"
"@lezer/highlight": "npm:^1.0.0"
"@lezer/lr": "npm:^1.0.0"
checksum: 10/a7531cbf0766d3875480c24ae8929dd56053d71f9eaef8815e6f468e2252e66e38236a3f89395463e4cee43230dc35351386bedc6138cf1a19a44a64ce58a372
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"
@@ -4973,6 +5303,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"
@@ -12705,6 +13042,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"
@@ -13378,6 +13730,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"
@@ -17600,6 +17959,24 @@ __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-css": "npm:^6.3.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-less": "npm:^6.0.2"
"@codemirror/lang-markdown": "npm:^6.3.1"
"@codemirror/lang-sass": "npm:^6.0.2"
"@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"
@@ -17749,6 +18126,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"
@@ -28754,6 +29132,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"
@@ -30505,6 +30890,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"