mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
Start on migration to CodeMirror 6
This commit is contained in:
parent
c8458fce16
commit
382a9eadef
5 changed files with 307 additions and 83 deletions
|
@ -53,7 +53,7 @@
|
|||
"@popperjs/core": "^2.11.8",
|
||||
"bootstrap": "^5.3.0",
|
||||
"bootstrap-icons": "^1.10.5",
|
||||
"codemirror": "^5.63.1",
|
||||
"codemirror": "^6.0.1",
|
||||
"css-browser-selector": "^0.6.5",
|
||||
"d3": "^7.0.0",
|
||||
"fabric": "^5.3.0",
|
||||
|
|
|
@ -4,6 +4,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
-->
|
||||
<script context="module" lang="ts">
|
||||
import type CodeMirrorLib from "codemirror";
|
||||
import { EditorView } from "@codemirror/view";
|
||||
import type { Extension } from "@codemirror/state";
|
||||
|
||||
export interface CodeMirrorAPI {
|
||||
readonly editor: Promise<CodeMirrorLib.Editor>;
|
||||
|
@ -28,7 +30,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
setupCodeMirror,
|
||||
} from "./code-mirror";
|
||||
|
||||
export let configuration: CodeMirrorLib.EditorConfiguration;
|
||||
export let configuration: Extension;
|
||||
export let code: Writable<string>;
|
||||
export let hidden = false;
|
||||
|
||||
|
@ -37,7 +39,25 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
lineNumbers: false,
|
||||
};
|
||||
|
||||
const [editorPromise, resolve] = promiseWithResolver<CodeMirrorLib.Editor>();
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
const updateListenerExtension = EditorView.updateListener.of((update) => {
|
||||
if (update.docChanged) {
|
||||
dispatch("change", update.state.doc.toString());
|
||||
}
|
||||
});
|
||||
|
||||
function allConfiguration(): Extension {
|
||||
// {
|
||||
// ...configuration,
|
||||
// ...defaultConfiguration,
|
||||
// direction: $direction,
|
||||
// theme: $pageTheme.isDark ? darkTheme : lightTheme,
|
||||
// },
|
||||
return [updateListenerExtension];
|
||||
}
|
||||
|
||||
const [editorPromise, resolve] = promiseWithResolver<EditorView>();
|
||||
|
||||
/**
|
||||
* Convenience function for editor.setOption.
|
||||
|
@ -60,23 +80,20 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
setOption,
|
||||
});
|
||||
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
onMount(async () => {
|
||||
const editor = await editorPromise;
|
||||
setupCodeMirror(editor, code);
|
||||
editor.on("change", () => dispatch("change", editor.getValue()));
|
||||
editor.on("focus", (codeMirror, event) =>
|
||||
dispatch("focus", { codeMirror, event }),
|
||||
);
|
||||
editor.on("blur", (codeMirror, event) =>
|
||||
dispatch("blur", { codeMirror, event }),
|
||||
);
|
||||
editor.on("keydown", (codeMirror, event) => {
|
||||
if (event.code === "Tab") {
|
||||
dispatch("tab", { codeMirror, event });
|
||||
}
|
||||
});
|
||||
// editor.on("focus", (codeMirror, event) =>
|
||||
// dispatch("focus", { codeMirror, event }),
|
||||
// );
|
||||
// editor.on("blur", (codeMirror, event) =>
|
||||
// dispatch("blur", { codeMirror, event }),
|
||||
// );
|
||||
// editor.on("keydown", (codeMirror, event) => {
|
||||
// if (event.code === "Tab") {
|
||||
// dispatch("tab", { codeMirror, event });
|
||||
// }
|
||||
// });
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -85,12 +102,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|||
tabindex="-1"
|
||||
hidden
|
||||
use:openCodeMirror={{
|
||||
configuration: {
|
||||
...configuration,
|
||||
...defaultConfiguration,
|
||||
direction: $direction,
|
||||
theme: $pageTheme.isDark ? darkTheme : lightTheme,
|
||||
},
|
||||
configuration: allConfiguration(),
|
||||
resolve,
|
||||
hidden,
|
||||
}}
|
||||
|
|
|
@ -1,25 +1,13 @@
|
|||
// Copyright: Ankitects Pty Ltd and contributors
|
||||
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
|
||||
import "codemirror/lib/codemirror.css";
|
||||
import "codemirror/addon/fold/foldgutter.css";
|
||||
import "codemirror/theme/monokai.css";
|
||||
import "codemirror/mode/htmlmixed/htmlmixed";
|
||||
import "codemirror/mode/stex/stex";
|
||||
import "codemirror/addon/fold/foldcode";
|
||||
import "codemirror/addon/fold/foldgutter";
|
||||
import "codemirror/addon/fold/xml-fold";
|
||||
import "codemirror/addon/edit/matchtags";
|
||||
import "codemirror/addon/edit/closetag";
|
||||
import "codemirror/addon/display/placeholder";
|
||||
import type { Extension } from "@codemirror/state";
|
||||
import { EditorView } from "@codemirror/view";
|
||||
|
||||
import CodeMirror from "codemirror";
|
||||
import type { Readable } from "svelte/store";
|
||||
|
||||
import storeSubscribe from "../sveltelib/store-subscribe";
|
||||
|
||||
export { CodeMirror };
|
||||
|
||||
export const latex = {
|
||||
name: "stex",
|
||||
inMathMode: true,
|
||||
|
@ -52,7 +40,7 @@ export const gutterOptions: CodeMirror.EditorConfiguration = {
|
|||
};
|
||||
|
||||
export function focusAndSetCaret(
|
||||
editor: CodeMirror.Editor,
|
||||
editor: EditorView,
|
||||
position: CodeMirror.Position = { line: editor.lineCount(), ch: 0 },
|
||||
): void {
|
||||
editor.focus();
|
||||
|
@ -60,31 +48,31 @@ export function focusAndSetCaret(
|
|||
}
|
||||
|
||||
interface OpenCodeMirrorOptions {
|
||||
configuration: CodeMirror.EditorConfiguration;
|
||||
resolve(editor: CodeMirror.EditorFromTextArea): void;
|
||||
configuration: Extension;
|
||||
resolve(editor: EditorView): void;
|
||||
hidden: boolean;
|
||||
}
|
||||
|
||||
export function openCodeMirror(
|
||||
textarea: HTMLTextAreaElement,
|
||||
options: Partial<OpenCodeMirrorOptions>,
|
||||
): { update: (options: Partial<OpenCodeMirrorOptions>) => void; destroy: () => void } {
|
||||
let editor: CodeMirror.EditorFromTextArea | null = null;
|
||||
options: OpenCodeMirrorOptions,
|
||||
): { update: (options: OpenCodeMirrorOptions) => void; destroy: () => void } {
|
||||
let editor: EditorView | null = null;
|
||||
|
||||
function update({
|
||||
configuration,
|
||||
resolve,
|
||||
hidden,
|
||||
}: Partial<OpenCodeMirrorOptions>): void {
|
||||
}: OpenCodeMirrorOptions): void {
|
||||
if (editor) {
|
||||
for (const key in configuration) {
|
||||
editor.setOption(
|
||||
key as keyof CodeMirror.EditorConfiguration,
|
||||
configuration[key],
|
||||
);
|
||||
}
|
||||
// for (const key in configuration) {
|
||||
// editor.setOption(
|
||||
// key as keyof CodeMirror.EditorConfiguration,
|
||||
// configuration[key],
|
||||
// );
|
||||
// }
|
||||
} else if (!hidden) {
|
||||
editor = CodeMirror.fromTextArea(textarea, configuration);
|
||||
editor = editorFromTextArea(textarea, configuration);
|
||||
resolve?.(editor);
|
||||
}
|
||||
}
|
||||
|
@ -94,51 +82,66 @@ export function openCodeMirror(
|
|||
return {
|
||||
update,
|
||||
destroy(): void {
|
||||
editor?.toTextArea();
|
||||
if (editor) editorToTextArea(textarea, editor);
|
||||
editor = null;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
function editorFromTextArea(textarea, extensions: Extension) {
|
||||
let view = new EditorView({ doc: textarea.value, extensions });
|
||||
textarea.parentNode.insertBefore(view.dom, textarea);
|
||||
textarea.style.display = "none";
|
||||
return view;
|
||||
}
|
||||
|
||||
function editorToTextArea(textarea, view: EditorView) {
|
||||
textarea.style.display = "block";
|
||||
view.destroy();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the contract with the code store and location restoration.
|
||||
*/
|
||||
export function setupCodeMirror(
|
||||
editor: CodeMirror.Editor,
|
||||
editor: EditorView,
|
||||
code: Readable<string>,
|
||||
): void {
|
||||
const { subscribe, unsubscribe } = storeSubscribe(
|
||||
code,
|
||||
(value: string): void => editor.setValue(value),
|
||||
(value: string): void => {
|
||||
console.log(value);
|
||||
editor.dispatch({ changes: { from: 0, to: editor.state.doc.length, insert: value } });
|
||||
},
|
||||
false,
|
||||
);
|
||||
|
||||
// TODO passing in the tabindex option does not do anything: bug?
|
||||
editor.getInputField().tabIndex = 0;
|
||||
// // TODO passing in the tabindex option does not do anything: bug?
|
||||
// editor.getInputField().tabIndex = 0;
|
||||
|
||||
let ranges: CodeMirror.Range[] | null = null;
|
||||
// let ranges: CodeMirror.Range[] | null = null;
|
||||
|
||||
editor.on("focus", () => {
|
||||
if (ranges) {
|
||||
try {
|
||||
editor.setSelections(ranges);
|
||||
} catch {
|
||||
ranges = null;
|
||||
editor.setCursor(editor.lineCount(), 0);
|
||||
}
|
||||
}
|
||||
unsubscribe();
|
||||
});
|
||||
// editor.on("focus", () => {
|
||||
// if (ranges) {
|
||||
// try {
|
||||
// editor.setSelections(ranges);
|
||||
// } catch {
|
||||
// ranges = null;
|
||||
// editor.setCursor(editor.lineCount(), 0);
|
||||
// }
|
||||
// }
|
||||
// unsubscribe();
|
||||
// });
|
||||
|
||||
editor.on("mousedown", () => {
|
||||
// Prevent focus restoring location
|
||||
ranges = null;
|
||||
});
|
||||
// editor.on("mousedown", () => {
|
||||
// // Prevent focus restoring location
|
||||
// ranges = null;
|
||||
// });
|
||||
|
||||
editor.on("blur", () => {
|
||||
ranges = editor.listSelections();
|
||||
subscribe();
|
||||
});
|
||||
// editor.on("blur", () => {
|
||||
// ranges = editor.listSelections();
|
||||
// subscribe();
|
||||
// });
|
||||
|
||||
subscribe();
|
||||
}
|
||||
|
|
109
ts/licenses.json
109
ts/licenses.json
|
@ -5,6 +5,62 @@
|
|||
"path": "node_modules/@bufbuild/protobuf",
|
||||
"licenseFile": "node_modules/@bufbuild/protobuf/README.md"
|
||||
},
|
||||
"@codemirror/autocomplete@6.8.1": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/codemirror/autocomplete",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@codemirror/autocomplete",
|
||||
"licenseFile": "node_modules/@codemirror/autocomplete/LICENSE"
|
||||
},
|
||||
"@codemirror/commands@6.2.4": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/codemirror/commands",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@codemirror/commands",
|
||||
"licenseFile": "node_modules/@codemirror/commands/LICENSE"
|
||||
},
|
||||
"@codemirror/language@6.8.0": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/codemirror/language",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@codemirror/language",
|
||||
"licenseFile": "node_modules/@codemirror/language/LICENSE"
|
||||
},
|
||||
"@codemirror/lint@6.3.0": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/codemirror/lint",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@codemirror/lint",
|
||||
"licenseFile": "node_modules/@codemirror/lint/LICENSE"
|
||||
},
|
||||
"@codemirror/search@6.5.0": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/codemirror/search",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@codemirror/search",
|
||||
"licenseFile": "node_modules/@codemirror/search/LICENSE"
|
||||
},
|
||||
"@codemirror/state@6.2.1": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/codemirror/state",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@codemirror/state",
|
||||
"licenseFile": "node_modules/@codemirror/state/LICENSE"
|
||||
},
|
||||
"@codemirror/view@6.14.0": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/codemirror/view",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@codemirror/view",
|
||||
"licenseFile": "node_modules/@codemirror/view/LICENSE"
|
||||
},
|
||||
"@floating-ui/core@1.3.1": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/floating-ui/floating-ui",
|
||||
|
@ -27,6 +83,30 @@
|
|||
"path": "node_modules/@fluent/bundle",
|
||||
"licenseFile": "node_modules/@fluent/bundle/README.md"
|
||||
},
|
||||
"@lezer/common@1.0.3": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/lezer-parser/common",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@lezer/common",
|
||||
"licenseFile": "node_modules/@lezer/common/LICENSE"
|
||||
},
|
||||
"@lezer/highlight@1.1.6": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/lezer-parser/highlight",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@lezer/highlight",
|
||||
"licenseFile": "node_modules/@lezer/highlight/LICENSE"
|
||||
},
|
||||
"@lezer/lr@1.3.7": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/lezer-parser/lr",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/@lezer/lr",
|
||||
"licenseFile": "node_modules/@lezer/lr/LICENSE"
|
||||
},
|
||||
"@mdi/svg@7.2.96": {
|
||||
"licenses": "Apache-2.0",
|
||||
"repository": "https://github.com/Templarian/MaterialDesign-SVG",
|
||||
|
@ -135,11 +215,11 @@
|
|||
"path": "node_modules/browser-process-hrtime",
|
||||
"licenseFile": "node_modules/browser-process-hrtime/LICENSE"
|
||||
},
|
||||
"codemirror@5.65.13": {
|
||||
"codemirror@6.0.1": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/codemirror/CodeMirror",
|
||||
"repository": "https://github.com/codemirror/basic-setup",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"email": "marijnh@gmail.com",
|
||||
"path": "node_modules/codemirror",
|
||||
"licenseFile": "node_modules/codemirror/LICENSE"
|
||||
},
|
||||
|
@ -159,6 +239,14 @@
|
|||
"path": "node_modules/commander",
|
||||
"licenseFile": "node_modules/commander/LICENSE"
|
||||
},
|
||||
"crelt@1.0.6": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/marijnh/crelt",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/crelt",
|
||||
"licenseFile": "node_modules/crelt/LICENSE"
|
||||
},
|
||||
"css-browser-selector@0.6.5": {
|
||||
"licenses": "CC-BY-SA-2.5",
|
||||
"repository": "https://github.com/verbatim/css_browser_selector",
|
||||
|
@ -708,6 +796,13 @@
|
|||
"path": "node_modules/source-map",
|
||||
"licenseFile": "node_modules/source-map/LICENSE"
|
||||
},
|
||||
"style-mod@4.0.3": {
|
||||
"licenses": "MIT",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/style-mod",
|
||||
"licenseFile": "node_modules/style-mod/LICENSE"
|
||||
},
|
||||
"symbol-tree@3.2.4": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/jsdom/js-symbol-tree",
|
||||
|
@ -755,6 +850,14 @@
|
|||
"path": "node_modules/w3c-hr-time",
|
||||
"licenseFile": "node_modules/w3c-hr-time/LICENSE.md"
|
||||
},
|
||||
"w3c-keyname@2.2.8": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/marijnh/w3c-keyname",
|
||||
"publisher": "Marijn Haverbeke",
|
||||
"email": "marijn@haverbeke.berlin",
|
||||
"path": "node_modules/w3c-keyname",
|
||||
"licenseFile": "node_modules/w3c-keyname/LICENSE"
|
||||
},
|
||||
"w3c-xmlserializer@3.0.0": {
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/jsdom/w3c-xmlserializer",
|
||||
|
|
114
yarn.lock
114
yarn.lock
|
@ -318,6 +318,70 @@
|
|||
"@typescript/vfs" "^1.4.0"
|
||||
typescript "4.5.2"
|
||||
|
||||
"@codemirror/autocomplete@^6.0.0":
|
||||
version "6.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.8.1.tgz#3f3daa9f591186901db07f58d17256656242e841"
|
||||
integrity sha512-HpphvDcTdOx+9R3eUw9hZK9JA77jlaBF0kOt2McbyfvY0rX9pnMoO8rkkZc0GzSbzhIY4m5xJ0uHHgjfqHNmXQ==
|
||||
dependencies:
|
||||
"@codemirror/language" "^6.0.0"
|
||||
"@codemirror/state" "^6.0.0"
|
||||
"@codemirror/view" "^6.6.0"
|
||||
"@lezer/common" "^1.0.0"
|
||||
|
||||
"@codemirror/commands@^6.0.0":
|
||||
version "6.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.2.4.tgz#b8a0e5ce72448c092ba4c4b1d902e6f183948aec"
|
||||
integrity sha512-42lmDqVH0ttfilLShReLXsDfASKLXzfyC36bzwcqzox9PlHulMcsUOfHXNo2X2aFMVNUoQ7j+d4q5bnfseYoOA==
|
||||
dependencies:
|
||||
"@codemirror/language" "^6.0.0"
|
||||
"@codemirror/state" "^6.2.0"
|
||||
"@codemirror/view" "^6.0.0"
|
||||
"@lezer/common" "^1.0.0"
|
||||
|
||||
"@codemirror/language@^6.0.0":
|
||||
version "6.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.8.0.tgz#f2d7eea6b338c25593d800f2293b062d9f9856db"
|
||||
integrity sha512-r1paAyWOZkfY0RaYEZj3Kul+MiQTEbDvYqf8gPGaRvNneHXCmfSaAVFjwRUPlgxS8yflMxw2CTu6uCMp8R8A2g==
|
||||
dependencies:
|
||||
"@codemirror/state" "^6.0.0"
|
||||
"@codemirror/view" "^6.0.0"
|
||||
"@lezer/common" "^1.0.0"
|
||||
"@lezer/highlight" "^1.0.0"
|
||||
"@lezer/lr" "^1.0.0"
|
||||
style-mod "^4.0.0"
|
||||
|
||||
"@codemirror/lint@^6.0.0":
|
||||
version "6.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.3.0.tgz#bd36fb85094cf5735e5426e48f1a8e575a7b70df"
|
||||
integrity sha512-tzxOVQNoDhhwFNfcTO2IB74wQoWarARcH6gv3YufPpiJ9yhcb7zD6JCkO5+FWARskqRFc8GFa6E+wUyOvADl5A==
|
||||
dependencies:
|
||||
"@codemirror/state" "^6.0.0"
|
||||
"@codemirror/view" "^6.0.0"
|
||||
crelt "^1.0.5"
|
||||
|
||||
"@codemirror/search@^6.0.0":
|
||||
version "6.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.5.0.tgz#308f9968434e0e6ed59c9ec36a0239eb1dfc5d92"
|
||||
integrity sha512-64/M40YeJPToKvGO6p3fijo2vwUEj4nACEAXElCaYQ50HrXSvRaK+NHEhSh73WFBGdvIdhrV+lL9PdJy2RfCYA==
|
||||
dependencies:
|
||||
"@codemirror/state" "^6.0.0"
|
||||
"@codemirror/view" "^6.0.0"
|
||||
crelt "^1.0.5"
|
||||
|
||||
"@codemirror/state@^6.0.0", "@codemirror/state@^6.1.4", "@codemirror/state@^6.2.0":
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.2.1.tgz#6dc8d8e5abb26b875e3164191872d69a5e85bd73"
|
||||
integrity sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==
|
||||
|
||||
"@codemirror/view@^6.0.0", "@codemirror/view@^6.6.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.14.0.tgz#a8ecb0216d6f81aeb20bf8b0cbbc7ed563cf0777"
|
||||
integrity sha512-I263FPs4In42MNmrdwN2DfmYPFMVMXgT7o/mxdGp4jv5LPs8i0FOxzmxF5yeeQdYSTztb2ZhmPIu0ahveInVTg==
|
||||
dependencies:
|
||||
"@codemirror/state" "^6.1.4"
|
||||
style-mod "^4.0.0"
|
||||
w3c-keyname "^2.2.4"
|
||||
|
||||
"@esbuild-kit/cjs-loader@^2.4.2":
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.2.tgz#cb4dde00fbf744a68c4f20162ea15a8242d0fa54"
|
||||
|
@ -888,6 +952,25 @@
|
|||
"@jridgewell/resolve-uri" "3.1.0"
|
||||
"@jridgewell/sourcemap-codec" "1.4.14"
|
||||
|
||||
"@lezer/common@^1.0.0":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.0.3.tgz#1808f70e2b0a7b1fdcbaf5c074723d2d4ed1e4c5"
|
||||
integrity sha512-JH4wAXCgUOcCGNekQPLhVeUtIqjH0yPBs7vvUdSjyQama9618IOKFJwkv2kcqdhF0my8hQEgCTEJU0GIgnahvA==
|
||||
|
||||
"@lezer/highlight@^1.0.0":
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.1.6.tgz#87e56468c0f43c2a8b3dc7f0b7c2804b34901556"
|
||||
integrity sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==
|
||||
dependencies:
|
||||
"@lezer/common" "^1.0.0"
|
||||
|
||||
"@lezer/lr@^1.0.0":
|
||||
version "1.3.7"
|
||||
resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.3.7.tgz#e3012c74512a063098eb9da86d4cc689170e1f92"
|
||||
integrity sha512-ssHKb3p0MxhJXT2i7UBmgAY1BIM3Uq/D772Qutu3EVmxWIyNMU12nQ0rL3Fhu+MiFtiTzyTmd3xGwEf3ON5PSA==
|
||||
dependencies:
|
||||
"@lezer/common" "^1.0.0"
|
||||
|
||||
"@mdi/svg@^7.0.96":
|
||||
version "7.2.96"
|
||||
resolved "https://registry.yarnpkg.com/@mdi/svg/-/svg-7.2.96.tgz#6c182628ed722a85055c3795e7d4ca6d4f2f139c"
|
||||
|
@ -1928,10 +2011,18 @@ code-red@^1.0.3:
|
|||
estree-walker "^3.0.3"
|
||||
periscopic "^3.1.0"
|
||||
|
||||
codemirror@^5.63.1:
|
||||
version "5.65.13"
|
||||
resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.13.tgz#c098a6f409db8b5a7c5722788bd9fa3bb2367f2e"
|
||||
integrity sha512-SVWEzKXmbHmTQQWaz03Shrh4nybG0wXx2MEu3FO4ezbPW8IbnZEd5iGHGEffSUaitKYa3i+pHpBsSvw8sPHtzg==
|
||||
codemirror@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.1.tgz#62b91142d45904547ee3e0e0e4c1a79158035a29"
|
||||
integrity sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==
|
||||
dependencies:
|
||||
"@codemirror/autocomplete" "^6.0.0"
|
||||
"@codemirror/commands" "^6.0.0"
|
||||
"@codemirror/language" "^6.0.0"
|
||||
"@codemirror/lint" "^6.0.0"
|
||||
"@codemirror/search" "^6.0.0"
|
||||
"@codemirror/state" "^6.0.0"
|
||||
"@codemirror/view" "^6.0.0"
|
||||
|
||||
collect-v8-coverage@^1.0.0:
|
||||
version "1.0.1"
|
||||
|
@ -1984,6 +2075,11 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
|
|||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
|
||||
integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
|
||||
|
||||
crelt@^1.0.5:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72"
|
||||
integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==
|
||||
|
||||
cross-env@^7.0.2:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
|
||||
|
@ -5017,6 +5113,11 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
|
|||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
|
||||
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
|
||||
|
||||
style-mod@^4.0.0:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.3.tgz#136c4abc905f82a866a18b39df4dc08ec762b1ad"
|
||||
integrity sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw==
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
|
@ -5323,6 +5424,11 @@ w3c-hr-time@^1.0.2:
|
|||
dependencies:
|
||||
browser-process-hrtime "^1.0.0"
|
||||
|
||||
w3c-keyname@^2.2.4:
|
||||
version "2.2.8"
|
||||
resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5"
|
||||
integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==
|
||||
|
||||
w3c-xmlserializer@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz#06cdc3eefb7e4d0b20a560a5a3aeb0d2d9a65923"
|
||||
|
|
Loading…
Reference in a new issue