Make monacoLang optional

This commit is contained in:
Radon Rosborough 2020-07-17 19:14:28 -06:00
parent f35865a1ca
commit eac2f31138
2 changed files with 6 additions and 71 deletions

View File

@ -1,7 +1,7 @@
export interface LangConfig { export interface LangConfig {
aliases?: string[]; aliases?: string[];
name: string; name: string;
monacoLang: string; monacoLang?: string;
daemon?: string; daemon?: string;
setup?: string; setup?: string;
repl?: string; repl?: string;
@ -34,7 +34,6 @@ export const langs: { [key: string]: LangConfig } = {
ada: { ada: {
aliases: ["adb"], aliases: ["adb"],
name: "Ada", name: "Ada",
monacoLang: "plaintext",
main: "main.adb", main: "main.adb",
compile: "x86_64-linux-gnu-gnatmake-9 main.adb", compile: "x86_64-linux-gnu-gnatmake-9 main.adb",
run: "./main", run: "./main",
@ -50,7 +49,6 @@ end Main;
algol: { algol: {
aliases: ["alg"], aliases: ["alg"],
name: "ALGOL 68", name: "ALGOL 68",
monacoLang: "plaintext",
main: "main.alg", main: "main.alg",
run: "a68g main.alg", run: "a68g main.alg",
template: `print(("Hello, world!",new line)) template: `print(("Hello, world!",new line))
@ -58,7 +56,6 @@ end Main;
}, },
arm: { arm: {
name: "ARM", name: "ARM",
monacoLang: "plaintext",
main: "main.S", main: "main.S",
compile: "arm-linux-gnueabihf-gcc main.S -o main -static", compile: "arm-linux-gnueabihf-gcc main.S -o main -static",
run: "qemu-arm-static main", run: "qemu-arm-static main",
@ -80,7 +77,6 @@ message:
}, },
asciidoc: { asciidoc: {
aliases: ["adoc", "asc"], aliases: ["adoc", "asc"],
monacoLang: "plaintext",
name: "AsciiDoc", name: "AsciiDoc",
main: "main.adoc", main: "main.adoc",
compile: "asciidoc -s main.adoc", compile: "asciidoc -s main.adoc",
@ -113,7 +109,6 @@ implement main0 () = ()
basic: { basic: {
aliases: ["bas", "qbasic"], aliases: ["bas", "qbasic"],
name: "BASIC", name: "BASIC",
monacoLang: "plaintext",
repl: "bwbasic", repl: "bwbasic",
main: "main.bas", main: "main.bas",
run: "bwbasic main.bas", run: "bwbasic main.bas",
@ -122,7 +117,6 @@ implement main0 () = ()
}, },
beatnik: { beatnik: {
name: "Beatnik", name: "Beatnik",
monacoLang: "plaintext",
main: "main.beatnik", main: "main.beatnik",
run: "beatnik main.beatnik", run: "beatnik main.beatnik",
template: `Soars, larkspurs, rains. template: `Soars, larkspurs, rains.
@ -219,7 +213,6 @@ Nude pagoda careens.
befunge: { befunge: {
aliases: ["be"], aliases: ["be"],
name: "Befunge", name: "Befunge",
monacoLang: "plaintext",
main: "main.be", main: "main.be",
run: "befunge-repl main.be", run: "befunge-repl main.be",
template: `64+"!dlrow ,olleH">:#,_@ template: `64+"!dlrow ,olleH">:#,_@
@ -234,7 +227,6 @@ Nude pagoda careens.
"lambda", "lambda",
], ],
name: "Binary Lambda Calculus", name: "Binary Lambda Calculus",
monacoLang: "plaintext",
main: "main.blc", main: "main.blc",
run: "cat main.blc | binary-to-text | tromp", run: "cat main.blc | binary-to-text | tromp",
template: `001010100100100001100101011011000110110001101111001011000010 template: `001010100100100001100101011011000110110001101111001011000010
@ -244,7 +236,6 @@ Nude pagoda careens.
brainf: { brainf: {
aliases: ["brainfuck", "bf"], aliases: ["brainfuck", "bf"],
name: "Brainf***", name: "Brainf***",
monacoLang: "plaintext",
repl: "brainf-repl", repl: "brainf-repl",
main: "main.bf", main: "main.bf",
run: "brainf-repl main.bf", run: "brainf-repl main.bf",
@ -297,7 +288,6 @@ int main() {
}, },
chef: { chef: {
name: "Chef", name: "Chef",
monacoLang: "plaintext",
main: "main.chef", main: "main.chef",
run: "chef main.chef", run: "chef main.chef",
template: `Hello World Cake with Chocolate Sauce. template: `Hello World Cake with Chocolate Sauce.
@ -372,7 +362,6 @@ Refrigerate for 1 hour.
commonlisp: { commonlisp: {
aliases: ["lisp", "sbcl"], aliases: ["lisp", "sbcl"],
name: "Common Lisp", name: "Common Lisp",
monacoLang: "plaintext",
repl: "rlwrap sbcl", repl: "rlwrap sbcl",
main: "main.lisp", main: "main.lisp",
run: "rlwrap sbcl --userinit main.lisp", run: "rlwrap sbcl --userinit main.lisp",
@ -382,7 +371,6 @@ Refrigerate for 1 hour.
confluence: { confluence: {
aliases: ["jira", "atlassian"], aliases: ["jira", "atlassian"],
name: "Confluence", name: "Confluence",
monacoLang: "plaintext",
main: "main.txt", main: "main.txt",
compile: "pandoc main.txt -f jira -o main.html", compile: "pandoc main.txt -f jira -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -428,7 +416,6 @@ int main() {
crystal: { crystal: {
aliases: ["cr"], aliases: ["cr"],
name: "Crystal", name: "Crystal",
monacoLang: "plaintext",
main: "main.cr", main: "main.cr",
run: "crystal main.cr", run: "crystal main.cr",
template: `puts "Hello, world!" template: `puts "Hello, world!"
@ -472,7 +459,6 @@ int main() {
cobol: { cobol: {
aliases: ["cbl", "cobc"], aliases: ["cbl", "cobc"],
name: "COBOL", name: "COBOL",
monacoLang: "plaintext",
main: "main.cbl", main: "main.cbl",
compile: "cobc -free -x main.cbl -o main", compile: "cobc -free -x main.cbl -o main",
run: "./main", run: "./main",
@ -500,7 +486,6 @@ require("/usr/lib/node_modules/coffeescript/repl").start()
d: { d: {
aliases: ["dmd"], aliases: ["dmd"],
name: "D", name: "D",
monacoLang: "plaintext",
main: "main.d", main: "main.d",
compile: "dmd main.d", compile: "dmd main.d",
run: "./main", run: "./main",
@ -524,7 +509,6 @@ void main() {
dogescript: { dogescript: {
aliases: ["doge", "ds", "wow"], aliases: ["doge", "ds", "wow"],
name: "Dogescript", name: "Dogescript",
monacoLang: "plaintext",
repl: "dogescript", repl: "dogescript",
main: "main.djs", main: "main.djs",
run: "dogescript main.djs | node; dogescript", run: "dogescript main.djs | node; dogescript",
@ -533,7 +517,6 @@ void main() {
}, },
dhall: { dhall: {
name: "Dhall", name: "Dhall",
monacoLang: "plaintext",
main: "main.dhall", main: "main.dhall",
compile: "cat main.dhall | dhall-to-json > main.json", compile: "cat main.dhall | dhall-to-json > main.json",
run: "cat main.json | jq .", run: "cat main.json | jq .",
@ -543,7 +526,6 @@ void main() {
dokuwiki: { dokuwiki: {
aliases: ["doku"], aliases: ["doku"],
name: "DokuWiki", name: "DokuWiki",
monacoLang: "plaintext",
main: "main.txt", main: "main.txt",
compile: "pandoc main.txt -f dokuwiki -o main.html", compile: "pandoc main.txt -f dokuwiki -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -553,7 +535,6 @@ void main() {
elixir: { elixir: {
aliases: ["iex", "exs"], aliases: ["iex", "exs"],
name: "Elixir", name: "Elixir",
monacoLang: "plaintext",
repl: "iex", repl: "iex",
main: "main.exs", main: "main.exs",
run: "iex main.exs", run: "iex main.exs",
@ -563,7 +544,6 @@ void main() {
}, },
elm: { elm: {
name: "Elm", name: "Elm",
monacoLang: "plaintext",
repl: "elm repl", repl: "elm repl",
main: "Main.elm", main: "Main.elm",
run: "cp /opt/elm/elm.json elm.json && run-elm Main.elm; elm repl", run: "cp /opt/elm/elm.json elm.json && run-elm Main.elm; elm repl",
@ -578,7 +558,6 @@ output = "Hello, world!"
elvish: { elvish: {
aliases: ["elv"], aliases: ["elv"],
name: "Elvish", name: "Elvish",
monacoLang: "plaintext",
repl: `SHELL=/usr/bin/elvish HOME="$PWD" elvish`, repl: `SHELL=/usr/bin/elvish HOME="$PWD" elvish`,
main: ".elvish/rc.elv", main: ".elvish/rc.elv",
createEmpty: ``, createEmpty: ``,
@ -589,7 +568,6 @@ output = "Hello, world!"
emacs: { emacs: {
aliases: ["emacslisp", "elisp", "gnuemacs", "xemacs", "ielm"], aliases: ["emacslisp", "elisp", "gnuemacs", "xemacs", "ielm"],
name: "Emacs Lisp", name: "Emacs Lisp",
monacoLang: "plaintext",
repl: `emacs --eval "(progn (require 'package) (push '(\"melpa\" . \"https://melpa.org/packages/\") package-archives) (package-initialize) (ielm))"`, repl: `emacs --eval "(progn (require 'package) (push '(\"melpa\" . \"https://melpa.org/packages/\") package-archives) (package-initialize) (ielm))"`,
main: "main.el", main: "main.el",
run: `emacs --load main.el --eval "(progn (require 'package) (push '(\"melpa\" . \"https://melpa.org/packages/\") package-archives) (package-initialize) (ielm))"`, run: `emacs --load main.el --eval "(progn (require 'package) (push '(\"melpa\" . \"https://melpa.org/packages/\") package-archives) (package-initialize) (ielm))"`,
@ -604,7 +582,6 @@ output = "Hello, world!"
entropy: { entropy: {
aliases: ["ent", "entc", "vge"], aliases: ["ent", "entc", "vge"],
name: "Entropy", name: "Entropy",
monacoLang: "plaintext",
main: "main.vge", main: "main.vge",
compile: `mono /opt/entropy/entc.exe main.vge | grep -Ev 'WARNING:|Using default' > main.cs && mcs -lib:/opt/entropy -r:Rottytooth.Esolang.Entropy main.cs`, compile: `mono /opt/entropy/entc.exe main.vge | grep -Ev 'WARNING:|Using default' > main.cs && mcs -lib:/opt/entropy -r:Rottytooth.Esolang.Entropy main.cs`,
run: "MONO_PATH=/opt/entropy mono main.exe", run: "MONO_PATH=/opt/entropy mono main.exe",
@ -616,7 +593,6 @@ output = "Hello, world!"
erlang: { erlang: {
aliases: ["erl"], aliases: ["erl"],
name: "Erlang", name: "Erlang",
monacoLang: "plaintext",
repl: "erl", repl: "erl",
main: "main.erl", main: "main.erl",
compile: "erl -compile main", compile: "erl -compile main",
@ -632,7 +608,6 @@ main() ->
factor: { factor: {
aliases: ["fact"], aliases: ["fact"],
name: "Factor", name: "Factor",
monacoLang: "plaintext",
repl: "factor-lang", repl: "factor-lang",
main: ".factor-rc", main: ".factor-rc",
createEmpty: ``, createEmpty: ``,
@ -644,7 +619,6 @@ main() ->
}, },
fish: { fish: {
name: "Fish", name: "Fish",
monacoLang: "plaintext",
repl: "SHELL=/usr/bin/fish fish", repl: "SHELL=/usr/bin/fish fish",
main: "main.fish", main: "main.fish",
run: 'SHELL=/usr/bin/fish fish -C "$(< main.fish)"', run: 'SHELL=/usr/bin/fish fish -C "$(< main.fish)"',
@ -654,7 +628,6 @@ main() ->
forth: { forth: {
aliases: ["fs", "gforth"], aliases: ["fs", "gforth"],
name: "Forth", name: "Forth",
monacoLang: "plaintext",
repl: "gforth", repl: "gforth",
main: "main.fs", main: "main.fs",
run: "gforth main.fs", run: "gforth main.fs",
@ -672,7 +645,6 @@ main() ->
"fortran2008", "fortran2008",
], ],
name: "FORTRAN", name: "FORTRAN",
monacoLang: "plaintext",
main: "main.f", main: "main.f",
compile: "flang main.f -o main", compile: "flang main.f -o main",
run: "./main", run: "./main",
@ -712,7 +684,6 @@ func main() {
golfscript: { golfscript: {
aliases: ["gs", "golf"], aliases: ["gs", "golf"],
name: "GolfScript", name: "GolfScript",
monacoLang: "plaintext",
main: "main.gs", main: "main.gs",
run: "golfscript main.gs", run: "golfscript main.gs",
template: `'Hello, world!' template: `'Hello, world!'
@ -720,7 +691,6 @@ func main() {
}, },
groovy: { groovy: {
name: "Groovy", name: "Groovy",
monacoLang: "plaintext",
repl: `JAVA_OPTS="-Djava.util.prefs.systemRoot=$PWD/.java -Djava.util.prefs.userRoot=$PWD/.java/.userPrefs" groovysh`, repl: `JAVA_OPTS="-Djava.util.prefs.systemRoot=$PWD/.java -Djava.util.prefs.userRoot=$PWD/.java/.userPrefs" groovysh`,
main: "main.groovy", main: "main.groovy",
run: `JAVA_OPTS="-Djava.util.prefs.systemRoot=$PWD/.java -Djava.util.prefs.userRoot=$PWD/.java/.userPrefs" groovysh main.groovy`, run: `JAVA_OPTS="-Djava.util.prefs.systemRoot=$PWD/.java -Djava.util.prefs.userRoot=$PWD/.java/.userPrefs" groovysh main.groovy`,
@ -730,7 +700,6 @@ func main() {
haskell: { haskell: {
aliases: ["ghc", "ghci", "hs"], aliases: ["ghc", "ghci", "hs"],
name: "Haskell", name: "Haskell",
monacoLang: "plaintext",
repl: "ghci", repl: "ghci",
main: "Main.hs", main: "Main.hs",
run: "ghci", run: "ghci",
@ -749,7 +718,6 @@ main = putStrLn "Hello, world!"
hcl: { hcl: {
aliases: ["tf", "terraform", "hashicorp", "hc"], aliases: ["tf", "terraform", "hashicorp", "hc"],
name: "HCL", name: "HCL",
monacoLang: "plaintext",
main: "main.hcl", main: "main.hcl",
compile: "cat main.hcl | yj -cj > main.json", compile: "cat main.hcl | yj -cj > main.json",
run: "cat main.json | jq .", run: "cat main.json | jq .",
@ -758,7 +726,6 @@ main = putStrLn "Hello, world!"
}, },
ink: { ink: {
name: "Ink", name: "Ink",
monacoLang: "plaintext",
repl: "ink", repl: "ink",
main: "main.ink", main: "main.ink",
run: "ink main.ink; ink", run: "ink main.ink; ink",
@ -773,7 +740,6 @@ log('Hello, world!')
intercal: { intercal: {
aliases: ["i", "ick"], aliases: ["i", "ick"],
name: "INTERCAL", name: "INTERCAL",
monacoLang: "plaintext",
main: "main.i", main: "main.i",
compile: "ick main.i", compile: "ick main.i",
run: "./main", run: "./main",
@ -813,7 +779,6 @@ PLEASE GIVE UP
julia: { julia: {
aliases: ["jl"], aliases: ["jl"],
name: "Julia", name: "Julia",
monacoLang: "plaintext",
repl: "julia", repl: "julia",
main: "main.jl", main: "main.jl",
run: "julia -L main.jl", run: "julia -L main.jl",
@ -824,7 +789,6 @@ PLEASE GIVE UP
}, },
kalyn: { kalyn: {
name: "Kalyn", name: "Kalyn",
monacoLang: "plaintext",
main: "src-kalyn/Main.kalyn", main: "src-kalyn/Main.kalyn",
compile: "kalyn", compile: "kalyn",
run: "out-kalyn/Main", run: "out-kalyn/Main",
@ -869,7 +833,6 @@ PLEASE GIVE UP
livescript: { livescript: {
aliases: ["lsc", "ls"], aliases: ["lsc", "ls"],
name: "LiveScript", name: "LiveScript",
monacoLang: "plaintext",
repl: "lsc", repl: "lsc",
main: "main.ls", main: "main.ls",
run: "lsc -r ./main.ls; lsc", run: "lsc -r ./main.ls; lsc",
@ -907,7 +870,6 @@ define i32 @main() { ; i32()*
lolcode: { lolcode: {
aliases: ["lol", "lci"], aliases: ["lol", "lci"],
name: "LOLCODE", name: "LOLCODE",
monacoLang: "plaintext",
main: "main.lol", main: "main.lol",
run: "lci main.lol", run: "lci main.lol",
template: `HAI 1.2 template: `HAI 1.2
@ -928,7 +890,6 @@ KTHXBYE
malbolge: { malbolge: {
aliases: ["mb"], aliases: ["mb"],
name: "Malbolge", name: "Malbolge",
monacoLang: "plaintext",
main: "main.mb", main: "main.mb",
run: "malbolge main.mb", run: "malbolge main.mb",
template: template:
@ -957,7 +918,6 @@ KTHXBYE
mediawiki: { mediawiki: {
aliases: ["media"], aliases: ["media"],
name: "MediaWiki", name: "MediaWiki",
monacoLang: "plaintext",
main: "main.txt", main: "main.txt",
compile: "pandoc main.txt -f mediawiki -o main.html", compile: "pandoc main.txt -f mediawiki -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -990,7 +950,6 @@ message:
mumps: { mumps: {
aliases: ["mlang", "gtm", "fisgtm"], aliases: ["mlang", "gtm", "fisgtm"],
name: "MUMPS", name: "MUMPS",
monacoLang: "plaintext",
main: "main.m", main: "main.m",
run: run:
"gtm_dist=/usr/lib/x86_64-linux-gnu/fis-gtm/V6.3-007_x86_64 /usr/lib/x86_64-linux-gnu/fis-gtm/V6.3-007_x86_64/utf8/mumps -r main main.m", "gtm_dist=/usr/lib/x86_64-linux-gnu/fis-gtm/V6.3-007_x86_64 /usr/lib/x86_64-linux-gnu/fis-gtm/V6.3-007_x86_64/utf8/mumps -r main main.m",
@ -1001,7 +960,6 @@ message:
}, },
nim: { nim: {
name: "Nim", name: "Nim",
monacoLang: "plaintext",
main: "main.nim", main: "main.nim",
compile: "nim compile main.nim", compile: "nim compile main.nim",
run: "./main", run: "./main",
@ -1049,7 +1007,6 @@ int main() {
}, },
ocaml: { ocaml: {
name: "OCaml", name: "OCaml",
monacoLang: "plaintext",
main: "main.ml", main: "main.ml",
repl: "ocaml", repl: "ocaml",
run: "ocaml -init main.ml", run: "ocaml -init main.ml",
@ -1059,7 +1016,6 @@ int main() {
octave: { octave: {
aliases: ["matlab", "m", "mathworks"], aliases: ["matlab", "m", "mathworks"],
name: "Octave", name: "Octave",
monacoLang: "plaintext",
repl: "octave", repl: "octave",
main: "main.m", main: "main.m",
run: "octave --persist main.m", run: "octave --persist main.m",
@ -1069,7 +1025,6 @@ int main() {
org: { org: {
aliases: ["orgmode"], aliases: ["orgmode"],
name: "Org", name: "Org",
monacoLang: "plaintext",
main: "main.org", main: "main.org",
compile: "pandoc main.org -o main.html", compile: "pandoc main.org -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -1125,7 +1080,6 @@ echo "Hello, world!\\n";
}, },
prolog: { prolog: {
name: "Prolog", name: "Prolog",
monacoLang: "plaintext",
repl: "prolog", repl: "prolog",
main: "main.pl", main: "main.pl",
run: "prolog main.pl", run: "prolog main.pl",
@ -1149,7 +1103,6 @@ main :-
purescript: { purescript: {
aliases: ["purs", "pure", "ps"], aliases: ["purs", "pure", "ps"],
name: "PureScript", name: "PureScript",
monacoLang: "plaintext",
setup: `shopt -s dotglob; cp -R /opt/purescript/project-template/* "$PWD/"`, setup: `shopt -s dotglob; cp -R /opt/purescript/project-template/* "$PWD/"`,
repl: "spago repl", repl: "spago repl",
main: "src/Main.purs", main: "src/Main.purs",
@ -1202,7 +1155,6 @@ main = do
racket: { racket: {
aliases: ["rkt"], aliases: ["rkt"],
name: "Racket", name: "Racket",
monacoLang: "plaintext",
repl: "racket", repl: "racket",
main: "main.rkt", main: "main.rkt",
run: `racket -i -e '(enter! "main.rkt") (display "[ type (enter! \\"main.rkt\\") to access local variables ]\\n")'`, run: `racket -i -e '(enter! "main.rkt") (display "[ type (enter! \\"main.rkt\\") to access local variables ]\\n")'`,
@ -1213,7 +1165,6 @@ main = do
reasonml: { reasonml: {
aliases: ["re", "reason", "bsc", "buckle", "bucklescript"], aliases: ["re", "reason", "bsc", "buckle", "bucklescript"],
name: "ReasonML", name: "ReasonML",
monacoLang: "plaintext",
main: "main.re", main: "main.re",
compile: "bsc main.re > main.js", compile: "bsc main.re > main.js",
run: "NODE_PATH=/usr/lib/node_modules node main.js", run: "NODE_PATH=/usr/lib/node_modules node main.js",
@ -1233,7 +1184,6 @@ main = do
riscv: { riscv: {
aliases: ["risc"], aliases: ["risc"],
name: "RISC-V", name: "RISC-V",
monacoLang: "plaintext",
main: "main.S", main: "main.S",
compile: "riscv64-linux-gnu-gcc main.S -o main -static", compile: "riscv64-linux-gnu-gcc main.S -o main -static",
run: "qemu-riscv64-static main", run: "qemu-riscv64-static main",
@ -1271,7 +1221,6 @@ message:
"manual", "manual",
], ],
name: "roff", name: "roff",
monacoLang: "plaintext",
main: "main.roff", main: "main.roff",
compile: "pandoc main.roff -f man -o main.html", compile: "pandoc main.roff -f man -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -1320,7 +1269,6 @@ binding_irb.run(IRB.conf)
}, },
sass: { sass: {
name: "Sass", name: "Sass",
monacoLang: "plaintext",
main: "main.sass", main: "main.sass",
run: "sass main.sass", run: "sass main.sass",
template: `body:before template: `body:before
@ -1329,7 +1277,6 @@ binding_irb.run(IRB.conf)
}, },
scala: { scala: {
name: "Scala", name: "Scala",
monacoLang: "plaintext",
repl: "scala", repl: "scala",
main: "main.scala", main: "main.scala",
run: "scala -i main.scala", run: "scala -i main.scala",
@ -1372,7 +1319,6 @@ binding_irb.run(IRB.conf)
shakespeare: { shakespeare: {
aliases: ["spl"], aliases: ["spl"],
name: "Shakespeare", name: "Shakespeare",
monacoLang: "plaintext",
repl: "shakespeare console", repl: "shakespeare console",
main: "main.spl", main: "main.spl",
suffix: "\n[A pause]", suffix: "\n[A pause]",
@ -1471,7 +1417,6 @@ Ophelia:
smalltalk: { smalltalk: {
aliases: ["gst", "st"], aliases: ["gst", "st"],
name: "Smalltalk", name: "Smalltalk",
monacoLang: "plaintext",
repl: "gst", repl: "gst",
main: "main.st", main: "main.st",
run: "gst main.st; gst", run: "gst main.st; gst",
@ -1481,7 +1426,6 @@ Ophelia:
snobol: { snobol: {
aliases: ["snobol4", "spitbol", "sno"], aliases: ["snobol4", "spitbol", "sno"],
name: "SNOBOL", name: "SNOBOL",
monacoLang: "plaintext",
repl: "snobol4", repl: "snobol4",
main: "main.sno", main: "main.sno",
run: "snobol4 main.sno; snobol4", run: "snobol4 main.sno; snobol4",
@ -1502,7 +1446,6 @@ END
standardml: { standardml: {
aliases: ["sml", "ml"], aliases: ["sml", "ml"],
name: "Standard ML", name: "Standard ML",
monacoLang: "plaintext",
repl: "rlwrap sml", repl: "rlwrap sml",
main: "main.sml", main: "main.sml",
run: "rlwrap sml main.sml", run: "rlwrap sml main.sml",
@ -1545,7 +1488,6 @@ END
tex: { tex: {
aliases: ["latex", "xetex", "plaintex"], aliases: ["latex", "xetex", "plaintex"],
name: "TeX", name: "TeX",
monacoLang: "plaintext",
repl: "tex", repl: "tex",
main: "main.tex", main: "main.tex",
run: "tex main.tex", run: "tex main.tex",
@ -1556,7 +1498,6 @@ END
}, },
textile: { textile: {
name: "Textile", name: "Textile",
monacoLang: "plaintext",
main: "main.textile", main: "main.textile",
compile: "pandoc main.textile -o main.html", compile: "pandoc main.textile -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -1566,7 +1507,6 @@ END
tikiwiki: { tikiwiki: {
aliases: ["tiki"], aliases: ["tiki"],
name: "Tiki Wiki", name: "Tiki Wiki",
monacoLang: "plaintext",
main: "main.txt", main: "main.txt",
compile: "pandoc main.txt -f tikiwiki -o main.html", compile: "pandoc main.txt -f tikiwiki -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -1576,7 +1516,6 @@ END
toml: { toml: {
aliases: ["tom"], aliases: ["tom"],
name: "TOML", name: "TOML",
monacoLang: "plaintext",
main: "main.toml", main: "main.toml",
compile: "cat main.toml | yj -tj > main.json", compile: "cat main.toml | yj -tj > main.json",
run: "cat main.json | jq .", run: "cat main.json | jq .",
@ -1585,7 +1524,6 @@ END
}, },
twiki: { twiki: {
name: "TWiki", name: "TWiki",
monacoLang: "plaintext",
main: "main.txt", main: "main.txt",
compile: "pandoc main.txt -f twiki -o main.html", compile: "pandoc main.txt -f twiki -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -1605,7 +1543,6 @@ END
unlambda: { unlambda: {
aliases: ["unl"], aliases: ["unl"],
name: "Unlambda", name: "Unlambda",
monacoLang: "plaintext",
repl: "unlambda-repl", repl: "unlambda-repl",
main: "main.unl", main: "main.unl",
run: "unlambda-repl main.unl", run: "unlambda-repl main.unl",
@ -1614,7 +1551,6 @@ END
vim: { vim: {
aliases: ["viml", "vimscript"], aliases: ["viml", "vimscript"],
name: "Vimscript", name: "Vimscript",
monacoLang: "plaintext",
repl: "vim", repl: "vim",
main: "main.vim", main: "main.vim",
run: `vim -c "$(< main.vim)"`, run: `vim -c "$(< main.vim)"`,
@ -1624,7 +1560,6 @@ END
}, },
vimwiki: { vimwiki: {
name: "Vimwiki", name: "Vimwiki",
monacoLang: "plaintext",
main: "main.txt", main: "main.txt",
compile: "pandoc main.txt -f vimwiki -o main.html", compile: "pandoc main.txt -f vimwiki -o main.html",
run: "prettier --no-config main.html", run: "prettier --no-config main.html",
@ -1648,7 +1583,6 @@ End Module
whitespace: { whitespace: {
aliases: ["ws"], aliases: ["ws"],
name: "Whitespace", name: "Whitespace",
monacoLang: "plaintext",
main: "main.ws", main: "main.ws",
run: "whitespace main.ws", run: "whitespace main.ws",
template: `Hello, world! \t \t \n\t\n \t\t \t \t\n\t\n \t\t \t\t \n\t\n \t\t \t\t \n\t\n \t\t \t\t\t\t\n\t\n \t \t\t \n\t\n \t \n\t\n \t\t\t \t\t\t\n\t\n \t\t \t\t\t\t\n\t\n \t\t\t \t \n\t\n \t\t \t\t \n\t\n \t\t \t \n\t\n \n\n\n`, template: `Hello, world! \t \t \n\t\n \t\t \t \t\n\t\n \t\t \t\t \n\t\n \t\t \t\t \n\t\n \t\t \t\t\t\t\n\t\n \t \t\t \n\t\n \t \n\t\n \t\t\t \t\t\t\n\t\n \t\t \t\t\t\t\n\t\n \t\t\t \t \n\t\n \t\t \t\t \n\t\n \t\t \t \n\t\n \n\n\n`,
@ -1664,7 +1598,6 @@ End Module
"symja", "symja",
], ],
name: "Wolfram Language", name: "Wolfram Language",
monacoLang: "plaintext",
repl: "mathics", repl: "mathics",
main: "main.wls", main: "main.wls",
run: "mathics --persist main.wls", run: "mathics --persist main.wls",
@ -1674,7 +1607,6 @@ End Module
x86: { x86: {
aliases: ["s", "asm", "assembly", "x86-64"], aliases: ["s", "asm", "assembly", "x86-64"],
name: "x86", name: "x86",
monacoLang: "plaintext",
main: "main.S", main: "main.S",
compile: "clang main.S -o main", compile: "clang main.S -o main",
run: "./main", run: "./main",

View File

@ -23,7 +23,7 @@ const config: RijuConfig = (window as any).rijuConfig;
interface RijuConfig { interface RijuConfig {
id: string; id: string;
monacoLang: string; monacoLang?: string;
main: string; main: string;
lspDisableDynamicRegistration?: boolean; lspDisableDynamicRegistration?: boolean;
lspInit?: any; lspInit?: any;
@ -300,7 +300,10 @@ async function main() {
}); });
window.addEventListener("resize", () => editor.layout()); window.addEventListener("resize", () => editor.layout());
editor.getModel()!.setValue(config.template); editor.getModel()!.setValue(config.template);
monaco.editor.setModelLanguage(editor.getModel()!, config.monacoLang); monaco.editor.setModelLanguage(
editor.getModel()!,
config.monacoLang || "plaintext"
);
document.getElementById("runButton")!.addEventListener("click", () => { document.getElementById("runButton")!.addEventListener("click", () => {
sendMessage({ event: "runCode", code: editor.getValue() }); sendMessage({ event: "runCode", code: editor.getValue() });