A Wikiful of Hacks: Hacks.Wiki is an experiment to organise quick hacks, notes, bookmarks and tools into an easy-to-build-and-maintain “Digital Garden”.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0 lines
20 KiB

  1. import{LanguageDescription,LanguageSupport,StreamLanguage}from"@codemirror/language";function legacy(parser){return new LanguageSupport(StreamLanguage.define(parser))}function sql(dialectName){return import("@codemirror/lang-sql").then(m=>m.sql({dialect:m[dialectName]}))}const languages=[LanguageDescription.of({name:"C",extensions:["c","h","ino"],load(){return import("@codemirror/lang-cpp").then(m=>m.cpp())}}),LanguageDescription.of({name:"C++",alias:["cpp"],extensions:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],load(){return import("@codemirror/lang-cpp").then(m=>m.cpp())}}),LanguageDescription.of({name:"CQL",alias:["cassandra"],extensions:["cql"],load(){return sql("Cassandra")}}),LanguageDescription.of({name:"CSS",extensions:["css"],load(){return import("@codemirror/lang-css").then(m=>m.css())}}),LanguageDescription.of({name:"HTML",alias:["xhtml"],extensions:["html","htm","handlebars","hbs"],load(){return import("@codemirror/lang-html").then(m=>m.html())}}),LanguageDescription.of({name:"Java",extensions:["java"],load(){return import("@codemirror/lang-java").then(m=>m.java())}}),LanguageDescription.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return import("@codemirror/lang-javascript").then(m=>m.javascript())}}),LanguageDescription.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return import("@codemirror/lang-json").then(m=>m.json())}}),LanguageDescription.of({name:"JSX",extensions:["jsx"],load(){return import("@codemirror/lang-javascript").then(m=>m.javascript({jsx:true}))}}),LanguageDescription.of({name:"MariaDB SQL",load(){return sql("MariaSQL")}}),LanguageDescription.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return import("@codemirror/lang-markdown").then(m=>m.markdown())}}),LanguageDescription.of({name:"MS SQL",load(){return sql("MSSQL")}}),LanguageDescription.of({name:"MySQL",load(){return sql("MySQL")}}),LanguageDescription.of({name:"PHP",extensions:["php","php3","php4","php5","php7","phtml"],load(){return import("@codemirror/lang-php").then(m=>m.php())}}),LanguageDescription.of({name:"PLSQL",extensions:["pls"],load(){return sql("PLSQL")}}),LanguageDescription.of({name:"PostgreSQL",load(){return sql("PostgreSQL")}}),LanguageDescription.of({name:"Python",extensions:["BUILD","bzl","py","pyw"],filename:/^(BUCK|BUILD)$/,load(){return import("@codemirror/lang-python").then(m=>m.python())}}),LanguageDescription.of({name:"Rust",extensions:["rs"],load(){return import("@codemirror/lang-rust").then(m=>m.rust())}}),LanguageDescription.of({name:"SQL",extensions:["sql"],load(){return sql("StandardSQL")}}),LanguageDescription.of({name:"SQLite",load(){return sql("SQLite")}}),LanguageDescription.of({name:"TSX",extensions:["tsx"],load(){return import("@codemirror/lang-javascript").then(m=>m.javascript({jsx:true,typescript:true}))}}),LanguageDescription.of({name:"TypeScript",alias:["ts"],extensions:["ts"],load(){return import("@codemirror/lang-javascript").then(m=>m.javascript({typescript:true}))}}),LanguageDescription.of({name:"WebAssembly",extensions:["wat","wast"],load(){return import("@codemirror/lang-wast").then(m=>m.wast())}}),LanguageDescription.of({name:"XML",alias:["rss","wsdl","xsd"],extensions:["xml","xsl","xsd","svg"],load(){return import("@codemirror/lang-xml").then(m=>m.xml())}}),LanguageDescription.of({name:"APL",extensions:["dyalog","apl"],load(){return import("@codemirror/legacy-modes/mode/apl").then(m=>legacy(m.apl))}}),LanguageDescription.of({name:"PGP",alias:["asciiarmor"],extensions:["asc","pgp","sig"],load(){return import("@codemirror/legacy-modes/mode/asciiarmor").then(m=>legacy(m.asciiArmor))}}),LanguageDescription.of({name:"ASN.1",extensions:["asn","asn1"],load(){return import("@codemirror/legacy-modes/mode/asn1").then(m=>legacy(m.asn1({})))}}),LanguageDescription.of({name:"Asterisk",filename:/^extensions\.conf$/i,load(){return import("@codemirror/legacy-modes/mode/asterisk").then(m=>legacy(m.asterisk))}}),LanguageDescription.of({name:"Brainfuck",extensions:["b","bf"],load(){return import("@codemirror/legacy-modes/mo