From 16ba15dea53ca985e54a5faf16d5e97005a0e447 Mon Sep 17 00:00:00 2001 From: Fan-iX <61686936+Fan-iX@users.noreply.github.com> Date: Sun, 13 Sep 2026 14:09:55 +0800 Subject: [PATCH] add r lang support --- README.md | 2 +- docs/index.md | 2 +- public/langdetect-worker.js | 2 +- src/editor/lang-heynote/heynote.grammar | 2 +- src/editor/lang-heynote/parser.js | 2 +- src/editor/languages.js | 7 +++++++ 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9d9d5a9d..49f290fa 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Available for Mac, Windows, and Linux. - Currency conversion - Syntax highlighting: - C++, C#, Clojure, CSS, Elixir, Erlang, Dart, Go, Groovy, HTML, Java, JavaScript, JSX, Kotlin, TypeScript, TOML, TSX, JSON, Lezer, Markdown, Mermaid, PHP, Python, Ruby, Rust, Scala, Shell, SQL, Swift, Vue, XML, YAML + C++, C#, Clojure, CSS, Elixir, Erlang, Dart, Go, Groovy, HTML, Java, JavaScript, JSX, Kotlin, TypeScript, TOML, TSX, JSON, Lezer, Markdown, Mermaid, PHP, Python, R, Ruby, Rust, Scala, Shell, SQL, Swift, Vue, XML, YAML - Language auto-detection - Auto-formatting diff --git a/docs/index.md b/docs/index.md index 5acf48ee..f23de073 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,7 +18,7 @@ Available for Mac, Windows, and Linux. - Currency conversion - Syntax highlighting: - C++, C#, Clojure, CSS, Elixir, Erlang, Dart, Go, Groovy, HTML, Java, JavaScript, JSX, Kotlin, TypeScript, TOML, TSX, JSON, Lezer, Markdown, PHP, Python, Ruby, Rust, Scala, Shell, SQL, Swift, Vue, XML, YAML + C++, C#, Clojure, CSS, Elixir, Erlang, Dart, Go, Groovy, HTML, Java, JavaScript, JSX, Kotlin, TypeScript, TOML, TSX, JSON, Lezer, Markdown, PHP, Python, R, Ruby, Rust, Scala, Shell, SQL, Swift, Vue, XML, YAML - Language auto-detection - Auto-formatting diff --git a/public/langdetect-worker.js b/public/langdetect-worker.js index a8a11839..653c882f 100644 --- a/public/langdetect-worker.js +++ b/public/langdetect-worker.js @@ -1,6 +1,6 @@ importScripts("guesslang.min.js") -GUESSLANG_LANGUAGES = ["json","py","html","sql","md","java","php","css","xml","cpp","rs","cs","rb","sh","yaml","toml","go","clj","ex","erl","js","ts","swift","kt","lua","groovy","ps1","dart","scala"] +GUESSLANG_LANGUAGES = ["json","py","html","sql","md","java","php","css","xml","cpp","rs","cs","rb","sh","yaml","toml","go","clj","ex","erl","js","ts","swift","kt","lua","groovy","ps1","dart","scala","r"] const guessLang = new self.GuessLang() diff --git a/src/editor/lang-heynote/heynote.grammar b/src/editor/lang-heynote/heynote.grammar index 62bb5610..62f04a2a 100644 --- a/src/editor/lang-heynote/heynote.grammar +++ b/src/editor/lang-heynote/heynote.grammar @@ -30,7 +30,7 @@ MetadataEntry { "xml" | "cpp" | "rust" | "csharp" | "ruby" | "shell" | "yaml" | "golang" | "clojure" | "elixir" | "erlang" | "lezer" | "toml" | "swift" | "kotlin" | "groovy" | "diff" | "powershell" | "vue" | - "dart" | "scala" | "lua"| "mermaid" + "dart" | "scala" | "lua"| "mermaid" | "r" } Auto { "-a" } diff --git a/src/editor/lang-heynote/parser.js b/src/editor/lang-heynote/parser.js index b54c7abe..9618322b 100644 --- a/src/editor/lang-heynote/parser.js +++ b/src/editor/lang-heynote/parser.js @@ -10,7 +10,7 @@ export const parser = LRParser.deserialize({ maxTerm: 17, skippedNodes: [0], repeatNodeCount: 2, - tokenData: "!6t~RtOY#cYZ$QZ}#c}!O$V!O!]#c!]!^%_!^!_#c!_!`%d!`#V#c#V#W%}#W#X0}#X#Y4[#Y#Z#c#Z#[:R#[#]=`#]#^#c#^#_?Z#_#`Ew#`#aHa#a#bKP#b#d#c#d#e!$w#e#f#c#f#g!,Q#g#h!-d#h#i!0}#i#j#c#j#k!5V#k#l#c#l#m=}#m#n!5t#n%&x#c%&x%&y!6c%&y;'S#c;'S;=`#z<%lO#cQ#hU[QOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#cQ#}P;=`<%l#c~$VO`~R$[W[QOY#cZ!]#c!^#T#c#T#U$t#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR${UUP[QOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#c~%dOX~R%kUZP[QOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#cR&S][QOY#cZ!]#c!^#`#c#`#a&{#a#d#c#d#e*m#e#f#c#f#g+[#g#h.|#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR'QW[QOY#cZ!]#c!^#c#c#c#d'j#d%&x#c%&y;'S#c;'S;=`#z<%lO#cR'oW[QOY#cZ!]#c!^#^#c#^#_(X#_%&x#c%&y;'S#c;'S;=`#z<%lO#cR(^W[QOY#cZ!]#c!^#i#c#i#j(v#j%&x#c%&y;'S#c;'S;=`#z<%lO#cR({W[QOY#cZ!]#c!^#f#c#f#g)e#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR)jW[QOY#cZ!]#c!^#X#c#X#Y*S#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR*ZU[QTPOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#cR*rW[QOY#cZ!]#c!^#d#c#d#e*S#e%&x#c%&y;'S#c;'S;=`#z<%lO#cR+aW[QOY#cZ!]#c!^#X#c#X#Y+y#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR,OW[QOY#cZ!]#c!^#T#c#T#U,h#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR,mW[QOY#cZ!]#c!^#h#c#h#i-V#i%&x#c%&y;'S#c;'S;=`#z<%lO#cR-[W[QOY#cZ!]#c!^#X#c#X#Y-t#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR-yW[QOY#cZ!]#c!^#W#c#W#X.c#X%&x#c%&y;'S#c;'S;=`#z<%lO#cR.jUYP[QOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#cR/RY[QOY#cZ!]#c!^#[#c#[#]/q#]#g#c#g#h*S#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR/vW[QOY#cZ!]#c!^#T#c#T#U0`#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR0eW[QOY#cZ!]#c!^#f#c#f#g*m#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR1SY[QOY#cZ!]#c!^#T#c#T#U1r#U#]#c#]#^3O#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR1wW[QOY#cZ!]#c!^#f#c#f#g2a#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR2fW[QOY#cZ!]#c!^#h#c#h#i*S#i%&x#c%&y;'S#c;'S;=`#z<%lO#cR3TW[QOY#cZ!]#c!^#Y#c#Y#Z3m#Z%&x#c%&y;'S#c;'S;=`#z<%lO#cR3rW[QOY#cZ!]#c!^#Y#c#Y#Z*S#Z%&x#c%&y;'S#c;'S;=`#z<%lO#cR4aY[QOY#cZ!]#c!^#`#c#`#a5P#a#f#c#f#g7i#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR5UW[QOY#cZ!]#c!^#]#c#]#^5n#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR5sW[QOY#cZ!]#c!^#l#c#l#m6]#m%&x#c%&y;'S#c;'S;=`#z<%lO#cR6bW[QOY#cZ!]#c!^#]#c#]#^6z#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR7PW[QOY#cZ!]#c!^#f#c#f#g*S#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR7nW[QOY#cZ!]#c!^#`#c#`#a8W#a%&x#c%&y;'S#c;'S;=`#z<%lO#cR8]W[QOY#cZ!]#c!^#T#c#T#U8u#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR8zW[QOY#cZ!]#c!^#b#c#b#c9d#c%&x#c%&y;'S#c;'S;=`#z<%lO#cR9iW[QOY#cZ!]#c!^#Z#c#Z#[*S#[%&x#c%&y;'S#c;'S;=`#z<%lO#cR:WY[QOY#cZ!]#c!^#c#c#c#d7i#d#f#c#f#g:v#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR:{W[QOY#cZ!]#c!^#c#c#c#d;e#d%&x#c%&y;'S#c;'S;=`#z<%lO#cR;jW[QOY#cZ!]#c!^#c#c#c#dSW[QOY#cZ!]#c!^#a#c#a#b>l#b%&x#c%&y;'S#c;'S;=`#z<%lO#cR>qW[QOY#cZ!]#c!^#`#c#`#a*S#a%&x#c%&y;'S#c;'S;=`#z<%lO#cR?`Y[QOY#cZ!]#c!^#T#c#T#U@O#U#g#c#g#hDe#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR@TW[QOY#cZ!]#c!^#j#c#j#k@m#k%&x#c%&y;'S#c;'S;=`#z<%lO#cR@rW[QOY#cZ!]#c!^#T#c#T#UA[#U%&x#c%&y;'S#c;'S;=`#z<%lO#cRAcW[QTPOY#cZ!]#c!^#g#c#g#hA{#h%&x#c%&y;'S#c;'S;=`#z<%lO#cRBQW[QOY#cZ!]#c!^#V#c#V#WBj#W%&x#c%&y;'S#c;'S;=`#z<%lO#cRBoW[QOY#cZ!]#c!^#f#c#f#gCX#g%&x#c%&y;'S#c;'S;=`#z<%lO#cRC^W[QOY#cZ!]#c!^#]#c#]#^Cv#^%&x#c%&y;'S#c;'S;=`#z<%lO#cRC{W[QOY#cZ!]#c!^#d#c#d#e2a#e%&x#c%&y;'S#c;'S;=`#z<%lO#cRDjY[QOY#cZ!]#c!^#c#c#c#dEY#d#l#c#l#m*S#m%&x#c%&y;'S#c;'S;=`#z<%lO#cRE_W[QOY#cZ!]#c!^#b#c#b#c*S#c%&x#c%&y;'S#c;'S;=`#z<%lO#cRE|W[QOY#cZ!]#c!^#c#c#c#dFf#d%&x#c%&y;'S#c;'S;=`#z<%lO#cRFkW[QOY#cZ!]#c!^#h#c#h#iGT#i%&x#c%&y;'S#c;'S;=`#z<%lO#cRGYW[QOY#cZ!]#c!^#`#c#`#aGr#a%&x#c%&y;'S#c;'S;=`#z<%lO#cRGwW[QOY#cZ!]#c!^#]#c#]#^EY#^%&x#c%&y;'S#c;'S;=`#z<%lO#cRHfY[QOY#cZ!]#c!^#X#c#X#YIU#Y#i#c#i#jJb#j%&x#c%&y;'S#c;'S;=`#z<%lO#cRIZW[QOY#cZ!]#c!^#n#c#n#oIs#o%&x#c%&y;'S#c;'S;=`#z<%lO#cRIxW[QOY#cZ!]#c!^#X#c#X#Y6z#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cRJgW[QOY#cZ!]#c!^#T#c#T#U*S#U%&x#c%&y;'S#c;'S;=`#z<%lO#cRKUY[QOY#cZ!]#c!^#T#c#T#UKt#U#X#c#X#Y! p#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cRKyY[QOY#cZ!]#c!^#f#c#f#gLi#g#h#c#h#i! R#i%&x#c%&y;'S#c;'S;=`#z<%lO#cRLnW[QOY#cZ!]#c!^#_#c#_#`MW#`%&x#c%&y;'S#c;'S;=`#z<%lO#cRM]W[QOY#cZ!]#c!^#W#c#W#XMu#X%&x#c%&y;'S#c;'S;=`#z<%lO#cRMzW[QOY#cZ!]#c!^#c#c#c#dNd#d%&x#c%&y;'S#c;'S;=`#z<%lO#cRNiW[QOY#cZ!]#c!^#k#c#k#lEY#l%&x#c%&y;'S#c;'S;=`#z<%lO#cR! WW[QOY#cZ!]#c!^#[#c#[#]*S#]%&x#c%&y;'S#c;'S;=`#z<%lO#cR! uW[QOY#cZ!]#c!^#f#c#f#g!!_#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR!!dW[QOY#cZ!]#c!^#a#c#a#b!!|#b%&x#c%&y;'S#c;'S;=`#z<%lO#cR!#RW[QOY#cZ!]#c!^#T#c#T#U!#k#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR!#pW[QOY#cZ!]#c!^#]#c#]#^!$Y#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR!$_W[QOY#cZ!]#c!^#W#c#W#X*S#X%&x#c%&y;'S#c;'S;=`#z<%lO#cR!$|[[QOY#cZ!]#c!^#[#c#[#]*m#]#c#c#c#d!%r#d#m#c#m#n!*V#n%&x#c%&y;'S#c;'S;=`#z<%lO#cR!%wW[QOY#cZ!]#c!^#k#c#k#l!&a#l%&x#c%&y;'S#c;'S;=`#z<%lO#cR!&fW[QOY#cZ!]#c!^#X#c#X#Y!'O#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR!'TW[QOY#cZ!]#c!^#f#c#f#g!'m#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR!'rW[QOY#cZ!]#c!^#g#c#g#h!([#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR!(aW[QOY#cZ!]#c!^#[#c#[#]!(y#]%&x#c%&y;'S#c;'S;=`#z<%lO#cR!)OW[QOY#cZ!]#c!^#X#c#X#Y!)h#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR!)mW[QOY#cZ!]#c!^#`#c#`#a>l#a%&x#c%&y;'S#c;'S;=`#z<%lO#cR!*[W[QOY#cZ!]#c!^#h#c#h#i!*t#i%&x#c%&y;'S#c;'S;=`#z<%lO#cR!*yW[QOY#cZ!]#c!^#[#c#[#]!+c#]%&x#c%&y;'S#c;'S;=`#z<%lO#cR!+hW[QOY#cZ!]#c!^#c#c#c#dEY#d%&x#c%&y;'S#c;'S;=`#z<%lO#cR!,VW[QOY#cZ!]#c!^#i#c#i#j!,o#j%&x#c%&y;'S#c;'S;=`#z<%lO#cR!,tY[QOY#cZ!]#c!^#U#c#U#Vl#f#k#c#k#l!/q#l%&x#c%&y;'S#c;'S;=`#z<%lO#cR!.jW[QOY#cZ!]#c!^#T#c#T#U!/S#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR!/XW[QOY#cZ!]#c!^#`#c#`#aJb#a%&x#c%&y;'S#c;'S;=`#z<%lO#cR!/vW[QOY#cZ!]#c!^#]#c#]#^!0`#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR!0eW[QOY#cZ!]#c!^#Y#c#Y#Z2a#Z%&x#c%&y;'S#c;'S;=`#z<%lO#cR!1S^[QOY#cZ!]#c!^#X#c#X#Y!2O#Y#c#c#c#d=}#d#g#c#g#h!2m#h#m#c#m#n!3[#n%&x#c%&y;'S#c;'S;=`#z<%lO#cR!2TW[QOY#cZ!]#c!^#l#c#l#m2a#m%&x#c%&y;'S#c;'S;=`#z<%lO#cR!2rW[QOY#cZ!]#c!^#l#c#l#m*S#m%&x#c%&y;'S#c;'S;=`#z<%lO#cR!3aW[QOY#cZ!]#c!^#d#c#d#e!3y#e%&x#c%&y;'S#c;'S;=`#z<%lO#cR!4OW[QOY#cZ!]#c!^#X#c#X#Y!4h#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR!4mW[QOY#cZ!]#c!^#g#c#g#hA{#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR!5[W[QOY#cZ!]#c!^#i#c#i#j)e#j%&x#c%&y;'S#c;'S;=`#z<%lO#cR!5yW[QOY#cZ!]#c!^#T#c#T#U=}#U%&x#c%&y;'S#c;'S;=`#z<%lO#c~!6fP%&x%&y!6i~!6lP%&x%&y!6o~!6tOa~", + tokenData: "!6v~RtOY#cYZ$QZ}#c}!O$V!O!]#c!]!^%_!^!_#c!_!`%d!`#V#c#V#W%}#W#X0}#X#Y4[#Y#Z#c#Z#[:R#[#]=`#]#^#c#^#_?Z#_#`Ew#`#aHa#a#bKP#b#d#c#d#e!$w#e#f#c#f#g!,Q#g#h!-f#h#i!1P#i#j#c#j#k!5X#k#l#c#l#m=}#m#n!5v#n%&x#c%&x%&y!6e%&y;'S#c;'S;=`#z<%lO#cQ#hU[QOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#cQ#}P;=`<%l#c~$VO`~R$[W[QOY#cZ!]#c!^#T#c#T#U$t#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR${UUP[QOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#c~%dOX~R%kUZP[QOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#cR&S][QOY#cZ!]#c!^#`#c#`#a&{#a#d#c#d#e*m#e#f#c#f#g+[#g#h.|#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR'QW[QOY#cZ!]#c!^#c#c#c#d'j#d%&x#c%&y;'S#c;'S;=`#z<%lO#cR'oW[QOY#cZ!]#c!^#^#c#^#_(X#_%&x#c%&y;'S#c;'S;=`#z<%lO#cR(^W[QOY#cZ!]#c!^#i#c#i#j(v#j%&x#c%&y;'S#c;'S;=`#z<%lO#cR({W[QOY#cZ!]#c!^#f#c#f#g)e#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR)jW[QOY#cZ!]#c!^#X#c#X#Y*S#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR*ZU[QTPOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#cR*rW[QOY#cZ!]#c!^#d#c#d#e*S#e%&x#c%&y;'S#c;'S;=`#z<%lO#cR+aW[QOY#cZ!]#c!^#X#c#X#Y+y#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR,OW[QOY#cZ!]#c!^#T#c#T#U,h#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR,mW[QOY#cZ!]#c!^#h#c#h#i-V#i%&x#c%&y;'S#c;'S;=`#z<%lO#cR-[W[QOY#cZ!]#c!^#X#c#X#Y-t#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR-yW[QOY#cZ!]#c!^#W#c#W#X.c#X%&x#c%&y;'S#c;'S;=`#z<%lO#cR.jUYP[QOY#cZ!]#c!^%&x#c%&y;'S#c;'S;=`#z<%lO#cR/RY[QOY#cZ!]#c!^#[#c#[#]/q#]#g#c#g#h*S#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR/vW[QOY#cZ!]#c!^#T#c#T#U0`#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR0eW[QOY#cZ!]#c!^#f#c#f#g*m#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR1SY[QOY#cZ!]#c!^#T#c#T#U1r#U#]#c#]#^3O#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR1wW[QOY#cZ!]#c!^#f#c#f#g2a#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR2fW[QOY#cZ!]#c!^#h#c#h#i*S#i%&x#c%&y;'S#c;'S;=`#z<%lO#cR3TW[QOY#cZ!]#c!^#Y#c#Y#Z3m#Z%&x#c%&y;'S#c;'S;=`#z<%lO#cR3rW[QOY#cZ!]#c!^#Y#c#Y#Z*S#Z%&x#c%&y;'S#c;'S;=`#z<%lO#cR4aY[QOY#cZ!]#c!^#`#c#`#a5P#a#f#c#f#g7i#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR5UW[QOY#cZ!]#c!^#]#c#]#^5n#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR5sW[QOY#cZ!]#c!^#l#c#l#m6]#m%&x#c%&y;'S#c;'S;=`#z<%lO#cR6bW[QOY#cZ!]#c!^#]#c#]#^6z#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR7PW[QOY#cZ!]#c!^#f#c#f#g*S#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR7nW[QOY#cZ!]#c!^#`#c#`#a8W#a%&x#c%&y;'S#c;'S;=`#z<%lO#cR8]W[QOY#cZ!]#c!^#T#c#T#U8u#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR8zW[QOY#cZ!]#c!^#b#c#b#c9d#c%&x#c%&y;'S#c;'S;=`#z<%lO#cR9iW[QOY#cZ!]#c!^#Z#c#Z#[*S#[%&x#c%&y;'S#c;'S;=`#z<%lO#cR:WY[QOY#cZ!]#c!^#c#c#c#d7i#d#f#c#f#g:v#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR:{W[QOY#cZ!]#c!^#c#c#c#d;e#d%&x#c%&y;'S#c;'S;=`#z<%lO#cR;jW[QOY#cZ!]#c!^#c#c#c#dSW[QOY#cZ!]#c!^#a#c#a#b>l#b%&x#c%&y;'S#c;'S;=`#z<%lO#cR>qW[QOY#cZ!]#c!^#`#c#`#a*S#a%&x#c%&y;'S#c;'S;=`#z<%lO#cR?`Y[QOY#cZ!]#c!^#T#c#T#U@O#U#g#c#g#hDe#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR@TW[QOY#cZ!]#c!^#j#c#j#k@m#k%&x#c%&y;'S#c;'S;=`#z<%lO#cR@rW[QOY#cZ!]#c!^#T#c#T#UA[#U%&x#c%&y;'S#c;'S;=`#z<%lO#cRAcW[QTPOY#cZ!]#c!^#g#c#g#hA{#h%&x#c%&y;'S#c;'S;=`#z<%lO#cRBQW[QOY#cZ!]#c!^#V#c#V#WBj#W%&x#c%&y;'S#c;'S;=`#z<%lO#cRBoW[QOY#cZ!]#c!^#f#c#f#gCX#g%&x#c%&y;'S#c;'S;=`#z<%lO#cRC^W[QOY#cZ!]#c!^#]#c#]#^Cv#^%&x#c%&y;'S#c;'S;=`#z<%lO#cRC{W[QOY#cZ!]#c!^#d#c#d#e2a#e%&x#c%&y;'S#c;'S;=`#z<%lO#cRDjY[QOY#cZ!]#c!^#c#c#c#dEY#d#l#c#l#m*S#m%&x#c%&y;'S#c;'S;=`#z<%lO#cRE_W[QOY#cZ!]#c!^#b#c#b#c*S#c%&x#c%&y;'S#c;'S;=`#z<%lO#cRE|W[QOY#cZ!]#c!^#c#c#c#dFf#d%&x#c%&y;'S#c;'S;=`#z<%lO#cRFkW[QOY#cZ!]#c!^#h#c#h#iGT#i%&x#c%&y;'S#c;'S;=`#z<%lO#cRGYW[QOY#cZ!]#c!^#`#c#`#aGr#a%&x#c%&y;'S#c;'S;=`#z<%lO#cRGwW[QOY#cZ!]#c!^#]#c#]#^EY#^%&x#c%&y;'S#c;'S;=`#z<%lO#cRHfY[QOY#cZ!]#c!^#X#c#X#YIU#Y#i#c#i#jJb#j%&x#c%&y;'S#c;'S;=`#z<%lO#cRIZW[QOY#cZ!]#c!^#n#c#n#oIs#o%&x#c%&y;'S#c;'S;=`#z<%lO#cRIxW[QOY#cZ!]#c!^#X#c#X#Y6z#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cRJgW[QOY#cZ!]#c!^#T#c#T#U*S#U%&x#c%&y;'S#c;'S;=`#z<%lO#cRKUY[QOY#cZ!]#c!^#T#c#T#UKt#U#X#c#X#Y! p#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cRKyY[QOY#cZ!]#c!^#f#c#f#gLi#g#h#c#h#i! R#i%&x#c%&y;'S#c;'S;=`#z<%lO#cRLnW[QOY#cZ!]#c!^#_#c#_#`MW#`%&x#c%&y;'S#c;'S;=`#z<%lO#cRM]W[QOY#cZ!]#c!^#W#c#W#XMu#X%&x#c%&y;'S#c;'S;=`#z<%lO#cRMzW[QOY#cZ!]#c!^#c#c#c#dNd#d%&x#c%&y;'S#c;'S;=`#z<%lO#cRNiW[QOY#cZ!]#c!^#k#c#k#lEY#l%&x#c%&y;'S#c;'S;=`#z<%lO#cR! WW[QOY#cZ!]#c!^#[#c#[#]*S#]%&x#c%&y;'S#c;'S;=`#z<%lO#cR! uW[QOY#cZ!]#c!^#f#c#f#g!!_#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR!!dW[QOY#cZ!]#c!^#a#c#a#b!!|#b%&x#c%&y;'S#c;'S;=`#z<%lO#cR!#RW[QOY#cZ!]#c!^#T#c#T#U!#k#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR!#pW[QOY#cZ!]#c!^#]#c#]#^!$Y#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR!$_W[QOY#cZ!]#c!^#W#c#W#X*S#X%&x#c%&y;'S#c;'S;=`#z<%lO#cR!$|[[QOY#cZ!]#c!^#[#c#[#]*m#]#c#c#c#d!%r#d#m#c#m#n!*V#n%&x#c%&y;'S#c;'S;=`#z<%lO#cR!%wW[QOY#cZ!]#c!^#k#c#k#l!&a#l%&x#c%&y;'S#c;'S;=`#z<%lO#cR!&fW[QOY#cZ!]#c!^#X#c#X#Y!'O#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR!'TW[QOY#cZ!]#c!^#f#c#f#g!'m#g%&x#c%&y;'S#c;'S;=`#z<%lO#cR!'rW[QOY#cZ!]#c!^#g#c#g#h!([#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR!(aW[QOY#cZ!]#c!^#[#c#[#]!(y#]%&x#c%&y;'S#c;'S;=`#z<%lO#cR!)OW[QOY#cZ!]#c!^#X#c#X#Y!)h#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR!)mW[QOY#cZ!]#c!^#`#c#`#a>l#a%&x#c%&y;'S#c;'S;=`#z<%lO#cR!*[W[QOY#cZ!]#c!^#h#c#h#i!*t#i%&x#c%&y;'S#c;'S;=`#z<%lO#cR!*yW[QOY#cZ!]#c!^#[#c#[#]!+c#]%&x#c%&y;'S#c;'S;=`#z<%lO#cR!+hW[QOY#cZ!]#c!^#c#c#c#dEY#d%&x#c%&y;'S#c;'S;=`#z<%lO#cR!,XW[QTPOY#cZ!]#c!^#i#c#i#j!,q#j%&x#c%&y;'S#c;'S;=`#z<%lO#cR!,vY[QOY#cZ!]#c!^#U#c#U#Vl#f#k#c#k#l!/s#l%&x#c%&y;'S#c;'S;=`#z<%lO#cR!.lW[QOY#cZ!]#c!^#T#c#T#U!/U#U%&x#c%&y;'S#c;'S;=`#z<%lO#cR!/ZW[QOY#cZ!]#c!^#`#c#`#aJb#a%&x#c%&y;'S#c;'S;=`#z<%lO#cR!/xW[QOY#cZ!]#c!^#]#c#]#^!0b#^%&x#c%&y;'S#c;'S;=`#z<%lO#cR!0gW[QOY#cZ!]#c!^#Y#c#Y#Z2a#Z%&x#c%&y;'S#c;'S;=`#z<%lO#cR!1U^[QOY#cZ!]#c!^#X#c#X#Y!2Q#Y#c#c#c#d=}#d#g#c#g#h!2o#h#m#c#m#n!3^#n%&x#c%&y;'S#c;'S;=`#z<%lO#cR!2VW[QOY#cZ!]#c!^#l#c#l#m2a#m%&x#c%&y;'S#c;'S;=`#z<%lO#cR!2tW[QOY#cZ!]#c!^#l#c#l#m*S#m%&x#c%&y;'S#c;'S;=`#z<%lO#cR!3cW[QOY#cZ!]#c!^#d#c#d#e!3{#e%&x#c%&y;'S#c;'S;=`#z<%lO#cR!4QW[QOY#cZ!]#c!^#X#c#X#Y!4j#Y%&x#c%&y;'S#c;'S;=`#z<%lO#cR!4oW[QOY#cZ!]#c!^#g#c#g#hA{#h%&x#c%&y;'S#c;'S;=`#z<%lO#cR!5^W[QOY#cZ!]#c!^#i#c#i#j)e#j%&x#c%&y;'S#c;'S;=`#z<%lO#cR!5{W[QOY#cZ!]#c!^#T#c#T#U=}#U%&x#c%&y;'S#c;'S;=`#z<%lO#c~!6hP%&x%&y!6k~!6nP%&x%&y!6q~!6vOa~", tokenizers: [0, 1, noteContent], topRules: {"Document":[0,2]}, tokenPrec: 0 diff --git a/src/editor/languages.js b/src/editor/languages.js index 0baff717..af245172 100644 --- a/src/editor/languages.js +++ b/src/editor/languages.js @@ -30,6 +30,7 @@ import { groovy } from "@codemirror/legacy-modes/mode/groovy" import { diff } from "@codemirror/legacy-modes/mode/diff"; import { powerShell } from "@codemirror/legacy-modes/mode/powershell"; import { lua } from "@codemirror/legacy-modes/mode/lua"; +import { r } from "@codemirror/legacy-modes/mode/r"; import typescriptPlugin from "prettier/plugins/typescript" import babelPrettierPlugin from "prettier/plugins/babel" @@ -301,6 +302,12 @@ export const LANGUAGES = [ parser: mermaidLanguage.parser , guesslang: null, }), + new Language({ + token: "r", + name: "R", + parser: StreamLanguage.define(r).parser , + guesslang: "r", + }), ]