From 1ba4e8215dcf841a29750f086e6a4a58eeef39d7 Mon Sep 17 00:00:00 2001 From: Konrad Staniszewski Date: Fri, 13 Dec 2024 15:09:07 -0800 Subject: [PATCH] feat: Add support for codemirror mode languages (#125) * feat: Add support for codemirror mode languages Codemirror 5 had a number of languages supported via modes instead of explicit language support * Add additional languages, remove comment --- packages/web/package.json | 7 + .../hooks/useSyntaxHighlightingExtension.ts | 263 ++++++++++++++++-- yarn.lock | 145 +++++++++- 3 files changed, 385 insertions(+), 30 deletions(-) diff --git a/packages/web/package.json b/packages/web/package.json index 4d1fdef8..73c11753 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -18,11 +18,18 @@ "@codemirror/lang-java": "^6.0.1", "@codemirror/lang-javascript": "^6.2.2", "@codemirror/lang-json": "^6.0.1", + "@codemirror/lang-less": "^6.0.2", + "@codemirror/lang-liquid": "^6.2.2", "@codemirror/lang-markdown": "^6.2.5", "@codemirror/lang-php": "^6.0.1", "@codemirror/lang-python": "^6.1.6", "@codemirror/lang-rust": "^6.0.1", + "@codemirror/lang-sass": "^6.0.2", "@codemirror/lang-sql": "^6.7.1", + "@codemirror/lang-vue": "^0.1.3", + "@codemirror/lang-xml": "^6.1.0", + "@codemirror/lang-yaml": "^6.1.2", + "@codemirror/legacy-modes": "^6.4.2", "@codemirror/search": "^6.5.6", "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.33.0", diff --git a/packages/web/src/hooks/useSyntaxHighlightingExtension.ts b/packages/web/src/hooks/useSyntaxHighlightingExtension.ts index 8318e654..0c836dc9 100644 --- a/packages/web/src/hooks/useSyntaxHighlightingExtension.ts +++ b/packages/web/src/hooks/useSyntaxHighlightingExtension.ts @@ -2,20 +2,94 @@ import { EditorView } from "@codemirror/view"; import { useExtensionWithDependency } from "./useExtensionWithDependency"; -import { javascript } from "@codemirror/lang-javascript"; -import { python } from "@codemirror/lang-python"; -import { markdown } from "@codemirror/lang-markdown"; +import { StreamLanguage } from "@codemirror/language"; + +// CodeMirror 6 languages + +import { css } from "@codemirror/lang-css"; import { cpp } from "@codemirror/lang-cpp"; import { csharp } from "@replit/codemirror-lang-csharp"; -import { json } from "@codemirror/lang-json"; -import { java } from "@codemirror/lang-java"; -import { rust } from "@codemirror/lang-rust"; import { go } from "@codemirror/lang-go"; -import { sql } from "@codemirror/lang-sql"; -import { php } from "@codemirror/lang-php"; import { html } from "@codemirror/lang-html"; -import { css } from "@codemirror/lang-css"; +import { java } from "@codemirror/lang-java"; +import { javascript } from "@codemirror/lang-javascript"; +import { json } from "@codemirror/lang-json"; +import { less } from "@codemirror/lang-less"; +import { liquid } from "@codemirror/lang-liquid"; +import { markdown } from "@codemirror/lang-markdown"; +import { php } from "@codemirror/lang-php"; +import { python } from "@codemirror/lang-python"; +import { rust } from "@codemirror/lang-rust"; +import { sass } from "@codemirror/lang-sass"; +import { sql } from "@codemirror/lang-sql"; +import { vue } from "@codemirror/lang-vue"; +import { xml } from "@codemirror/lang-xml" +import { yaml } from "@codemirror/lang-yaml"; +// Legacy CodeMirror 5 modes +// https://codemirror.net/5/mode/ +import { apl } from "@codemirror/legacy-modes/mode/apl"; +// import { asn1 } from "@codemirror/legacy-modes/mode/asn1"; // this seems to be broken +import { ceylon } from "@codemirror/legacy-modes/mode/clike"; +import { clojure } from "@codemirror/legacy-modes/mode/clojure"; +import { cmake } from "@codemirror/legacy-modes/mode/cmake"; +import { cobol } from "@codemirror/legacy-modes/mode/cobol"; +import { coffeeScript } from "@codemirror/legacy-modes/mode/coffeescript"; +import { commonLisp } from "@codemirror/legacy-modes/mode/commonlisp"; +import { crystal } from "@codemirror/legacy-modes/mode/crystal"; +import { cypher } from "@codemirror/legacy-modes/mode/cypher"; +import { d } from "@codemirror/legacy-modes/mode/d"; +import { dart } from "@codemirror/legacy-modes/mode/clike"; +// import { django } from "@codemirror/legacy-modes/mode/django"; // not present anymore +import { dockerFile } from "@codemirror/legacy-modes/mode/dockerfile"; +import { diff } from "@codemirror/legacy-modes/mode/diff"; +import { elm } from "@codemirror/legacy-modes/mode/elm"; +import { erlang } from "@codemirror/legacy-modes/mode/erlang"; +import { fortran } from "@codemirror/legacy-modes/mode/fortran"; +import { gherkin } from "@codemirror/legacy-modes/mode/gherkin"; +import { groovy } from "@codemirror/legacy-modes/mode/groovy"; +import { haskell } from "@codemirror/legacy-modes/mode/haskell"; +import { idl } from "@codemirror/legacy-modes/mode/idl"; +import { jinja2 } from "@codemirror/legacy-modes/mode/jinja2"; +import { julia } from "@codemirror/legacy-modes/mode/julia"; +import { kotlin } from "@codemirror/legacy-modes/mode/clike"; +import { liveScript } from "@codemirror/legacy-modes/mode/livescript"; +import { lua } from "@codemirror/legacy-modes/mode/lua"; +import { nesC } from "@codemirror/legacy-modes/mode/clike"; +import { nginx } from "@codemirror/legacy-modes/mode/nginx"; +import { objectiveC } from "@codemirror/legacy-modes/mode/clike"; +import { objectiveCpp } from "@codemirror/legacy-modes/mode/clike"; +import { octave } from "@codemirror/legacy-modes/mode/octave"; +import { pascal } from "@codemirror/legacy-modes/mode/pascal"; +import { perl } from "@codemirror/legacy-modes/mode/perl"; +import { powerShell } from "@codemirror/legacy-modes/mode/powershell"; +import { protobuf } from "@codemirror/legacy-modes/mode/protobuf"; +import { pug } from "@codemirror/legacy-modes/mode/pug"; +import { puppet } from "@codemirror/legacy-modes/mode/puppet"; +import { r } from "@codemirror/legacy-modes/mode/r"; +import { rpmSpec } from "@codemirror/legacy-modes/mode/rpm"; +import { ruby } from "@codemirror/legacy-modes/mode/ruby"; +import { scala } from "@codemirror/legacy-modes/mode/clike"; +import { scheme } from "@codemirror/legacy-modes/mode/scheme"; +import { shader } from "@codemirror/legacy-modes/mode/clike"; +import { shell } from "@codemirror/legacy-modes/mode/shell"; +import { squirrel } from "@codemirror/legacy-modes/mode/clike"; +import { swift } from "@codemirror/legacy-modes/mode/swift"; +import { tcl } from "@codemirror/legacy-modes/mode/tcl"; +import { textile } from "@codemirror/legacy-modes/mode/textile"; +import { stex } from "@codemirror/legacy-modes/mode/stex"; +import { toml } from "@codemirror/legacy-modes/mode/toml"; +import { turtle } from "@codemirror/legacy-modes/mode/turtle"; +// import { twig } from "@codemirror/legacy-modes/mode/twig"; // not present anymore +import { vb } from "@codemirror/legacy-modes/mode/vb"; +import { vbScript } from "@codemirror/legacy-modes/mode/vbscript"; +import { velocity } from "@codemirror/legacy-modes/mode/velocity"; +// import { vue } from "@codemirror/legacy-modes/mode/vue"; // not present anymore +import { verilog } from "@codemirror/legacy-modes/mode/verilog"; +import { vhdl } from "@codemirror/legacy-modes/mode/vhdl"; +import { wast } from "@codemirror/legacy-modes/mode/wast"; // webassembly +import { yacas } from "@codemirror/legacy-modes/mode/yacas"; +import { xQuery } from "@codemirror/legacy-modes/mode/xquery"; export const useSyntaxHighlightingExtension = (language: string, view: EditorView | undefined) => { const extension = useExtensionWithDependency( @@ -30,28 +104,23 @@ export const useSyntaxHighlightingExtension = (language: string, view: EditorVie } export const getSyntaxHighlightingExtension = (language: string) => { + // maps linguist language defs to CodeMirror 6 language extensions + // and legacy CodeMirror 5 modes switch (language.toLowerCase()) { + // CodeMirror 6 languages + case "css": + return css(); case "c": case "c++": return cpp(); case "c#": return csharp(); - case "json": - return json(); - case "java": - return java(); - case "rust": - return rust(); case "go": return go(); - case "sql": - return sql(); - case "php": - return php(); case "html": return html(); - case "css": - return css(); + case "java": + return java(); case "jsx": case "tsx": case "typescript": @@ -60,11 +129,157 @@ export const getSyntaxHighlightingExtension = (language: string) => { jsx: true, typescript: true, }); - case "python": - return python(); + case "json": + case "oasv2-json": + case "oasv3-json": + case "jupyter notebook": + return json(); + case "less": + return less(); + case "liquid": + return liquid(); case "markdown": return markdown(); + case "php": + return php(); + case "python": + return python(); + case "rust": + return rust(); + case "sass": + return sass(); + case "sql": + return sql(); + case "vue": + return vue(); + case "xml": + return xml(); + case "yaml": + case "oasv2-yaml": + case "oasv3-yaml": + return yaml(); + + // Legacy CodeMirror 5 modes + case "apl": + return StreamLanguage.define(apl); + // case "asn.1": + // return StreamLanguage.define(asn1); + case "ceylon": + return StreamLanguage.define(ceylon); + case "clojure": + return StreamLanguage.define(clojure); + case "cmake": + return StreamLanguage.define(cmake); + case "cobol": + return StreamLanguage.define(cobol); + case "coffeescript": + return StreamLanguage.define(coffeeScript); + case "common lisp": + return StreamLanguage.define(commonLisp); + case "crystal": + return StreamLanguage.define(crystal); + case "cypher": + return StreamLanguage.define(cypher); + case "d": + return StreamLanguage.define(d); + case "dart": + return StreamLanguage.define(dart); + case "dockerfile": + return StreamLanguage.define(dockerFile); + case "diff": + return StreamLanguage.define(diff); + case "elm": + return StreamLanguage.define(elm); + case "erlang": + return StreamLanguage.define(erlang); + case "fortran": + return StreamLanguage.define(fortran); + case "gherkin": + return StreamLanguage.define(gherkin); + case "groovy": + return StreamLanguage.define(groovy); + case "haskell": + return StreamLanguage.define(haskell); + case "idl": + return StreamLanguage.define(idl); + case "jinja": + return StreamLanguage.define(jinja2); + case "julia": + return StreamLanguage.define(julia); + case "kotlin": + return StreamLanguage.define(kotlin); + case "livescript": + return StreamLanguage.define(liveScript); + case "lua": + return StreamLanguage.define(lua); + case "nesc": + return StreamLanguage.define(nesC); + case "nginx": + return StreamLanguage.define(nginx); + case "objective-c": + return StreamLanguage.define(objectiveC); + case "objective-c++": + return StreamLanguage.define(objectiveCpp); + case "octave": + return StreamLanguage.define(octave); + case "pascal": + return StreamLanguage.define(pascal); + case "perl": + return StreamLanguage.define(perl); + case "powershell": + return StreamLanguage.define(powerShell); + case "protocol buffer": + return StreamLanguage.define(protobuf); + case "pug": + return StreamLanguage.define(pug); + case "puppet": + return StreamLanguage.define(puppet); + case "r": + return StreamLanguage.define(r); + case "rpm spec": + return StreamLanguage.define(rpmSpec); + case "ruby": + return StreamLanguage.define(ruby); + case "scala": + return StreamLanguage.define(scala); + case "scheme": + return StreamLanguage.define(scheme); + case "shader": + return StreamLanguage.define(shader); + case "shell": + return StreamLanguage.define(shell); + case "squirrel": + return StreamLanguage.define(squirrel); + case "swift": + return StreamLanguage.define(swift); + case "tcl": + return StreamLanguage.define(tcl); + case "textile": + return StreamLanguage.define(textile); + case "stex": + return StreamLanguage.define(stex); + case "toml": + return StreamLanguage.define(toml); + case "turtle": + return StreamLanguage.define(turtle); + case "vb": + return StreamLanguage.define(vb); + case "vbscript": + return StreamLanguage.define(vbScript); + case "velocity": + return StreamLanguage.define(velocity); + case "verilog": + return StreamLanguage.define(verilog); + case "vhdl": + return StreamLanguage.define(vhdl); + case "wast": + return StreamLanguage.define(wast); + case "yacas": + return StreamLanguage.define(yacas); + case "xquery": + return StreamLanguage.define(xQuery); + // plain text default: return []; } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index b78c004c..597e7221 100644 --- a/yarn.lock +++ b/yarn.lock @@ -62,6 +62,17 @@ "@lezer/common" "^1.0.2" "@lezer/css" "^1.1.7" +"@codemirror/lang-css@^6.2.0": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-css/-/lang-css-6.3.1.tgz#763ca41aee81bb2431be55e3cfcc7cc8e91421a3" + integrity sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.0.2" + "@lezer/css" "^1.1.7" + "@codemirror/lang-go@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@codemirror/lang-go/-/lang-go-6.0.1.tgz#598222c90f56eae28d11069c612ca64d0306b057" @@ -96,7 +107,7 @@ "@codemirror/language" "^6.0.0" "@lezer/java" "^1.0.0" -"@codemirror/lang-javascript@^6.0.0", "@codemirror/lang-javascript@^6.2.2": +"@codemirror/lang-javascript@^6.0.0", "@codemirror/lang-javascript@^6.1.2", "@codemirror/lang-javascript@^6.2.2": version "6.2.2" resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.2.2.tgz#7141090b22994bef85bcc5608a3bc1257f2db2ad" integrity sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg== @@ -117,6 +128,31 @@ "@codemirror/language" "^6.0.0" "@lezer/json" "^1.0.0" +"@codemirror/lang-less@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-less/-/lang-less-6.0.2.tgz#2e3d82a3ddb8710e6409689cd4a28c66558d0cb8" + integrity sha512-EYdQTG22V+KUUk8Qq582g7FMnCZeEHsyuOJisHRft/mQ+ZSZ2w51NupvDUHiqtsOy7It5cHLPGfHQLpMh9bqpQ== + dependencies: + "@codemirror/lang-css" "^6.2.0" + "@codemirror/language" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@codemirror/lang-liquid@^6.2.2": + version "6.2.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-liquid/-/lang-liquid-6.2.2.tgz#5b5a2391ac14b6af85c520b8b81ea1f344d40a62" + integrity sha512-7Dm841fk37+JQW6j2rI1/uGkJyESrjzyhiIkaLjbbR0U6aFFQvMrJn35WxQreRMADMhzkyVkZM4467OR7GR8nQ== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/lang-html" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@lezer/common" "^1.0.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.3.1" + "@codemirror/lang-markdown@^6.2.5": version "6.3.0" resolved "https://registry.yarnpkg.com/@codemirror/lang-markdown/-/lang-markdown-6.3.0.tgz#949f8803332441705ed6def34c565f2166479538" @@ -160,6 +196,17 @@ "@codemirror/language" "^6.0.0" "@lezer/rust" "^1.0.0" +"@codemirror/lang-sass@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-sass/-/lang-sass-6.0.2.tgz#38c1b0a1326cc9f5cb2741d2cd51cfbcd7abc0b2" + integrity sha512-l/bdzIABvnTo1nzdY6U+kPAC51czYQcOErfzQ9zSm9D8GmNPD0WTW8st/CJwBTPLO8jlrbyvlSEcN20dc4iL0Q== + dependencies: + "@codemirror/lang-css" "^6.2.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.0.2" + "@lezer/sass" "^1.0.0" + "@codemirror/lang-sql@^6.7.1": version "6.8.0" resolved "https://registry.yarnpkg.com/@codemirror/lang-sql/-/lang-sql-6.8.0.tgz#1ae68ad49f378605ff88a4cc428ba667ce056068" @@ -172,6 +219,43 @@ "@lezer/highlight" "^1.0.0" "@lezer/lr" "^1.0.0" +"@codemirror/lang-vue@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@codemirror/lang-vue/-/lang-vue-0.1.3.tgz#bf79b9152cc18b4903d64c1f67e186ae045c8a97" + integrity sha512-QSKdtYTDRhEHCfo5zOShzxCmqKJvgGrZwDQSdbvCRJ5pRLWBS7pD/8e/tH44aVQT6FKm0t6RVNoSUWHOI5vNug== + dependencies: + "@codemirror/lang-html" "^6.0.0" + "@codemirror/lang-javascript" "^6.1.2" + "@codemirror/language" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.3.1" + +"@codemirror/lang-xml@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@codemirror/lang-xml/-/lang-xml-6.1.0.tgz#e3e786e1a89fdc9520efe75c1d6d3de1c40eb91c" + integrity sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.4.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@lezer/common" "^1.0.0" + "@lezer/xml" "^1.0.0" + +"@codemirror/lang-yaml@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-yaml/-/lang-yaml-6.1.2.tgz#c84280c68fa7af456a355d91183b5e537e9b7038" + integrity sha512-dxrfG8w5Ce/QbT7YID7mWZFKhdhsaTNOYjOkSIMt1qmC4VQnXSDSYVHHHn8k6kJUfIhtLo8t1JJgltlxWdsITw== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.2.0" + "@lezer/lr" "^1.0.0" + "@lezer/yaml" "^1.0.0" + "@codemirror/language@^6.0.0", "@codemirror/language@^6.3.0", "@codemirror/language@^6.4.0", "@codemirror/language@^6.6.0", "@codemirror/language@^6.8.0": version "6.10.3" resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.3.tgz#eb25fc5ade19032e7bf1dcaa957804e5f1660585" @@ -184,6 +268,13 @@ "@lezer/lr" "^1.0.0" style-mod "^4.0.0" +"@codemirror/legacy-modes@^6.4.2": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@codemirror/legacy-modes/-/legacy-modes-6.4.2.tgz#723a55aae21304d4c112575943d3467c9040d217" + integrity sha512-HsvWu08gOIIk303eZQCal4H4t65O/qp1V4ul4zVa3MHK5FJ0gz3qz3O55FIkm+aQUcshUOjBx38t2hPiJwW5/g== + dependencies: + "@codemirror/language" "^6.0.0" + "@codemirror/lint@^6.0.0": version "6.8.2" resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.2.tgz#7864b03583e9efd18554cff1dd4504da10338ab1" @@ -798,7 +889,7 @@ "@lezer/highlight" "^1.0.0" "@lezer/lr" "^1.0.0" -"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3": +"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3", "@lezer/highlight@^1.2.0": version "1.2.1" resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.1.tgz#596fa8f9aeb58a608be0a563e960c373cbf23f8b" integrity sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA== @@ -841,7 +932,7 @@ "@lezer/highlight" "^1.0.0" "@lezer/lr" "^1.0.0" -"@lezer/lr@^1.0.0", "@lezer/lr@^1.1.0", "@lezer/lr@^1.3.0": +"@lezer/lr@^1.0.0", "@lezer/lr@^1.1.0", "@lezer/lr@^1.3.0", "@lezer/lr@^1.3.1", "@lezer/lr@^1.4.0": version "1.4.2" resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.2.tgz#931ea3dea8e9de84e90781001dae30dea9ff1727" integrity sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA== @@ -883,6 +974,33 @@ "@lezer/highlight" "^1.0.0" "@lezer/lr" "^1.0.0" +"@lezer/sass@^1.0.0": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@lezer/sass/-/sass-1.0.7.tgz#e90066b1d386eee6160edc88a39293844e4ba106" + integrity sha512-8HLlOkuX/SMHOggI2DAsXUw38TuURe+3eQ5hiuk9QmYOUyC55B1dYEIMkav5A4IELVaW4e1T4P9WRiI5ka4mdw== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/xml@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@lezer/xml/-/xml-1.0.5.tgz#4bb7fd3e527f41b78372477aa753f035b41c3846" + integrity sha512-VFouqOzmUWfIg+tfmpcdV33ewtK+NSwd4ngSe1aG7HFb4BN0ExyY1b8msp+ndFrnlG4V4iC8yXacjFtrwERnaw== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/yaml@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@lezer/yaml/-/yaml-1.0.3.tgz#b23770ab42b390056da6b187d861b998fd60b1ff" + integrity sha512-GuBLekbw9jDBDhGur82nuwkxKQ+a3W5H0GfaAthDXcAu+XdpS43VlnxA9E9hllkpSP5ellRDKjLLj7Lu9Wr6xA== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.4.0" + "@next/env@14.2.10": version "14.2.10" resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.10.tgz#1d3178340028ced2d679f84140877db4f420333c" @@ -5146,8 +5264,16 @@ string-argv@^0.3.1: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: - name string-width-cjs +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -5244,7 +5370,14 @@ string_decoder@^1.1.1, string_decoder@^1.3.0: dependencies: safe-buffer "~5.2.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==