diff options
| author | kj_sh604 | 2026-03-16 22:05:27 -0400 |
|---|---|---|
| committer | kj_sh604 | 2026-03-16 22:05:27 -0400 |
| commit | 1b4398db32a0f8a9bccb6ed57636d665b9b47d3b (patch) | |
| tree | 83c996399f2b464553929207df2a800228b35ea0 | |
| parent | 92a9ead2e7d4db80dd7201237916025a900f269b (diff) | |
refactor: add more languages from highlight.js
| -rw-r--r-- | src/index.html | 152 | ||||
| -rw-r--r-- | src/server.py | 152 |
2 files changed, 226 insertions, 78 deletions
diff --git a/src/index.html b/src/index.html index e906dd3..eddb0e8 100644 --- a/src/index.html +++ b/src/index.html @@ -91,11 +91,19 @@ onchange="toggleLang()">is this code? </label><select id="lang-select"> <option value="">auto-detect</option> <option value="1c">1c</option> + <option value="4d">4d</option> + <option value="sap-abap">sap-abap</option> + <option value="abc">abc</option> <option value="abnf">abnf</option> <option value="accesslog">accesslog</option> + <option value="actionscript">actionscript</option> <option value="ada">ada</option> + <option value="aiken">aiken</option> + <option value="ln">ln</option> + <option value="alan">alan</option> <option value="angelscript">angelscript</option> <option value="apache">apache</option> + <option value="apex">apex</option> <option value="applescript">applescript</option> <option value="arcade">arcade</option> <option value="arduino">arduino</option> @@ -106,30 +114,43 @@ <option value="autoit">autoit</option> <option value="avrasm">avrasm</option> <option value="awk">awk</option> + <option value="ballerina">ballerina</option> <option value="bash">bash</option> <option value="basic">basic</option> + <option value="bbcode">bbcode</option> + <option value="bicep">bicep</option> + <option value="blade">blade</option> <option value="bnf">bnf</option> + <option value="bqn">bqn</option> <option value="brainfuck">brainfuck</option> <option value="c">c</option> + <option value="csharp">csharp</option> + <option value="cpp">cpp</option> <option value="cal">cal</option> + <option value="c3">c3</option> + <option value="cos">cos</option> + <option value="candid">candid</option> <option value="capnproto">capnproto</option> - <option value="ceylon">ceylon</option> - <option value="clean">clean</option> + <option value="chaos">chaos</option> + <option value="chapel">chapel</option> + <option value="cisco">cisco</option> <option value="clojure">clojure</option> - <option value="clojure-repl">clojure-repl</option> <option value="cmake">cmake</option> + <option value="cobol">cobol</option> + <option value="codeowners">codeowners</option> <option value="coffeescript">coffeescript</option> <option value="coq">coq</option> - <option value="cos">cos</option> - <option value="cpp">cpp</option> + <option value="cpc">cpc</option> <option value="crmsh">crmsh</option> <option value="crystal">crystal</option> - <option value="csharp">csharp</option> <option value="csp">csp</option> <option value="css">css</option> + <option value="curl">curl</option> + <option value="cypher">cypher</option> <option value="d">d</option> + <option value="dafny">dafny</option> <option value="dart">dart</option> - <option value="delphi">delphi</option> + <option value="dpr">dpr</option> <option value="diff">diff</option> <option value="django">django</option> <option value="dns">dns</option> @@ -138,56 +159,69 @@ <option value="dsconfig">dsconfig</option> <option value="dts">dts</option> <option value="dust">dust</option> + <option value="dylan">dylan</option> <option value="ebnf">ebnf</option> <option value="elixir">elixir</option> <option value="elm">elm</option> - <option value="erb">erb</option> <option value="erlang">erlang</option> <option value="excel">excel</option> + <option value="extempore">extempore</option> + <option value="fsharp">fsharp</option> <option value="fix">fix</option> <option value="flix">flix</option> <option value="fortran">fortran</option> - <option value="fsharp">fsharp</option> + <option value="func">func</option> + <option value="gcode">gcode</option> <option value="gams">gams</option> <option value="gauss">gauss</option> - <option value="gcode">gcode</option> + <option value="godot">godot</option> <option value="gherkin">gherkin</option> - <option value="glsl">glsl</option> - <option value="gml">gml</option> + <option value="gleam">gleam</option> + <option value="hbs">hbs</option> + <option value="gn">gn</option> <option value="go">go</option> <option value="golo">golo</option> <option value="gradle">gradle</option> + <option value="gf">gf</option> <option value="graphql">graphql</option> <option value="groovy">groovy</option> + <option value="gsql">gsql</option> <option value="haml">haml</option> <option value="handlebars">handlebars</option> <option value="haskell">haskell</option> <option value="haxe">haxe</option> - <option value="hsp">hsp</option> + <option value="hlsl">hlsl</option> + <option value="xml">xml</option> <option value="http">http</option> <option value="hy">hy</option> <option value="inform7">inform7</option> <option value="ini">ini</option> + <option value="iptables">iptables</option> <option value="irpf90">irpf90</option> - <option value="isbl">isbl</option> <option value="java">java</option> <option value="javascript">javascript</option> - <option value="jboss-cli">jboss-cli</option> + <option value="jolie">jolie</option> <option value="json">json</option> + <option value="jsonata">jsonata</option> <option value="julia">julia</option> <option value="julia-repl">julia-repl</option> <option value="kotlin">kotlin</option> + <option value="l4">l4</option> <option value="lasso">lasso</option> - <option value="latex">latex</option> + <option value="tex">tex</option> <option value="ldif">ldif</option> <option value="leaf">leaf</option> + <option value="lean">lean</option> <option value="less">less</option> + <option value="liquid">liquid</option> <option value="lisp">lisp</option> <option value="livecodeserver">livecodeserver</option> <option value="livescript">livescript</option> - <option value="llvm">llvm</option> - <option value="lsl">lsl</option> + <option value="lookml">lookml</option> <option value="lua">lua</option> + <option value="luau">luau</option> + <option value="macaulay2">macaulay2</option> + <option value="magik">magik</option> <option value="makefile">makefile</option> <option value="markdown">markdown</option> <option value="mathematica">mathematica</option> @@ -195,90 +229,130 @@ <option value="maxima">maxima</option> <option value="mel">mel</option> <option value="mercury">mercury</option> - <option value="mipsasm">mipsasm</option> + <option value="metapost">metapost</option> + <option value="mint">mint</option> + <option value="mips">mips</option> + <option value="mirc">mirc</option> + <option value="mirth">mirth</option> <option value="mizar">mizar</option> + <option value="mkb">mkb</option> + <option value="mlir">mlir</option> <option value="mojolicious">mojolicious</option> <option value="monkey">monkey</option> <option value="moonscript">moonscript</option> + <option value="motoko">motoko</option> <option value="n1ql">n1ql</option> - <option value="nestedtext">nestedtext</option> + <option value="never">never</option> <option value="nginx">nginx</option> <option value="nim">nim</option> <option value="nix">nix</option> - <option value="node-repl">node-repl</option> <option value="nsis">nsis</option> + <option value="oak">oak</option> + <option value="ocl">ocl</option> <option value="objectivec">objectivec</option> <option value="ocaml">ocaml</option> + <option value="odin">odin</option> + <option value="glsl">glsl</option> <option value="openscad">openscad</option> + <option value="ruleslanguage">ruleslanguage</option> <option value="oxygene">oxygene</option> + <option value="papyrus">papyrus</option> <option value="parser3">parser3</option> <option value="perl">perl</option> <option value="pf">pf</option> - <option value="pgsql">pgsql</option> + <option value="phix">phix</option> <option value="php">php</option> - <option value="php-template">php-template</option> + <option value="pine">pine</option> <option value="plaintext">plaintext</option> <option value="pony">pony</option> + <option value="pgsql">pgsql</option> + <option value="poweron">poweron</option> <option value="powershell">powershell</option> + <option value="prisma">prisma</option> <option value="processing">processing</option> - <option value="profile">profile</option> <option value="prolog">prolog</option> <option value="properties">properties</option> - <option value="protobuf">protobuf</option> + <option value="proto">proto</option> <option value="puppet">puppet</option> - <option value="purebasic">purebasic</option> <option value="python">python</option> + <option value="profile">profile</option> <option value="python-repl">python-repl</option> - <option value="q">q</option> + <option value="k">k</option> + <option value="qsharp">qsharp</option> <option value="qml">qml</option> <option value="r">r</option> + <option value="raku">raku</option> + <option value="pod6">pod6</option> + <option value="rakuquoting">rakuquoting</option> + <option value="rakuregexe">rakuregexe</option> + <option value="cshtml">cshtml</option> <option value="reasonml">reasonml</option> + <option value="redbol">redbol</option> <option value="rib">rib</option> - <option value="roboconf">roboconf</option> - <option value="routeros">routeros</option> <option value="rsl">rsl</option> + <option value="rescript">rescript</option> + <option value="riscv">riscv</option> + <option value="risc">risc</option> + <option value="graph">graph</option> + <option value="robot">robot</option> + <option value="rpm-specfile">rpm-specfile</option> <option value="ruby">ruby</option> - <option value="ruleslanguage">ruleslanguage</option> <option value="rust">rust</option> + <option value="rvt">rvt</option> <option value="sas">sas</option> <option value="scala">scala</option> <option value="scheme">scheme</option> <option value="scilab">scilab</option> <option value="scss">scss</option> + <option value="sfz">sfz</option> + <option value="shexc">shexc</option> <option value="shell">shell</option> <option value="smali">smali</option> <option value="smalltalk">smalltalk</option> <option value="sml">sml</option> - <option value="sqf">sqf</option> + <option value="solidity">solidity</option> + <option value="spl">spl</option> <option value="sql">sql</option> <option value="stan">stan</option> <option value="stata">stata</option> - <option value="step21">step21</option> + <option value="p21">p21</option> + <option value="iecst">iecst</option> <option value="stylus">stylus</option> <option value="subunit">subunit</option> + <option value="supercollider">supercollider</option> + <option value="svelte">svelte</option> <option value="swift">swift</option> - <option value="taggerscript">taggerscript</option> - <option value="tap">tap</option> <option value="tcl">tcl</option> + <option value="terraform">terraform</option> + <option value="tap">tap</option> <option value="thrift">thrift</option> + <option value="toit">toit</option> <option value="tp">tp</option> + <option value="tsql">tsql</option> + <option value="ttcn">ttcn</option> <option value="twig">twig</option> <option value="typescript">typescript</option> + <option value="unicorn-rails-log">unicorn-rails-log</option> + <option value="unison">unison</option> <option value="vala">vala</option> <option value="vbnet">vbnet</option> + <option value="vba">vba</option> <option value="vbscript">vbscript</option> - <option value="vbscript-html">vbscript-html</option> <option value="verilog">verilog</option> <option value="vhdl">vhdl</option> <option value="vim">vim</option> - <option value="wasm">wasm</option> - <option value="wren">wren</option> + <option value="voltscript">voltscript</option> + <option value="wgsl">wgsl</option> + <option value="xsharp">xsharp</option> + <option value="axapta">axapta</option> <option value="x86asm">x86asm</option> + <option value="x86asmatt">x86asmatt</option> <option value="xl">xl</option> - <option value="xml">xml</option> <option value="xquery">xquery</option> - <option value="yaml">yaml</option> + <option value="yml">yml</option> + <option value="zenscript">zenscript</option> <option value="zephir">zephir</option> + <option value="zig">zig</option> </select></div><br><input type="password" id="passphrase" placeholder="passphrase (optional)"><small> encrypted with <a href="https://github.com/kj-sh604/mojicrypt" target="_blank">mojicrypt</a></small> diff --git a/src/server.py b/src/server.py index 86c03d5..6c4743d 100644 --- a/src/server.py +++ b/src/server.py @@ -38,11 +38,19 @@ RATE_WINDOW_SECONDS = int(os.environ.get("KJ_CLIPBOARD_RATE_WINDOW", "60")) ALLOWED_LANGUAGES = { "1c", + "4d", + "sap-abap", + "abc", "abnf", "accesslog", + "actionscript", "ada", + "aiken", + "ln", + "alan", "angelscript", "apache", + "apex", "applescript", "arcade", "arduino", @@ -53,30 +61,43 @@ ALLOWED_LANGUAGES = { "autoit", "avrasm", "awk", + "ballerina", "bash", "basic", + "bbcode", + "bicep", + "blade", "bnf", + "bqn", "brainfuck", "c", + "csharp", + "cpp", "cal", + "c3", + "cos", + "candid", "capnproto", - "ceylon", - "clean", + "chaos", + "chapel", + "cisco", "clojure", - "clojure-repl", "cmake", + "cobol", + "codeowners", "coffeescript", "coq", - "cos", - "cpp", + "cpc", "crmsh", "crystal", - "csharp", "csp", "css", + "curl", + "cypher", "d", + "dafny", "dart", - "delphi", + "dpr", "diff", "django", "dns", @@ -85,56 +106,69 @@ ALLOWED_LANGUAGES = { "dsconfig", "dts", "dust", + "dylan", "ebnf", "elixir", "elm", - "erb", "erlang", "excel", + "extempore", + "fsharp", "fix", "flix", "fortran", - "fsharp", + "func", + "gcode", "gams", "gauss", - "gcode", + "godot", "gherkin", - "glsl", - "gml", + "gleam", + "hbs", + "gn", "go", "golo", "gradle", + "gf", "graphql", "groovy", + "gsql", "haml", "handlebars", "haskell", "haxe", - "hsp", + "hlsl", + "xml", "http", "hy", "inform7", "ini", + "iptables", "irpf90", - "isbl", "java", "javascript", - "jboss-cli", + "jolie", "json", + "jsonata", "julia", "julia-repl", "kotlin", + "l4", "lasso", - "latex", + "tex", "ldif", "leaf", + "lean", "less", + "liquid", "lisp", "livecodeserver", "livescript", - "llvm", - "lsl", + "lookml", "lua", + "luau", + "macaulay2", + "magik", "makefile", "markdown", "mathematica", @@ -142,90 +176,130 @@ ALLOWED_LANGUAGES = { "maxima", "mel", "mercury", - "mipsasm", + "metapost", + "mint", + "mips", + "mirc", + "mirth", "mizar", + "mkb", + "mlir", "mojolicious", "monkey", "moonscript", + "motoko", "n1ql", - "nestedtext", + "never", "nginx", "nim", "nix", - "node-repl", "nsis", + "oak", + "ocl", "objectivec", "ocaml", + "odin", + "glsl", "openscad", + "ruleslanguage", "oxygene", + "papyrus", "parser3", "perl", "pf", - "pgsql", + "phix", "php", - "php-template", + "pine", "plaintext", "pony", + "pgsql", + "poweron", "powershell", + "prisma", "processing", - "profile", "prolog", "properties", - "protobuf", + "proto", "puppet", - "purebasic", "python", + "profile", "python-repl", - "q", + "k", + "qsharp", "qml", "r", + "raku", + "pod6", + "rakuquoting", + "rakuregexe", + "cshtml", "reasonml", + "redbol", "rib", - "roboconf", - "routeros", "rsl", + "rescript", + "riscv", + "risc", + "graph", + "robot", + "rpm-specfile", "ruby", - "ruleslanguage", "rust", + "rvt", "sas", "scala", "scheme", "scilab", "scss", + "sfz", + "shexc", "shell", "smali", "smalltalk", "sml", - "sqf", + "solidity", + "spl", "sql", "stan", "stata", - "step21", + "p21", + "iecst", "stylus", "subunit", + "supercollider", + "svelte", "swift", - "taggerscript", - "tap", "tcl", + "terraform", + "tap", "thrift", + "toit", "tp", + "tsql", + "ttcn", "twig", "typescript", + "unicorn-rails-log", + "unison", "vala", "vbnet", + "vba", "vbscript", - "vbscript-html", "verilog", "vhdl", "vim", - "wasm", - "wren", + "voltscript", + "wgsl", + "xsharp", + "axapta", "x86asm", + "x86asmatt", "xl", - "xml", "xquery", - "yaml", + "yml", + "zenscript", "zephir", + "zig", } |
