From 0d1c72386e0f8530b9776664e0373b8feb353cca Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Thu, 4 Mar 2021 16:43:34 +0100 Subject: [PATCH] Bump codemirror to 0.18 (#8546) --- package.json | 21 +-- src/components/ha-code-editor.ts | 63 +++++---- src/resources/codemirror.ts | 58 +++++---- yarn.lock | 216 +++++++++++++++++-------------- 4 files changed, 189 insertions(+), 169 deletions(-) diff --git a/package.json b/package.json index b4b291851e..f2114f3125 100644 --- a/package.json +++ b/package.json @@ -23,16 +23,17 @@ "license": "Apache-2.0", "dependencies": { "@braintree/sanitize-url": "^5.0.0", - "@codemirror/commands": "^0.17.0", - "@codemirror/gutter": "^0.17.0", - "@codemirror/highlight": "^0.17.0", - "@codemirror/history": "^0.17.0", - "@codemirror/legacy-modes": "^0.17.0", - "@codemirror/search": "^0.17.0", - "@codemirror/state": "^0.17.0", - "@codemirror/stream-parser": "^0.17.0", - "@codemirror/text": "^0.17.0", - "@codemirror/view": "^0.17.0", + "@codemirror/commands": "^0.18.0", + "@codemirror/gutter": "^0.18.0", + "@codemirror/highlight": "^0.18.1", + "@codemirror/history": "^0.18.0", + "@codemirror/legacy-modes": "^0.18.0", + "@codemirror/rectangular-selection": "^0.18.0", + "@codemirror/search": "^0.18.0", + "@codemirror/state": "^0.18.0", + "@codemirror/stream-parser": "^0.18.0", + "@codemirror/text": "^0.18.0", + "@codemirror/view": "^0.18.0", "@formatjs/intl-getcanonicallocales": "^1.4.6", "@formatjs/intl-pluralrules": "^3.4.10", "@fullcalendar/common": "5.1.0", diff --git a/src/components/ha-code-editor.ts b/src/components/ha-code-editor.ts index 55cb03272d..8388d423be 100644 --- a/src/components/ha-code-editor.ts +++ b/src/components/ha-code-editor.ts @@ -1,4 +1,3 @@ -import type { StreamLanguage } from "@codemirror/stream-parser"; import type { EditorView, KeyBinding, ViewUpdate } from "@codemirror/view"; import { customElement, @@ -16,10 +15,6 @@ declare global { } } -const modeTag = Symbol("mode"); - -const readOnlyTag = Symbol("readOnly"); - const saveKeyBinding: KeyBinding = { key: "Mod-s", run: (view: EditorView) => { @@ -42,7 +37,7 @@ export class HaCodeEditor extends UpdatingElement { @internalProperty() private _value = ""; - @internalProperty() private _langs?: Record>; + private _loadedCodeMirror?: typeof import("../resources/codemirror"); public set value(value: string) { this._value = value; @@ -71,16 +66,16 @@ export class HaCodeEditor extends UpdatingElement { if (changedProps.has("mode")) { this.codemirror.dispatch({ - reconfigure: { - [modeTag]: this._mode, - }, + effects: this._loadedCodeMirror!.langCompartment!.reconfigure( + this._mode + ), }); } if (changedProps.has("readOnly")) { this.codemirror.dispatch({ - reconfigure: { - [readOnlyTag]: !this.readOnly, - }, + effects: this._loadedCodeMirror!.readonlyCompartment!.reconfigure( + this._loadedCodeMirror!.EditorView!.editable.of(!this.readOnly) + ), }); } if (changedProps.has("_value") && this._value !== this.value) { @@ -104,13 +99,11 @@ export class HaCodeEditor extends UpdatingElement { } private get _mode() { - return this._langs![this.mode]; + return this._loadedCodeMirror!.langs[this.mode]; } private async _load(): Promise { - const loaded = await loadCodeMirror(); - - this._langs = loaded.langs; + this._loadedCodeMirror = await loadCodeMirror(); const shadowRoot = this.attachShadow({ mode: "open" }); @@ -124,28 +117,32 @@ export class HaCodeEditor extends UpdatingElement { shadowRoot.appendChild(container); - this.codemirror = new loaded.EditorView({ - state: loaded.EditorState.create({ + this.codemirror = new this._loadedCodeMirror.EditorView({ + state: this._loadedCodeMirror.EditorState.create({ doc: this._value, extensions: [ - loaded.lineNumbers(), - loaded.history(), - loaded.highlightSelectionMatches(), - loaded.keymap.of([ - ...loaded.defaultKeymap, - ...loaded.searchKeymap, - ...loaded.historyKeymap, - ...loaded.tabKeyBindings, + this._loadedCodeMirror.lineNumbers(), + this._loadedCodeMirror.EditorState.allowMultipleSelections.of(true), + this._loadedCodeMirror.history(), + this._loadedCodeMirror.highlightSelectionMatches(), + this._loadedCodeMirror.highlightActiveLine(), + this._loadedCodeMirror.rectangularSelection(), + this._loadedCodeMirror.keymap.of([ + ...this._loadedCodeMirror.defaultKeymap, + ...this._loadedCodeMirror.searchKeymap, + ...this._loadedCodeMirror.historyKeymap, + ...this._loadedCodeMirror.tabKeyBindings, saveKeyBinding, ] as KeyBinding[]), - loaded.tagExtension(modeTag, this._mode), - loaded.theme, - loaded.Prec.fallback(loaded.highlightStyle), - loaded.tagExtension( - readOnlyTag, - loaded.EditorView.editable.of(!this.readOnly) + this._loadedCodeMirror.langCompartment.of(this._mode), + this._loadedCodeMirror.theme, + this._loadedCodeMirror.Prec.fallback( + this._loadedCodeMirror.highlightStyle ), - loaded.EditorView.updateListener.of((update) => + this._loadedCodeMirror.readonlyCompartment.of( + this._loadedCodeMirror.EditorView.editable.of(!this.readOnly) + ), + this._loadedCodeMirror.EditorView.updateListener.of((update) => this._onUpdate(update) ), ], diff --git a/src/resources/codemirror.ts b/src/resources/codemirror.ts index aedfd3f34a..e8162732a3 100644 --- a/src/resources/codemirror.ts +++ b/src/resources/codemirror.ts @@ -4,20 +4,25 @@ import { StreamLanguage } from "@codemirror/stream-parser"; import { jinja2 } from "@codemirror/legacy-modes/mode/jinja2"; import { yaml } from "@codemirror/legacy-modes/mode/yaml"; import { indentLess, indentMore } from "@codemirror/commands"; +import { Compartment } from "@codemirror/state"; -export { keymap } from "@codemirror/view"; +export { keymap, highlightActiveLine } from "@codemirror/view"; export { CMEditorView as EditorView }; -export { EditorState, Prec, tagExtension } from "@codemirror/state"; +export { EditorState, Prec } from "@codemirror/state"; export { defaultKeymap } from "@codemirror/commands"; export { lineNumbers } from "@codemirror/gutter"; export { searchKeymap, highlightSelectionMatches } from "@codemirror/search"; export { history, historyKeymap } from "@codemirror/history"; +export { rectangularSelection } from "@codemirror/rectangular-selection"; export const langs = { jinja2: StreamLanguage.define(jinja2), yaml: StreamLanguage.define(yaml), }; +export const langCompartment = new Compartment(); +export const readonlyCompartment = new Compartment(); + export const tabKeyBindings: KeyBinding[] = [ { key: "Tab", run: indentMore }, { @@ -27,7 +32,7 @@ export const tabKeyBindings: KeyBinding[] = [ ]; export const theme = CMEditorView.theme({ - $: { + "&": { color: "var(--primary-text-color)", backgroundColor: "var(--code-editor-background-color, var(--card-background-color))", @@ -36,27 +41,28 @@ export const theme = CMEditorView.theme({ maxHeight: "var(--code-mirror-max-height, unset)", }, - $scroller: { outline: "none" }, - - $content: { caretColor: "var(--secondary-text-color)" }, - - $$focused: { outline: "none" }, - - "$$focused $cursor": { borderLeftColor: "#var(--secondary-text-color)" }, - "$$focused $selectionBackground, $selectionBackground": { + "&.cm-focused": { outline: "none" }, + "&.cm-focused .cm-cursor": { + borderLeftColor: "#var(--secondary-text-color)", + }, + "&.cm-focused .cm-selectionBackground, .cm-selectionBackground": { backgroundColor: "rgba(var(--rgb-primary-color), 0.3)", }, - $panels: { + ".cm-scroller": { outline: "none" }, + + ".cm-content": { caretColor: "var(--secondary-text-color)" }, + + ".cm-panels": { backgroundColor: "var(--primary-background-color)", color: "var(--primary-text-color)", }, - "$panels.top": { borderBottom: "1px solid var(--divider-color)" }, - "$panels.bottom": { borderTop: "1px solid var(--divider-color)" }, + ".cm-panels.top": { borderBottom: "1px solid var(--divider-color)" }, + ".cm-panels.bottom": { borderTop: "1px solid var(--divider-color)" }, - "$panel.search input": { margin: "4px 4px 0" }, + ".cm-panel.search input": { margin: "4px 4px 0" }, - $button: { + ".cm-button": { border: "1px solid var(--primary-color)", padding: "0px 16px", textTransform: "uppercase", @@ -72,7 +78,7 @@ export const theme = CMEditorView.theme({ letterSpacing: "var(--mdc-typography-button-letter-spacing, 0.0892857em)", }, - $textfield: { + ".cm-textfield": { padding: "4px 0px 5px", borderRadius: "0", fontSize: "16px", @@ -93,20 +99,20 @@ export const theme = CMEditorView.theme({ }, }, - $selectionMatch: { + ".cm-selectionMatch": { backgroundColor: "rgba(var(--rgb-primary-color), 0.1)", }, - $searchMatch: { + ".cm-searchMatch": { backgroundColor: "rgba(var(--rgb-accent-color), .2)", outline: "1px solid rgba(var(--rgb-accent-color), .4)", }, - "$searchMatch.selected": { + ".cm-searchMatch.selected": { backgroundColor: "rgba(var(--rgb-accent-color), .4)", outline: "1px solid var(--accent-color)", }, - $gutters: { + ".cm-gutters": { backgroundColor: "var(--paper-dialog-background-color, var(--primary-background-color))", color: "var(--paper-dialog-color, var(--secondary-text-color))", @@ -115,15 +121,15 @@ export const theme = CMEditorView.theme({ "1px solid var(--paper-input-container-color, var(--secondary-text-color))", paddingRight: "1px", }, - "$$focused $gutters": { + "&.cm-focused cm-gutters": { borderRight: "2px solid var(--paper-input-container-focus-color, var(--primary-color))", paddingRight: "0", }, - "$gutterElementags.lineNumber": { color: "inherit" }, + ".cm-gutterElementags.lineNumber": { color: "inherit" }, }); -export const highlightStyle = HighlightStyle.define( +export const highlightStyle = HighlightStyle.define([ { tag: tags.keyword, color: "var(--codemirror-keyword, #6262FF)" }, { tag: [ @@ -194,5 +200,5 @@ export const highlightStyle = HighlightStyle.define( { tag: tags.processingInstruction, color: "var(--secondary-text-color)" }, { tag: tags.string, color: "var(--codemirror-string, #07a)" }, { tag: tags.inserted, color: "var(--codemirror-string2, #07a)" }, - { tag: tags.invalid, color: "var(--error-color)" } -); + { tag: tags.invalid, color: "var(--error-color)" }, +]); diff --git a/yarn.lock b/yarn.lock index bd86587600..c43e85b834 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1905,135 +1905,144 @@ resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-5.0.0.tgz#3ba791f37b90e7f6170d252b63aacfcae943c039" integrity sha512-WmKrB/575EJCzbeSJR3YQ5sET5FaizeljLRw1382qVUeGqzuWBgIS+AF5a0FO51uQTrDpoRgvuHC2IWVsgwkkA== -"@codemirror/commands@^0.17.0": - version "0.17.5" - resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-0.17.5.tgz#0912955a614e554e4fbcb347a785c5c981f12826" - integrity sha512-9B/Zq6mBkSdf+2xWoOufJutNRhFdsgA9f2w9hfI7ujwFqFLIj7QKuYt+W1LAcJufHYy5BdVCyjgCamx65yb4MA== +"@codemirror/commands@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-0.18.0.tgz#10344d7d7a0fecad826e9853c1e6069d706298c6" + integrity sha512-4H63B4oqr8dmJ3VOKvMI7xrZIBJjAdtz3Z0V/Jt0HlIYTe76Omy4h9BS3b9EgyNaWjIO/Slz3KQPwihcC8uR5Q== dependencies: - "@codemirror/language" "^0.17.0" - "@codemirror/matchbrackets" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/language" "^0.18.0" + "@codemirror/matchbrackets" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + "@codemirror/view" "^0.18.0" lezer-tree "^0.13.0" -"@codemirror/gutter@^0.17.0": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@codemirror/gutter/-/gutter-0.17.2.tgz#75c433090d05786614c0c7d14d2efae42c301151" - integrity sha512-kyfuNVg3B+yS9U3aNMK/AQ0NyOswOep8lrbldBL4BWXZ8mFzSifT3WNK887WYrEIhqeLjq5qjcsJgFyGrFR0Lg== +"@codemirror/gutter@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/gutter/-/gutter-0.18.0.tgz#b6fb340f7cc7b4ed1a67687e145489b3ed93098d" + integrity sha512-9hcKzBM5EjhWwrau5Xiv0ll/yOvkgiyLnH7DTsjFCUvuyfbS45WVEMhQ6C+HfsoRVR4TJqRVLJjaIktZqaAqnw== dependencies: - "@codemirror/rangeset" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/rangeset" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" -"@codemirror/highlight@^0.17.0": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@codemirror/highlight/-/highlight-0.17.3.tgz#43f519ef93fa1c050ba2cd0631d9d855d9f3ec1e" - integrity sha512-pKuCQ/+CSbibK6ZO2E6YRowhf4LKERwCrSYmQyCw18Dgutt1D2d5t2fv0kziHYC7Jz3ZG2xnrsHABFjS57V6JA== +"@codemirror/highlight@^0.18.0", "@codemirror/highlight@^0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@codemirror/highlight/-/highlight-0.18.1.tgz#9ba1e842dd149b9985ee48cfdbeff6ef191378bb" + integrity sha512-SBbz6hS7/vUrgeiwTBByx/UXY8+Tkdyk7/CUq+XfgGUwPXpK8+llzBlQHa4mov46f/wAy1qoj0uobfgSjcvEpQ== dependencies: - "@codemirror/language" "^0.17.0" - "@codemirror/rangeset" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/language" "^0.18.0" + "@codemirror/rangeset" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" lezer-tree "^0.13.0" - style-mod "^3.2.0" + style-mod "^4.0.0" -"@codemirror/history@^0.17.0": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@codemirror/history/-/history-0.17.2.tgz#d94273af95f7dbd8a0c41c370984e4bbf55d54e8" - integrity sha512-ML/FA6VJMMwsQrx7HFXaOAg/LqrLxUktE5pu230UOn0u5bxIPxbX0lLGs34994s9HPruqbCqIikSc+IfjLkFcA== +"@codemirror/history@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/history/-/history-0.18.0.tgz#1267499e20f977b5b4179ec2cfd5013d78ab0cbc" + integrity sha512-oMpvu7c8GQnEn1nX98+WuVQuMEVxOPJFU1yrA22sWfqG7lkrJAv7p4geCWOpwQY9/LWw4sICkDbCeirre4BqBA== dependencies: - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" -"@codemirror/language@^0.17.0": - version "0.17.5" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-0.17.5.tgz#77b551680f0bb8a6e40de7659e518de1e0c637a0" - integrity sha512-eFpWMv4anbinagEziYUO62mNKUFBPXeJ96HRuxYQI3yt4mJIVjzS7FkB/4VHqOcvfJYqYI3TURyu0T8MM4se2A== +"@codemirror/language@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-0.18.0.tgz#16c3beaf372d0ecfcb76d708a8f55efccaa25563" + integrity sha512-gryu0Sej1vG3S3njwsJ+bhz9zLoJxZ2TahLlxpqOB3uqVGZrGDyE+GmZBnA6I3hwHvaO1O4WXKScVsKoW6HqFA== dependencies: - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" - "@codemirror/view" "^0.17.0" - lezer "^0.13.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + "@codemirror/view" "^0.18.0" + lezer "^0.13.4" lezer-tree "^0.13.0" -"@codemirror/legacy-modes@^0.17.0": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@codemirror/legacy-modes/-/legacy-modes-0.17.1.tgz#18a1a0f4a6b5745e521443525a243b9bc321e8ae" - integrity sha512-JafuzWLKuUfKh8rF2VYgUx+fzD4upFxV9kJuIUyv94/S9RcdrDPRU46AmfSpdumY6A9F2qQuTEc5ZLaK3g0iaw== +"@codemirror/legacy-modes@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/legacy-modes/-/legacy-modes-0.18.0.tgz#64bb6819758a50ccf777e4d64d59dec0fac2e169" + integrity sha512-ME/FnBTRf+nriCB1Racmwhl3tSSnIOobhLyK0kOX6mogKdcdkRxSVpeo1fAC8DddsXqi/NKRn8GUr/vUiHefdg== dependencies: - "@codemirror/stream-parser" "^0.17.0" + "@codemirror/stream-parser" "^0.18.0" -"@codemirror/matchbrackets@^0.17.0": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@codemirror/matchbrackets/-/matchbrackets-0.17.2.tgz#9dd72046d7bf09550612b2553c41317ed22577b1" - integrity sha512-E4TP7lNXk7VtmvvKYH59yNx0lf5ubv7iv0Ok0uWCjxm+RIPnXiOdRoNI7rxITJcgNROOyKnuKsd6AAnmuXxDEQ== +"@codemirror/matchbrackets@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz#64a493090d942de19f15a9ed3cb0fa19ed55f18b" + integrity sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw== dependencies: - "@codemirror/language" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/language" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" lezer-tree "^0.13.0" -"@codemirror/panel@^0.17.0": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@codemirror/panel/-/panel-0.17.1.tgz#9dfd3b464c537caebec43fffbd8a283b0210d4c1" - integrity sha512-2it2Sk02eF4WFwPVoRLhr9lPGq9lwwwHZFyb4olqI6tOyTPwk6leZ4ntabYrhvjRc7gD6S6vM14KhOtjm4hjqg== +"@codemirror/panel@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/panel/-/panel-0.18.0.tgz#79726a4506f45b5abbe31a6dd80f4cd29a810e49" + integrity sha512-wgKpe+QRjZwFKoMbMxqUFlV4j3dvgm8Q4v12SS0L6yxnFZkMsdbmowh0+pBa1Cp5iTSb0pdEOjAQaiWFZyIk9g== dependencies: - "@codemirror/state" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/state" "^0.18.0" + "@codemirror/view" "^0.18.0" -"@codemirror/rangeset@^0.17.0": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@codemirror/rangeset/-/rangeset-0.17.1.tgz#41066bcf4b70b2c7595cb1363780688cc3f1235b" - integrity sha512-Qv8a8C5CZiUdXGvxniWdULJzXDiz5uSP5ddHFEmekGa9nNVCgdr05nH7R+h3NgJ2P40UEEOPykqXZyy8EHGggw== +"@codemirror/rangeset@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/rangeset/-/rangeset-0.18.0.tgz#8b3bec00c1cee8c3db3827a752a76819ead2dfab" + integrity sha512-+dpK3T6EFv2vkoAc3sTZld0N5SHZDjD3YowFYuMWn0Xw3t+u6k+JZlGBuaFTXdsLeF0auclsm0XhRUpMVuXhTg== dependencies: - "@codemirror/state" "^0.17.0" + "@codemirror/state" "^0.18.0" -"@codemirror/search@^0.17.0": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-0.17.1.tgz#eb6ae529093b09f92b1d62c4d0ad8d09c4e218f7" - integrity sha512-wY0KP9my/0uKQk9AU39EqmkY6zMVv2Erej5b1rRBksM78JZXzjNUl4gyhtx1/0om84IZ1ocmW8MRElkAY6r1rw== +"@codemirror/rectangular-selection@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/rectangular-selection/-/rectangular-selection-0.18.0.tgz#87e1a4d319b5d55b4e97294e6df0070164e836c0" + integrity sha512-BQ4pp2zhXCVZNqct5LtLR3AOWVseENBF/3oOgBmwsCKH7c11NfTqIqgWG5EW8NLOXp8HP8cDm3np8eWez0VkGQ== dependencies: - "@codemirror/panel" "^0.17.0" - "@codemirror/rangeset" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" - "@codemirror/view" "^0.17.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + "@codemirror/view" "^0.18.0" + +"@codemirror/search@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-0.18.0.tgz#aabb53d4678196e82309241753cd67403149e35d" + integrity sha512-gjg1yDz6gof0lhOEzjqofidd5tH2dwUwiyzym6E78n3tZBh/KygLKmw0B0T9a5s9JTVZtzup95i+TmcHrz2MQg== + dependencies: + "@codemirror/panel" "^0.18.0" + "@codemirror/rangeset" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + "@codemirror/view" "^0.18.0" crelt "^1.0.5" -"@codemirror/state@^0.17.0": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-0.17.2.tgz#b94846def08c2258bfdf09839359c31823e663ff" - integrity sha512-3WwDsBTMkiyFKJntIZjCiyq0KKo1OaKhq8k9vG/eGRm6bYL8rPOAEvufW6AKwuK3BSAftOAHFNXXq+GRNoL7zg== +"@codemirror/state@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-0.18.0.tgz#5bb5600c5bf32d4103b6576cd33bdb8cf926d602" + integrity sha512-E5Tgx/CVmQQdiIOoJ4xX4hy2RGqTjxbpzDifGn8wUu3Driq/uZ+ncr7M4ojWs1T83yYFevNBmPtT5vprD25vYA== dependencies: - "@codemirror/text" "^0.17.0" + "@codemirror/text" "^0.18.0" -"@codemirror/stream-parser@^0.17.0": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@codemirror/stream-parser/-/stream-parser-0.17.1.tgz#b8508676cffac1c34c98d4004a8449d762bef6cf" - integrity sha512-toCFLbPzzXNxCjyeNtu/s5Me1xDFQp6qCS4CNfslnW3iAg86M7W4v8SJocmVO3ALAr/6Ci/ECSIN7jsGZcAitw== +"@codemirror/stream-parser@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/stream-parser/-/stream-parser-0.18.0.tgz#d4eaf7043324bf9d20c518732a2ce2ff845256a5" + integrity sha512-qxtSBvn2kKMm0XlfJ0e7FbVIg10RsaNjX5n/jRWlK2Y0kHjk+Huk5vkkGR3vjwHDgRdfwQe/vqZtkPz3DFQpLQ== dependencies: - "@codemirror/highlight" "^0.17.0" - "@codemirror/language" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" + "@codemirror/highlight" "^0.18.0" + "@codemirror/language" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" lezer "^0.13.0" lezer-tree "^0.13.0" -"@codemirror/text@^0.17.0": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@codemirror/text/-/text-0.17.2.tgz#7076feeaed16556b52d9b028429296ce10eb1280" - integrity sha512-KL+cM+uJPW5skyuTRoW43lOaSQq3YDNEPx5z0V/9Wsz9R9dK4kVP5NIRMUFgl9MUCQ9UxIotvgPDpz65j9wjuA== +"@codemirror/text@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/text/-/text-0.18.0.tgz#a4a98862989ccef5545e730b269136d524c6a7c7" + integrity sha512-HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg== -"@codemirror/view@^0.17.0": - version "0.17.13" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.17.13.tgz#e805ccaa31c22fcff87f0a1c88c143ff17960458" - integrity sha512-TWmQF2OMzWYY51gvzcq0ECvW1EyhEVpy//dmu1MDvJrv8nDZWGY/a414fUCc+v6DKNpujg7IIpP9sD2izYJFpg== +"@codemirror/view@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.18.0.tgz#3bbb95d71fd526460acb0de724846851d0f7137c" + integrity sha512-+ll9SL8dIAvaI4OMv4wZWRrW6AGUY45Al5L88KIp+bd1jFKYO1cu21UXAG25EvqYInZ4ctc6el0vYRP9A+VOrw== dependencies: - "@codemirror/rangeset" "^0.17.0" - "@codemirror/state" "^0.17.0" - "@codemirror/text" "^0.17.0" - style-mod "^3.2.0" + "@codemirror/rangeset" "^0.18.0" + "@codemirror/state" "^0.18.0" + "@codemirror/text" "^0.18.0" + style-mod "^4.0.0" w3c-keyname "^2.2.4" "@discoveryjs/json-ext@^0.5.0": @@ -9441,6 +9450,13 @@ lezer@^0.13.0: dependencies: lezer-tree "^0.13.2" +lezer@^0.13.4: + version "0.13.4" + resolved "https://registry.yarnpkg.com/lezer/-/lezer-0.13.4.tgz#f0396a3447c7a8f40391623f3f47a4d95559c42f" + integrity sha512-cLQxUVY28VBBqKBt/R8CYeH57KQnIvscAnoahzvhlZTK8qxMkIyGExR6ecEpYYDX06ZhROZrEm1IiPvjLAsTig== + dependencies: + lezer-tree "^0.13.2" + liftoff@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" @@ -12964,10 +12980,10 @@ strip-json-comments@^3.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== -style-mod@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-3.2.2.tgz#fc445fdd08bd5a513363079ba625f69b2618f31d" - integrity sha512-7X3zF+GjUSQ/opNrzuEOqM+lF+4SOkG5aWxrNw/5rwBrHytsH1Ly8/o9e6Wnqoul2lLT1Pmue63LgiE6mEZAGw== +style-mod@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.0.tgz#97e7c2d68b592975f2ca7a63d0dd6fcacfe35a01" + integrity sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw== subarg@^1.0.0: version "1.0.0"