From 46f1667d5174c93f7d028a7bb97bc9519cdb3b7d Mon Sep 17 00:00:00 2001 From: jojo2357 <66704796+jojo2357@users.noreply.github.com> Date: Sat, 4 May 2024 17:29:29 -0600 Subject: [PATCH 1/4] Basic `inputminted` support --- .../completion/LatexMintedTypeProvider.kt | 627 ++++++++++++++++++ .../pathcompletion/LatexPathProviderBase.kt | 2 +- .../texifyidea/lang/commands/Argument.kt | 3 + .../commands/LatexGenericRegularCommand.kt | 1 + 4 files changed, 632 insertions(+), 1 deletion(-) create mode 100644 src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt diff --git a/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt b/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt new file mode 100644 index 000000000..9be2d35b7 --- /dev/null +++ b/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt @@ -0,0 +1,627 @@ +package nl.hannahsten.texifyidea.completion + +import com.intellij.codeInsight.completion.CompletionParameters +import com.intellij.codeInsight.completion.CompletionProvider +import com.intellij.codeInsight.completion.CompletionResultSet +import com.intellij.codeInsight.lookup.AutoCompletionPolicy +import com.intellij.codeInsight.lookup.LookupElement +import com.intellij.codeInsight.lookup.LookupElementBuilder +import com.intellij.codeInsight.lookup.LookupElementPresentation +import com.intellij.util.ProcessingContext +import nl.hannahsten.texifyidea.TexifyIcons + + +/** + * @author Hannah Schellekens + */ +object LatexMintedTypeProvider : CompletionProvider() { + private val LANGUAGES = setOf( + LatexMintedLanguage("JSONBareObject", listOf(""), listOf()), + LatexMintedLanguage("Raw token data", listOf(""), listOf()), + LatexMintedLanguage("ABAP", listOf("abap"), listOf("*.abap", "*.ABAP")), + LatexMintedLanguage("ABNF", listOf("abnf"), listOf("*.abnf")), + LatexMintedLanguage("ActionScript", listOf("actionscript", "as"), listOf("*.as")), + LatexMintedLanguage("ActionScript 3", listOf("actionscript3", "as3"), listOf("*.as")), + LatexMintedLanguage("Ada", listOf("ada", "ada95", "ada2005"), listOf("*.adb", "*.ads", "*.ada")), + LatexMintedLanguage("ADL", listOf("adl"), listOf("*.adl", "*.adls", "*.adlf", "*.adlx")), + LatexMintedLanguage("Agda", listOf("agda"), listOf("*.agda")), + LatexMintedLanguage("Aheui", listOf("aheui"), listOf("*.aheui")), + LatexMintedLanguage("Alloy", listOf("alloy"), listOf("*.als")), + LatexMintedLanguage("AmbientTalk", listOf("ambienttalk", "ambienttalk/2", "at"), listOf("*.at")), + LatexMintedLanguage("AMDGPU", listOf("amdgpu"), listOf("*.isa")), + LatexMintedLanguage("Ampl", listOf("ampl"), listOf("*.run")), + LatexMintedLanguage("ANSYS parametric design language", listOf("ansys", "apdl"), listOf("*.ans")), + LatexMintedLanguage("ANTLR With ActionScript Target", listOf("antlr-actionscript", "antlr-as"), listOf("*.G", "*.g")), + LatexMintedLanguage("ANTLR With CPP Target", listOf("antlr-cpp"), listOf("*.G", "*.g")), + LatexMintedLanguage("ANTLR With C# Target", listOf("antlr-csharp", "antlr-c#"), listOf("*.G", "*.g")), + LatexMintedLanguage("ANTLR With Java Target", listOf("antlr-java"), listOf("*.G", "*.g")), + LatexMintedLanguage("ANTLR With ObjectiveC Target", listOf("antlr-objc"), listOf("*.G", "*.g")), + LatexMintedLanguage("ANTLR With Perl Target", listOf("antlr-perl"), listOf("*.G", "*.g")), + LatexMintedLanguage("ANTLR With Python Target", listOf("antlr-python"), listOf("*.G", "*.g")), + LatexMintedLanguage("ANTLR With Ruby Target", listOf("antlr-ruby", "antlr-rb"), listOf("*.G", "*.g")), + LatexMintedLanguage("ANTLR", listOf("antlr"), listOf()), + LatexMintedLanguage("ApacheConf", listOf("apacheconf", "aconf", "apache"), listOf(".htaccess", "apache.conf", "apache2.conf")), + LatexMintedLanguage("APL", listOf("apl"), listOf("*.apl", "*.aplf", "*.aplo", "*.apln", "*.aplc", "*.apli", "*.dyalog")), + LatexMintedLanguage("AppleScript", listOf("applescript"), listOf("*.applescript")), + LatexMintedLanguage("Arduino", listOf("arduino"), listOf("*.ino")), + LatexMintedLanguage("Arrow", listOf("arrow"), listOf("*.arw")), + LatexMintedLanguage("Arturo", listOf("arturo", "art"), listOf("*.art")), + LatexMintedLanguage("ASCII armored", listOf("asc", "pem"), listOf("*.asc", "*.pem", "id_dsa", "id_ecdsa", "id_ecdsa_sk", "id_ed25519", "id_ed25519_sk", "id_rsa")), + LatexMintedLanguage("ASN.1", listOf("asn1"), listOf("*.asn1")), + LatexMintedLanguage("AspectJ", listOf("aspectj"), listOf("*.aj")), + LatexMintedLanguage("aspx-cs", listOf("aspx-cs"), listOf("*.aspx", "*.asax", "*.ascx", "*.ashx", "*.asmx", "*.axd")), + LatexMintedLanguage("aspx-vb", listOf("aspx-vb"), listOf("*.aspx", "*.asax", "*.ascx", "*.ashx", "*.asmx", "*.axd")), + LatexMintedLanguage("Asymptote", listOf("asymptote", "asy"), listOf("*.asy")), + LatexMintedLanguage("Augeas", listOf("augeas"), listOf("*.aug")), + LatexMintedLanguage("autohotkey", listOf("autohotkey", "ahk"), listOf("*.ahk", "*.ahkl")), + LatexMintedLanguage("AutoIt", listOf("autoit"), listOf("*.au3")), + LatexMintedLanguage("Awk", listOf("awk", "gawk", "mawk", "nawk"), listOf("*.awk")), + LatexMintedLanguage("BARE", listOf("bare"), listOf("*.bare")), + LatexMintedLanguage("Base Makefile", listOf("basemake"), listOf()), + LatexMintedLanguage("Bash", listOf("bash", "sh", "ksh", "zsh", "shell"), listOf("*.sh", "*.ksh", "*.bash", "*.ebuild", "*.eclass", "*.exheres-0", "*.exlib", "*.zsh", ".bashrc", "bashrc", ".bash_*", "bash_*", "zshrc", ".zshrc", ".kshrc", "kshrc", "PKGBUILD")), + LatexMintedLanguage("Batchfile", listOf("batch", "bat", "dosbatch", "winbatch"), listOf("*.bat", "*.cmd")), + LatexMintedLanguage("BBC Basic", listOf("bbcbasic"), listOf("*.bbc")), + LatexMintedLanguage("BBCode", listOf("bbcode"), listOf()), + LatexMintedLanguage("BC", listOf("bc"), listOf("*.bc")), + LatexMintedLanguage("Bdd", listOf("bdd"), listOf("*.feature")), + LatexMintedLanguage("Befunge", listOf("befunge"), listOf("*.befunge")), + LatexMintedLanguage("Berry", listOf("berry", "be"), listOf("*.be")), + LatexMintedLanguage("BibTeX", listOf("bibtex", "bib"), listOf("*.bib")), + LatexMintedLanguage("BlitzBasic", listOf("blitzbasic", "b3d", "bplus"), listOf("*.bb", "*.decls")), + LatexMintedLanguage("BlitzMax", listOf("blitzmax", "bmax"), listOf("*.bmx")), + LatexMintedLanguage("Blueprint", listOf("blueprint"), listOf("*.blp")), + LatexMintedLanguage("BNF", listOf("bnf"), listOf("*.bnf")), + LatexMintedLanguage("Boa", listOf("boa"), listOf("*.boa")), + LatexMintedLanguage("Boo", listOf("boo"), listOf("*.boo")), + LatexMintedLanguage("Boogie", listOf("boogie"), listOf("*.bpl")), + LatexMintedLanguage("BQN", listOf("bqn"), listOf("*.bqn")), + LatexMintedLanguage("Brainfuck", listOf("brainfuck", "bf"), listOf("*.bf", "*.b")), + LatexMintedLanguage("BST", listOf("bst", "bst-pybtex"), listOf("*.bst")), + LatexMintedLanguage("BUGS", listOf("bugs", "winbugs", "openbugs"), listOf("*.bug")), + LatexMintedLanguage("c-objdump", listOf("c-objdump"), listOf("*.c-objdump")), + LatexMintedLanguage("C", listOf("c"), listOf("*.c", "*.h", "*.idc", "*.x[bp]m")), + LatexMintedLanguage("ca65 assembler", listOf("ca65"), listOf("*.s")), + LatexMintedLanguage("cADL", listOf("cadl"), listOf("*.cadl")), + LatexMintedLanguage("CAmkES", listOf("camkes", "idl4"), listOf("*.camkes", "*.idl4")), + LatexMintedLanguage("CapDL", listOf("capdl"), listOf("*.cdl")), + LatexMintedLanguage("Cap'n Proto", listOf("capnp"), listOf("*.capnp")), + LatexMintedLanguage("Carbon", listOf("carbon"), listOf("*.carbon")), + LatexMintedLanguage("CBM BASIC V2", listOf("cbmbas"), listOf("*.bas")), + LatexMintedLanguage("CDDL", listOf("cddl"), listOf("*.cddl")), + LatexMintedLanguage("Ceylon", listOf("ceylon"), listOf("*.ceylon")), + LatexMintedLanguage("Coldfusion CFC", listOf("cfc"), listOf("*.cfc")), + LatexMintedLanguage("CFEngine3", listOf("cfengine3", "cf3"), listOf("*.cf")), + LatexMintedLanguage("Coldfusion HTML", listOf("cfm"), listOf("*.cfm", "*.cfml")), + LatexMintedLanguage("cfstatement", listOf("cfs"), listOf()), + LatexMintedLanguage("ChaiScript", listOf("chaiscript", "chai"), listOf("*.chai")), + LatexMintedLanguage("Chapel", listOf("chapel", "chpl"), listOf("*.chpl")), + LatexMintedLanguage("Charmci", listOf("charmci"), listOf("*.ci")), + LatexMintedLanguage("Cheetah", listOf("cheetah", "spitfire"), listOf("*.tmpl", "*.spt")), + LatexMintedLanguage("Cirru", listOf("cirru"), listOf("*.cirru")), + LatexMintedLanguage("Clay", listOf("clay"), listOf("*.clay")), + LatexMintedLanguage("Clean", listOf("clean"), listOf("*.icl", "*.dcl")), + LatexMintedLanguage("Clojure", listOf("clojure", "clj"), listOf("*.clj", "*.cljc")), + LatexMintedLanguage("ClojureScript", listOf("clojurescript", "cljs"), listOf("*.cljs")), + LatexMintedLanguage("CMake", listOf("cmake"), listOf("*.cmake", "CMakeLists.txt")), + LatexMintedLanguage("COBOL", listOf("cobol"), listOf("*.cob", "*.COB", "*.cpy", "*.CPY")), + LatexMintedLanguage("COBOLFree", listOf("cobolfree"), listOf("*.cbl", "*.CBL")), + LatexMintedLanguage("CoffeeScript", listOf("coffeescript", "coffee-script", "coffee"), listOf("*.coffee")), + LatexMintedLanguage("COMAL-80", listOf("comal", "comal80"), listOf("*.cml", "*.comal")), + LatexMintedLanguage("Common Lisp", listOf("common-lisp", "cl", "lisp"), listOf("*.cl", "*.lisp")), + LatexMintedLanguage("Component Pascal", listOf("componentpascal", "cp"), listOf("*.cp", "*.cps")), + LatexMintedLanguage("Bash Session", listOf("console", "shell-session"), listOf("*.sh-session", "*.shell-session")), + LatexMintedLanguage("Coq", listOf("coq"), listOf("*.v")), + LatexMintedLanguage("cplint", listOf("cplint"), listOf("*.ecl", "*.prolog", "*.pro", "*.pl", "*.P", "*.lpad", "*.cpl")), + LatexMintedLanguage("C++", listOf("cpp", "c++"), listOf("*.cpp", "*.hpp", "*.c++", "*.h++", "*.cc", "*.hh", "*.cxx", "*.hxx", "*.C", "*.H", "*.cp", "*.CPP", "*.tpp")), + LatexMintedLanguage("cpp-objdump", listOf("cpp-objdump", "c++-objdumb", "cxx-objdump"), listOf("*.cpp-objdump", "*.c++-objdump", "*.cxx-objdump")), + LatexMintedLanguage("CPSA", listOf("cpsa"), listOf("*.cpsa")), + LatexMintedLanguage("Crystal", listOf("cr", "crystal"), listOf("*.cr")), + LatexMintedLanguage("Crmsh", listOf("crmsh", "pcmk"), listOf("*.crmsh", "*.pcmk")), + LatexMintedLanguage("Croc", listOf("croc"), listOf("*.croc")), + LatexMintedLanguage("Cryptol", listOf("cryptol", "cry"), listOf("*.cry")), + LatexMintedLanguage("C#", listOf("csharp", "c#", "cs"), listOf("*.cs")), + LatexMintedLanguage("Csound Orchestra", listOf("csound", "csound-orc"), listOf("*.orc", "*.udo")), + LatexMintedLanguage("Csound Document", listOf("csound-document", "csound-csd"), listOf("*.csd")), + LatexMintedLanguage("Csound Score", listOf("csound-score", "csound-sco"), listOf("*.sco")), + LatexMintedLanguage("CSS+Django/Jinja", listOf("css+django", "css+jinja"), listOf("*.css.j2", "*.css.jinja2")), + LatexMintedLanguage("CSS+Genshi Text", listOf("css+genshitext", "css+genshi"), listOf()), + LatexMintedLanguage("CSS+Lasso", listOf("css+lasso"), listOf()), + LatexMintedLanguage("CSS+Mako", listOf("css+mako"), listOf()), + LatexMintedLanguage("CSS+Mako", listOf("css+mako"), listOf()), + LatexMintedLanguage("CSS+mozpreproc", listOf("css+mozpreproc"), listOf("*.css.in")), + LatexMintedLanguage("CSS+Myghty", listOf("css+myghty"), listOf()), + LatexMintedLanguage("CSS+PHP", listOf("css+php"), listOf()), + LatexMintedLanguage("CSS+Ruby", listOf("css+ruby", "css+erb"), listOf()), + LatexMintedLanguage("CSS+Smarty", listOf("css+smarty"), listOf()), + LatexMintedLanguage("CSS+UL4", listOf("css+ul4"), listOf("*.cssul4")), + LatexMintedLanguage("CSS", listOf("css"), listOf("*.css")), + LatexMintedLanguage("CUDA", listOf("cuda", "cu"), listOf("*.cu", "*.cuh")), + LatexMintedLanguage("Cypher", listOf("cypher"), listOf("*.cyp", "*.cypher")), + LatexMintedLanguage("Cython", listOf("cython", "pyx", "pyrex"), listOf("*.pyx", "*.pxd", "*.pxi")), + LatexMintedLanguage("d-objdump", listOf("d-objdump"), listOf("*.d-objdump")), + LatexMintedLanguage("D", listOf("d"), listOf("*.d", "*.di")), + LatexMintedLanguage("Dart", listOf("dart"), listOf("*.dart")), + LatexMintedLanguage("DASM16", listOf("dasm16"), listOf("*.dasm16", "*.dasm")), + LatexMintedLanguage("Dax", listOf("dax"), listOf("*.dax")), + LatexMintedLanguage("Debian Control file", listOf("debcontrol", "control"), listOf("control")), + LatexMintedLanguage("Debian Sourcelist", listOf("debsources", "sourceslist", "sources.list"), listOf("sources.list")), + LatexMintedLanguage("Delphi", listOf("delphi", "pas", "pascal", "objectpascal"), listOf("*.pas", "*.dpr")), + LatexMintedLanguage("Desktop file", listOf("desktop"), listOf("*.desktop")), + LatexMintedLanguage("Devicetree", listOf("devicetree", "dts"), listOf("*.dts", "*.dtsi")), + LatexMintedLanguage("dg", listOf("dg"), listOf("*.dg")), + LatexMintedLanguage("Diff", listOf("diff", "udiff"), listOf("*.diff", "*.patch")), + LatexMintedLanguage("Django/Jinja", listOf("django", "jinja"), listOf()), + LatexMintedLanguage("Docker", listOf("docker", "dockerfile"), listOf("Dockerfile", "*.docker")), + LatexMintedLanguage("MSDOS Session", listOf("doscon"), listOf()), + LatexMintedLanguage("Darcs Patch", listOf("dpatch"), listOf("*.dpatch", "*.darcspatch")), + LatexMintedLanguage("DTD", listOf("dtd"), listOf("*.dtd")), + LatexMintedLanguage("Duel", listOf("duel", "jbst", "jsonml+bst"), listOf("*.duel", "*.jbst")), + LatexMintedLanguage("Dylan session", listOf("dylan-console", "dylan-repl"), listOf("*.dylan-console")), + LatexMintedLanguage("DylanLID", listOf("dylan-lid", "lid"), listOf("*.lid", "*.hdp")), + LatexMintedLanguage("Dylan", listOf("dylan"), listOf("*.dylan", "*.dyl", "*.intr")), + LatexMintedLanguage("Earl Grey", listOf("earl-grey", "earlgrey", "eg"), listOf("*.eg")), + LatexMintedLanguage("Easytrieve", listOf("easytrieve"), listOf("*.ezt", "*.mac")), + LatexMintedLanguage("EBNF", listOf("ebnf"), listOf("*.ebnf")), + LatexMintedLanguage("eC", listOf("ec"), listOf("*.ec", "*.eh")), + LatexMintedLanguage("ECL", listOf("ecl"), listOf("*.ecl")), + LatexMintedLanguage("Eiffel", listOf("eiffel"), listOf("*.e")), + LatexMintedLanguage("Elixir", listOf("elixir", "ex", "exs"), listOf("*.ex", "*.eex", "*.exs", "*.leex")), + LatexMintedLanguage("Elm", listOf("elm"), listOf("*.elm")), + LatexMintedLanguage("Elpi", listOf("elpi"), listOf("*.elpi")), + LatexMintedLanguage("EmacsLisp", listOf("emacs-lisp", "elisp", "emacs"), listOf("*.el")), + LatexMintedLanguage("E-mail", listOf("email", "eml"), listOf("*.eml")), + LatexMintedLanguage("ERB", listOf("erb"), listOf()), + LatexMintedLanguage("Erlang erl session", listOf("erl"), listOf("*.erl-sh")), + LatexMintedLanguage("Erlang", listOf("erlang"), listOf("*.erl", "*.hrl", "*.es", "*.escript")), + LatexMintedLanguage("Evoque", listOf("evoque"), listOf("*.evoque")), + LatexMintedLanguage("execline", listOf("execline"), listOf("*.exec")), + LatexMintedLanguage("xtlang", listOf("extempore"), listOf("*.xtm")), + LatexMintedLanguage("Ezhil", listOf("ezhil"), listOf("*.n")), + LatexMintedLanguage("Factor", listOf("factor"), listOf("*.factor")), + LatexMintedLanguage("Fantom", listOf("fan"), listOf("*.fan")), + LatexMintedLanguage("Fancy", listOf("fancy", "fy"), listOf("*.fy", "*.fancypack")), + LatexMintedLanguage("Felix", listOf("felix", "flx"), listOf("*.flx", "*.flxh")), + LatexMintedLanguage("Fennel", listOf("fennel", "fnl"), listOf("*.fnl")), + LatexMintedLanguage("Fift", listOf("fift", "fif"), listOf("*.fif")), + LatexMintedLanguage("Fish", listOf("fish", "fishshell"), listOf("*.fish", "*.load")), + LatexMintedLanguage("Flatline", listOf("flatline"), listOf()), + LatexMintedLanguage("FloScript", listOf("floscript", "flo"), listOf("*.flo")), + LatexMintedLanguage("Forth", listOf("forth"), listOf("*.frt", "*.fs")), + LatexMintedLanguage("Fortran", listOf("fortran", "f90"), listOf("*.f03", "*.f90", "*.F03", "*.F90")), + LatexMintedLanguage("FortranFixed", listOf("fortranfixed"), listOf("*.f", "*.F")), + LatexMintedLanguage("FoxPro", listOf("foxpro", "vfp", "clipper", "xbase"), listOf("*.PRG", "*.prg")), + LatexMintedLanguage("Freefem", listOf("freefem"), listOf("*.edp")), + LatexMintedLanguage("F#", listOf("fsharp", "f#"), listOf("*.fs", "*.fsi", "*.fsx")), + LatexMintedLanguage("FStar", listOf("fstar"), listOf("*.fst", "*.fsti")), + LatexMintedLanguage("FunC", listOf("func", "fc"), listOf("*.fc", "*.func")), + LatexMintedLanguage("Futhark", listOf("futhark"), listOf("*.fut")), + LatexMintedLanguage("GAP session", listOf("gap-console", "gap-repl"), listOf("*.tst")), + LatexMintedLanguage("GAP", listOf("gap"), listOf("*.g", "*.gd", "*.gi", "*.gap")), + LatexMintedLanguage("GAS", listOf("gas", "asm"), listOf("*.s", "*.S")), + LatexMintedLanguage("g-code", listOf("gcode"), listOf("*.gcode")), + LatexMintedLanguage("GDScript", listOf("gdscript", "gd"), listOf("*.gd")), + LatexMintedLanguage("Genshi", listOf("genshi", "kid", "xml+genshi", "xml+kid"), listOf("*.kid")), + LatexMintedLanguage("Genshi Text", listOf("genshitext"), listOf()), + LatexMintedLanguage("Gherkin", listOf("gherkin", "cucumber"), listOf("*.feature")), + LatexMintedLanguage("GLSL", listOf("glsl"), listOf("*.vert", "*.frag", "*.geo")), + LatexMintedLanguage("Gnuplot", listOf("gnuplot"), listOf("*.plot", "*.plt")), + LatexMintedLanguage("Go", listOf("go", "golang"), listOf("*.go")), + LatexMintedLanguage("Golo", listOf("golo"), listOf("*.golo")), + LatexMintedLanguage("GoodData-CL", listOf("gooddata-cl"), listOf("*.gdc")), + LatexMintedLanguage("Gosu", listOf("gosu"), listOf("*.gs", "*.gsx", "*.gsp", "*.vark")), + LatexMintedLanguage("GraphQL", listOf("graphql"), listOf("*.graphql")), + LatexMintedLanguage("Graphviz", listOf("graphviz", "dot"), listOf("*.gv", "*.dot")), + LatexMintedLanguage("Groff", listOf("groff", "nroff", "man"), listOf("*.[1-9]", "*.man", "*.1p", "*.3pm")), + LatexMintedLanguage("Groovy", listOf("groovy"), listOf("*.groovy", "*.gradle")), + LatexMintedLanguage("GSQL", listOf("gsql"), listOf("*.gsql")), + LatexMintedLanguage("Gosu Template", listOf("gst"), listOf("*.gst")), + LatexMintedLanguage("Haml", listOf("haml"), listOf("*.haml")), + LatexMintedLanguage("Handlebars", listOf("handlebars"), listOf()), + LatexMintedLanguage("Haskell", listOf("haskell", "hs"), listOf("*.hs")), + LatexMintedLanguage("Haxe", listOf("haxe", "hxsl", "hx"), listOf("*.hx", "*.hxsl")), + LatexMintedLanguage("Hxml", listOf("haxeml", "hxml"), listOf("*.hxml")), + LatexMintedLanguage("Hexdump", listOf("hexdump"), listOf()), + LatexMintedLanguage("HLSL", listOf("hlsl"), listOf("*.hlsl", "*.hlsli")), + LatexMintedLanguage("HSAIL", listOf("hsail", "hsa"), listOf("*.hsail")), + LatexMintedLanguage("Hspec", listOf("hspec"), listOf("*Spec.hs")), + LatexMintedLanguage("HTML+Cheetah", listOf("html+cheetah", "html+spitfire", "htmlcheetah"), listOf()), + LatexMintedLanguage("HTML+Django/Jinja", listOf("html+django", "html+jinja", "htmldjango"), listOf("*.html.j2", "*.htm.j2", "*.xhtml.j2", "*.html.jinja2", "*.htm.jinja2", "*.xhtml.jinja2")), + LatexMintedLanguage("HTML+Evoque", listOf("html+evoque"), listOf("*.html")), + LatexMintedLanguage("HTML+Genshi", listOf("html+genshi", "html+kid"), listOf()), + LatexMintedLanguage("HTML+Handlebars", listOf("html+handlebars"), listOf("*.handlebars", "*.hbs")), + LatexMintedLanguage("HTML+Lasso", listOf("html+lasso"), listOf()), + LatexMintedLanguage("HTML+Mako", listOf("html+mako"), listOf()), + LatexMintedLanguage("HTML+Mako", listOf("html+mako"), listOf()), + LatexMintedLanguage("HTML+Myghty", listOf("html+myghty"), listOf()), + LatexMintedLanguage("HTML + Angular2", listOf("html+ng2"), listOf("*.ng2")), + LatexMintedLanguage("HTML+PHP", listOf("html+php"), listOf("*.phtml")), + LatexMintedLanguage("HTML+Smarty", listOf("html+smarty"), listOf()), + LatexMintedLanguage("HTML+Twig", listOf("html+twig"), listOf("*.twig")), + LatexMintedLanguage("HTML+UL4", listOf("html+ul4"), listOf("*.htmlul4")), + LatexMintedLanguage("HTML+Velocity", listOf("html+velocity"), listOf()), + LatexMintedLanguage("HTML", listOf("html"), listOf("*.html", "*.htm", "*.xhtml", "*.xslt")), + LatexMintedLanguage("HTTP", listOf("http"), listOf()), + LatexMintedLanguage("Hybris", listOf("hybris", "hy"), listOf("*.hy", "*.hyb")), + LatexMintedLanguage("Hy", listOf("hylang"), listOf("*.hy")), + LatexMintedLanguage("Inform 6 template", listOf("i6t"), listOf("*.i6t")), + LatexMintedLanguage("Icon", listOf("icon"), listOf("*.icon", "*.ICON")), + LatexMintedLanguage("IDL", listOf("idl"), listOf("*.pro")), + LatexMintedLanguage("Idris", listOf("idris", "idr"), listOf("*.idr")), + LatexMintedLanguage("Elixir iex session", listOf("iex"), listOf()), + LatexMintedLanguage("Igor", listOf("igor", "igorpro"), listOf("*.ipf")), + LatexMintedLanguage("Inform 6", listOf("inform6", "i6"), listOf("*.inf")), + LatexMintedLanguage("Inform 7", listOf("inform7", "i7"), listOf("*.ni", "*.i7x")), + LatexMintedLanguage("INI", listOf("ini", "cfg", "dosini"), listOf("*.ini", "*.cfg", "*.inf", ".editorconfig")), + LatexMintedLanguage("Io", listOf("io"), listOf("*.io")), + LatexMintedLanguage("Ioke", listOf("ioke", "ik"), listOf("*.ik")), + LatexMintedLanguage("IPython", listOf("ipython2", "ipython"), listOf()), + LatexMintedLanguage("IPython3", listOf("ipython3"), listOf()), + LatexMintedLanguage("IPython console session", listOf("ipythonconsole"), listOf()), + LatexMintedLanguage("IRC logs", listOf("irc"), listOf("*.weechatlog")), + LatexMintedLanguage("Isabelle", listOf("isabelle"), listOf("*.thy")), + LatexMintedLanguage("J", listOf("j"), listOf("*.ijs")), + LatexMintedLanguage("JAGS", listOf("jags"), listOf("*.jag", "*.bug")), + LatexMintedLanguage("Jasmin", listOf("jasmin", "jasminxt"), listOf("*.j")), + LatexMintedLanguage("Java", listOf("java"), listOf("*.java")), + LatexMintedLanguage("JavaScript+Cheetah", listOf("javascript+cheetah", "js+cheetah", "javascript+spitfire", "js+spitfire"), listOf()), + LatexMintedLanguage("JavaScript+Django/Jinja", listOf("javascript+django", "js+django", "javascript+jinja", "js+jinja"), listOf("*.js.j2", "*.js.jinja2")), + LatexMintedLanguage("JavaScript+Lasso", listOf("javascript+lasso", "js+lasso"), listOf()), + LatexMintedLanguage("JavaScript+Mako", listOf("javascript+mako", "js+mako"), listOf()), + LatexMintedLanguage("Javascript+mozpreproc", listOf("javascript+mozpreproc"), listOf("*.js.in")), + LatexMintedLanguage("JavaScript+Myghty", listOf("javascript+myghty", "js+myghty"), listOf()), + LatexMintedLanguage("JavaScript+PHP", listOf("javascript+php", "js+php"), listOf()), + LatexMintedLanguage("JavaScript+Ruby", listOf("javascript+ruby", "js+ruby", "javascript+erb", "js+erb"), listOf()), + LatexMintedLanguage("JavaScript+Smarty", listOf("javascript+smarty", "js+smarty"), listOf()), + LatexMintedLanguage("JavaScript", listOf("javascript", "js"), listOf("*.js", "*.jsm", "*.mjs", "*.cjs")), + LatexMintedLanguage("JCL", listOf("jcl"), listOf("*.jcl")), + LatexMintedLanguage("Julia console", listOf("jlcon", "julia-repl"), listOf()), + LatexMintedLanguage("JMESPath", listOf("jmespath", "jp"), listOf("*.jp")), + LatexMintedLanguage("JavaScript+Genshi Text", listOf("js+genshitext", "js+genshi", "javascript+genshitext", "javascript+genshi"), listOf()), + LatexMintedLanguage("JavaScript+Mako", listOf("js+mako", "javascript+mako"), listOf()), + LatexMintedLanguage("Javascript+UL4", listOf("js+ul4"), listOf("*.jsul4")), + LatexMintedLanguage("JSGF", listOf("jsgf"), listOf("*.jsgf")), + LatexMintedLanguage("JSLT", listOf("jslt"), listOf("*.jslt")), + LatexMintedLanguage("JSON", listOf("json", "json-object"), listOf("*.json", "*.jsonl", "*.ndjson", "Pipfile.lock")), + LatexMintedLanguage("JSON-LD", listOf("jsonld", "json-ld"), listOf("*.jsonld")), + LatexMintedLanguage("Jsonnet", listOf("jsonnet"), listOf("*.jsonnet", "*.libsonnet")), + LatexMintedLanguage("Java Server Page", listOf("jsp"), listOf("*.jsp")), + LatexMintedLanguage("JSX", listOf("jsx", "react"), listOf("*.jsx", "*.react")), + LatexMintedLanguage("Julia", listOf("julia", "jl"), listOf("*.jl")), + LatexMintedLanguage("Juttle", listOf("juttle"), listOf("*.juttle")), + LatexMintedLanguage("K", listOf("k"), listOf("*.k")), + LatexMintedLanguage("Kal", listOf("kal"), listOf("*.kal")), + LatexMintedLanguage("Kconfig", listOf("kconfig", "menuconfig", "linux-config", "kernel-config"), listOf("Kconfig*", "*Config.in*", "external.in*", "standard-modules.in")), + LatexMintedLanguage("Kernel log", listOf("kmsg", "dmesg"), listOf("*.kmsg", "*.dmesg")), + LatexMintedLanguage("Koka", listOf("koka"), listOf("*.kk", "*.kki")), + LatexMintedLanguage("Kotlin", listOf("kotlin"), listOf("*.kt", "*.kts")), + LatexMintedLanguage("Kusto", listOf("kql", "kusto"), listOf("*.kql", "*.kusto", ".csl")), + LatexMintedLanguage("Kuin", listOf("kuin"), listOf("*.kn")), + LatexMintedLanguage("Lasso", listOf("lasso", "lassoscript"), listOf("*.lasso", "*.lasso[89]")), + LatexMintedLanguage("LDAP configuration file", listOf("ldapconf", "ldaprc"), listOf(".ldaprc", "ldaprc", "ldap.conf")), + LatexMintedLanguage("LDIF", listOf("ldif"), listOf("*.ldif")), + LatexMintedLanguage("Lean", listOf("lean", "lean3"), listOf("*.lean")), + LatexMintedLanguage("LessCss", listOf("less"), listOf("*.less")), + LatexMintedLanguage("Lighttpd configuration file", listOf("lighttpd", "lighty"), listOf("lighttpd.conf")), + LatexMintedLanguage("LilyPond", listOf("lilypond"), listOf("*.ly")), + LatexMintedLanguage("Limbo", listOf("limbo"), listOf("*.b")), + LatexMintedLanguage("liquid", listOf("liquid"), listOf("*.liquid")), + LatexMintedLanguage("Literate Agda", listOf("literate-agda", "lagda"), listOf("*.lagda")), + LatexMintedLanguage("Literate Cryptol", listOf("literate-cryptol", "lcryptol", "lcry"), listOf("*.lcry")), + LatexMintedLanguage("Literate Haskell", listOf("literate-haskell", "lhaskell", "lhs"), listOf("*.lhs")), + LatexMintedLanguage("Literate Idris", listOf("literate-idris", "lidris", "lidr"), listOf("*.lidr")), + LatexMintedLanguage("LiveScript", listOf("livescript", "live-script"), listOf("*.ls")), + LatexMintedLanguage("LLVM-MIR Body", listOf("llvm-mir-body"), listOf()), + LatexMintedLanguage("LLVM-MIR", listOf("llvm-mir"), listOf("*.mir")), + LatexMintedLanguage("LLVM", listOf("llvm"), listOf("*.ll")), + LatexMintedLanguage("Logos", listOf("logos"), listOf("*.x", "*.xi", "*.xm", "*.xmi")), + LatexMintedLanguage("Logtalk", listOf("logtalk"), listOf("*.lgt", "*.logtalk")), + LatexMintedLanguage("LSL", listOf("lsl"), listOf("*.lsl")), + LatexMintedLanguage("Lua", listOf("lua"), listOf("*.lua", "*.wlua")), + LatexMintedLanguage("Macaulay2", listOf("macaulay2"), listOf("*.m2")), + LatexMintedLanguage("Makefile", listOf("make", "makefile", "mf", "bsdmake"), listOf("*.mak", "*.mk", "Makefile", "makefile", "Makefile.*", "GNUmakefile")), + LatexMintedLanguage("Mako", listOf("mako"), listOf("*.mao")), + LatexMintedLanguage("Mako", listOf("mako"), listOf("*.mao")), + LatexMintedLanguage("MAQL", listOf("maql"), listOf("*.maql")), + LatexMintedLanguage("Markdown", listOf("markdown", "md"), listOf("*.md", "*.markdown")), + LatexMintedLanguage("Mask", listOf("mask"), listOf("*.mask")), + LatexMintedLanguage("Mason", listOf("mason"), listOf("*.m", "*.mhtml", "*.mc", "*.mi", "autohandler", "dhandler")), + LatexMintedLanguage("Mathematica", listOf("mathematica", "mma", "nb"), listOf("*.nb", "*.cdf", "*.nbp", "*.ma")), + LatexMintedLanguage("Matlab", listOf("matlab"), listOf("*.m")), + LatexMintedLanguage("Matlab session", listOf("matlabsession"), listOf()), + LatexMintedLanguage("Maxima", listOf("maxima", "macsyma"), listOf("*.mac", "*.max")), + LatexMintedLanguage("MCFunction", listOf("mcfunction", "mcf"), listOf("*.mcfunction")), + LatexMintedLanguage("MCSchema", listOf("mcschema"), listOf("*.mcschema")), + LatexMintedLanguage("Meson", listOf("meson", "meson.build"), listOf("meson.build", "meson_options.txt")), + LatexMintedLanguage("MIME", listOf("mime"), listOf()), + LatexMintedLanguage("MiniD", listOf("minid"), listOf()), + LatexMintedLanguage("MiniScript", listOf("miniscript", "ms"), listOf("*.ms")), + LatexMintedLanguage("MIPS", listOf("mips"), listOf("*.mips", "*.MIPS")), + LatexMintedLanguage("Modelica", listOf("modelica"), listOf("*.mo")), + LatexMintedLanguage("Modula-2", listOf("modula2", "m2"), listOf("*.def", "*.mod")), + LatexMintedLanguage("Monkey", listOf("monkey"), listOf("*.monkey")), + LatexMintedLanguage("Monte", listOf("monte"), listOf("*.mt")), + LatexMintedLanguage("MOOCode", listOf("moocode", "moo"), listOf("*.moo")), + LatexMintedLanguage("MoonScript", listOf("moonscript", "moon"), listOf("*.moon")), + LatexMintedLanguage("Mosel", listOf("mosel"), listOf("*.mos")), + LatexMintedLanguage("mozhashpreproc", listOf("mozhashpreproc"), listOf()), + LatexMintedLanguage("mozpercentpreproc", listOf("mozpercentpreproc"), listOf()), + LatexMintedLanguage("MQL", listOf("mql", "mq4", "mq5", "mql4", "mql5"), listOf("*.mq4", "*.mq5", "*.mqh")), + LatexMintedLanguage("Mscgen", listOf("mscgen", "msc"), listOf("*.msc")), + LatexMintedLanguage("MuPAD", listOf("mupad"), listOf("*.mu")), + LatexMintedLanguage("MXML", listOf("mxml"), listOf("*.mxml")), + LatexMintedLanguage("Myghty", listOf("myghty"), listOf("*.myt", "autodelegate")), + LatexMintedLanguage("MySQL", listOf("mysql"), listOf()), + LatexMintedLanguage("NASM", listOf("nasm"), listOf("*.asm", "*.ASM", "*.nasm")), + LatexMintedLanguage("NCL", listOf("ncl"), listOf("*.ncl")), + LatexMintedLanguage("Nemerle", listOf("nemerle"), listOf("*.n")), + LatexMintedLanguage("nesC", listOf("nesc"), listOf("*.nc")), + LatexMintedLanguage("NestedText", listOf("nestedtext", "nt"), listOf("*.nt")), + LatexMintedLanguage("NewLisp", listOf("newlisp"), listOf("*.lsp", "*.nl", "*.kif")), + LatexMintedLanguage("Newspeak", listOf("newspeak"), listOf("*.ns2")), + LatexMintedLanguage("Angular2", listOf("ng2"), listOf()), + LatexMintedLanguage("Nginx configuration file", listOf("nginx"), listOf("nginx.conf")), + LatexMintedLanguage("Nimrod", listOf("nimrod", "nim"), listOf("*.nim", "*.nimrod")), + LatexMintedLanguage("Nit", listOf("nit"), listOf("*.nit")), + LatexMintedLanguage("Nix", listOf("nixos", "nix"), listOf("*.nix")), + LatexMintedLanguage("Node.js REPL console session", listOf("nodejsrepl"), listOf()), + LatexMintedLanguage("Notmuch", listOf("notmuch"), listOf()), + LatexMintedLanguage("NSIS", listOf("nsis", "nsi", "nsh"), listOf("*.nsi", "*.nsh")), + LatexMintedLanguage("NumPy", listOf("numpy"), listOf()), + LatexMintedLanguage("NuSMV", listOf("nusmv"), listOf("*.smv")), + LatexMintedLanguage("objdump-nasm", listOf("objdump-nasm"), listOf("*.objdump-intel")), + LatexMintedLanguage("objdump", listOf("objdump"), listOf("*.objdump")), + LatexMintedLanguage("Objective-C++", listOf("objective-c++", "objectivec++", "obj-c++", "objc++"), listOf("*.mm", "*.hh")), + LatexMintedLanguage("Objective-C", listOf("objective-c", "objectivec", "obj-c", "objc"), listOf("*.m", "*.h")), + LatexMintedLanguage("Objective-J", listOf("objective-j", "objectivej", "obj-j", "objj"), listOf("*.j")), + LatexMintedLanguage("OCaml", listOf("ocaml"), listOf("*.ml", "*.mli", "*.mll", "*.mly")), + LatexMintedLanguage("Octave", listOf("octave"), listOf("*.m")), + LatexMintedLanguage("ODIN", listOf("odin"), listOf("*.odin")), + LatexMintedLanguage("OMG Interface Definition Language", listOf("omg-idl"), listOf("*.idl", "*.pidl")), + LatexMintedLanguage("Ooc", listOf("ooc"), listOf("*.ooc")), + LatexMintedLanguage("Opa", listOf("opa"), listOf("*.opa")), + LatexMintedLanguage("OpenEdge ABL", listOf("openedge", "abl", "progress"), listOf("*.p", "*.cls")), + LatexMintedLanguage("OpenSCAD", listOf("openscad"), listOf("*.scad")), + LatexMintedLanguage("Text output", listOf("output"), listOf()), + LatexMintedLanguage("PacmanConf", listOf("pacmanconf"), listOf("pacman.conf")), + LatexMintedLanguage("Pan", listOf("pan"), listOf("*.pan")), + LatexMintedLanguage("ParaSail", listOf("parasail"), listOf("*.psi", "*.psl")), + LatexMintedLanguage("Pawn", listOf("pawn"), listOf("*.p", "*.pwn", "*.inc")), + LatexMintedLanguage("PEG", listOf("peg"), listOf("*.peg")), + LatexMintedLanguage("Perl", listOf("perl", "pl"), listOf("*.pl", "*.pm", "*.t", "*.perl")), + LatexMintedLanguage("Perl6", listOf("perl6", "pl6", "raku"), listOf("*.pl", "*.pm", "*.nqp", "*.p6", "*.6pl", "*.p6l", "*.pl6", "*.6pm", "*.p6m", "*.pm6", "*.t", "*.raku", "*.rakumod", "*.rakutest", "*.rakudoc")), + LatexMintedLanguage("Phix", listOf("phix"), listOf("*.exw")), + LatexMintedLanguage("PHP", listOf("php", "php3", "php4", "php5"), listOf("*.php", "*.php[345]", "*.inc")), + LatexMintedLanguage("Pig", listOf("pig"), listOf("*.pig")), + LatexMintedLanguage("Pike", listOf("pike"), listOf("*.pike", "*.pmod")), + LatexMintedLanguage("PkgConfig", listOf("pkgconfig"), listOf("*.pc")), + LatexMintedLanguage("PL/pgSQL", listOf("plpgsql"), listOf()), + LatexMintedLanguage("Pointless", listOf("pointless"), listOf("*.ptls")), + LatexMintedLanguage("Pony", listOf("pony"), listOf("*.pony")), + LatexMintedLanguage("Portugol", listOf("portugol"), listOf("*.alg", "*.portugol")), + LatexMintedLanguage("PostgreSQL EXPLAIN dialect", listOf("postgres-explain"), listOf("*.explain")), + LatexMintedLanguage("PostgreSQL SQL dialect", listOf("postgresql", "postgres"), listOf()), + LatexMintedLanguage("PostScript", listOf("postscript", "postscr"), listOf("*.ps", "*.eps")), + LatexMintedLanguage("Gettext Catalog", listOf("pot", "po"), listOf("*.pot", "*.po")), + LatexMintedLanguage("POVRay", listOf("pov"), listOf("*.pov", "*.inc")), + LatexMintedLanguage("PowerShell", listOf("powershell", "pwsh", "posh", "ps1", "psm1"), listOf("*.ps1", "*.psm1")), + LatexMintedLanguage("Praat", listOf("praat"), listOf("*.praat", "*.proc", "*.psc")), + LatexMintedLanguage("Procfile", listOf("procfile"), listOf("Procfile")), + LatexMintedLanguage("Prolog", listOf("prolog"), listOf("*.ecl", "*.prolog", "*.pro", "*.pl")), + LatexMintedLanguage("PromQL", listOf("promql"), listOf("*.promql")), + LatexMintedLanguage("Properties", listOf("properties", "jproperties"), listOf("*.properties")), + LatexMintedLanguage("Protocol Buffer", listOf("protobuf", "proto"), listOf("*.proto")), + LatexMintedLanguage("PRQL", listOf("prql"), listOf("*.prql")), + LatexMintedLanguage("PostgreSQL console (psql", listOf("psql", "postgresql-console", "postgres-console"), listOf()), + LatexMintedLanguage("PsySH console session for PHP", listOf("psysh"), listOf()), + LatexMintedLanguage("PTX", listOf("ptx"), listOf("*.ptx")), + LatexMintedLanguage("Pug", listOf("pug", "jade"), listOf("*.pug", "*.jade")), + LatexMintedLanguage("Puppet", listOf("puppet"), listOf("*.pp")), + LatexMintedLanguage("PowerShell Session", listOf("pwsh-session", "ps1con"), listOf()), + LatexMintedLanguage("Python+UL4", listOf("py+ul4"), listOf("*.pyul4")), + LatexMintedLanguage("Python 2.x Traceback", listOf("py2tb"), listOf("*.py2tb")), + LatexMintedLanguage("Python console session", listOf("pycon"), listOf()), + LatexMintedLanguage("PyPy Log", listOf("pypylog", "pypy"), listOf("*.pypylog")), + LatexMintedLanguage("Python Traceback", listOf("pytb", "py3tb"), listOf("*.pytb", "*.py3tb")), + LatexMintedLanguage("Python", listOf("python", "py", "sage", "python3", "py3", "bazel", "starlark"), listOf("*.py", "*.pyw", "*.pyi", "*.jy", "*.sage", "*.sc", "SConstruct", "SConscript", "*.bzl", "BUCK", "BUILD", "BUILD.bazel", "WORKSPACE", "*.tac")), + LatexMintedLanguage("Python 2.x", listOf("python2", "py2"), listOf()), + LatexMintedLanguage("Q", listOf("q"), listOf("*.q")), + LatexMintedLanguage("QBasic", listOf("qbasic", "basic"), listOf("*.BAS", "*.bas")), + LatexMintedLanguage("Qlik", listOf("qlik", "qlikview", "qliksense", "qlikscript"), listOf("*.qvs", "*.qvw")), + LatexMintedLanguage("QML", listOf("qml", "qbs"), listOf("*.qml", "*.qbs")), + LatexMintedLanguage("QVTO", listOf("qvto", "qvt"), listOf("*.qvto")), + LatexMintedLanguage("Racket", listOf("racket", "rkt"), listOf("*.rkt", "*.rktd", "*.rktl")), + LatexMintedLanguage("Ragel in C Host", listOf("ragel-c"), listOf("*.rl")), + LatexMintedLanguage("Ragel in CPP Host", listOf("ragel-cpp"), listOf("*.rl")), + LatexMintedLanguage("Ragel in D Host", listOf("ragel-d"), listOf("*.rl")), + LatexMintedLanguage("Embedded Ragel", listOf("ragel-em"), listOf("*.rl")), + LatexMintedLanguage("Ragel in Java Host", listOf("ragel-java"), listOf("*.rl")), + LatexMintedLanguage("Ragel in Objective C Host", listOf("ragel-objc"), listOf("*.rl")), + LatexMintedLanguage("Ragel in Ruby Host", listOf("ragel-ruby", "ragel-rb"), listOf("*.rl")), + LatexMintedLanguage("Ragel", listOf("ragel"), listOf()), + LatexMintedLanguage("Ruby irb session", listOf("rbcon", "irb"), listOf()), + LatexMintedLanguage("RConsole", listOf("rconsole", "rout"), listOf("*.Rout")), + LatexMintedLanguage("Rd", listOf("rd"), listOf("*.Rd")), + LatexMintedLanguage("ReasonML", listOf("reasonml", "reason"), listOf("*.re", "*.rei")), + LatexMintedLanguage("REBOL", listOf("rebol"), listOf("*.r", "*.r3", "*.reb")), + LatexMintedLanguage("Red", listOf("red", "red/system"), listOf("*.red", "*.reds")), + LatexMintedLanguage("Redcode", listOf("redcode"), listOf("*.cw")), + LatexMintedLanguage("reg", listOf("registry"), listOf("*.reg")), + LatexMintedLanguage("ResourceBundle", listOf("resourcebundle", "resource"), listOf()), + LatexMintedLanguage("reStructuredText", listOf("restructuredtext", "rst", "rest"), listOf("*.rst", "*.rest")), + LatexMintedLanguage("Rexx", listOf("rexx", "arexx"), listOf("*.rexx", "*.rex", "*.rx", "*.arexx")), + LatexMintedLanguage("RHTML", listOf("rhtml", "html+erb", "html+ruby"), listOf("*.rhtml")), + LatexMintedLanguage("Ride", listOf("ride"), listOf("*.ride")), + LatexMintedLanguage("Rita", listOf("rita"), listOf("*.rita")), + LatexMintedLanguage("Relax-NG Compact", listOf("rng-compact", "rnc"), listOf("*.rnc")), + LatexMintedLanguage("Roboconf Graph", listOf("roboconf-graph"), listOf("*.graph")), + LatexMintedLanguage("Roboconf Instances", listOf("roboconf-instances"), listOf("*.instances")), + LatexMintedLanguage("RobotFramework", listOf("robotframework"), listOf("*.robot", "*.resource")), + LatexMintedLanguage("RQL", listOf("rql"), listOf("*.rql")), + LatexMintedLanguage("RSL", listOf("rsl"), listOf("*.rsl")), + LatexMintedLanguage("Ruby", listOf("ruby", "rb", "duby"), listOf("*.rb", "*.rbw", "Rakefile", "*.rake", "*.gemspec", "*.rbx", "*.duby", "Gemfile", "Vagrantfile")), + LatexMintedLanguage("Rust", listOf("rust", "rs"), listOf("*.rs", "*.rs.in")), + LatexMintedLanguage("SARL", listOf("sarl"), listOf("*.sarl")), + LatexMintedLanguage("SAS", listOf("sas"), listOf("*.SAS", "*.sas")), + LatexMintedLanguage("Sass", listOf("sass"), listOf("*.sass")), + LatexMintedLanguage("Savi", listOf("savi"), listOf("*.savi")), + LatexMintedLanguage("Scala", listOf("scala"), listOf("*.scala")), + LatexMintedLanguage("Scaml", listOf("scaml"), listOf("*.scaml")), + LatexMintedLanguage("scdoc", listOf("scdoc", "scd"), listOf("*.scd", "*.scdoc")), + LatexMintedLanguage("Scheme", listOf("scheme", "scm"), listOf("*.scm", "*.ss")), + LatexMintedLanguage("Scilab", listOf("scilab"), listOf("*.sci", "*.sce", "*.tst")), + LatexMintedLanguage("SCSS", listOf("scss"), listOf("*.scss")), + LatexMintedLanguage("Sed", listOf("sed", "gsed", "ssed"), listOf("*.sed", "*.[gs]sed")), + LatexMintedLanguage("SmartGameFormat", listOf("sgf"), listOf("*.sgf")), + LatexMintedLanguage("Shen", listOf("shen"), listOf("*.shen")), + LatexMintedLanguage("ShExC", listOf("shexc", "shex"), listOf("*.shex")), + LatexMintedLanguage("Sieve", listOf("sieve"), listOf("*.siv", "*.sieve")), + LatexMintedLanguage("Silver", listOf("silver"), listOf("*.sil", "*.vpr")), + LatexMintedLanguage("Singularity", listOf("singularity"), listOf("*.def", "Singularity")), + LatexMintedLanguage("Slash", listOf("slash"), listOf("*.sla")), + LatexMintedLanguage("Slim", listOf("slim"), listOf("*.slim")), + LatexMintedLanguage("Slurm", listOf("slurm", "sbatch"), listOf("*.sl")), + LatexMintedLanguage("Smali", listOf("smali"), listOf("*.smali")), + LatexMintedLanguage("Smalltalk", listOf("smalltalk", "squeak", "st"), listOf("*.st")), + LatexMintedLanguage("Smarty", listOf("smarty"), listOf("*.tpl")), + LatexMintedLanguage("Smithy", listOf("smithy"), listOf("*.smithy")), + LatexMintedLanguage("Standard ML", listOf("sml"), listOf("*.sml", "*.sig", "*.fun")), + LatexMintedLanguage("SNBT", listOf("snbt"), listOf("*.snbt")), + LatexMintedLanguage("Snobol", listOf("snobol"), listOf("*.snobol")), + LatexMintedLanguage("Snowball", listOf("snowball"), listOf("*.sbl")), + LatexMintedLanguage("Solidity", listOf("solidity"), listOf("*.sol")), + LatexMintedLanguage("Sophia", listOf("sophia"), listOf("*.aes")), + LatexMintedLanguage("SourcePawn", listOf("sp"), listOf("*.sp")), + LatexMintedLanguage("SPARQL", listOf("sparql"), listOf("*.rq", "*.sparql")), + LatexMintedLanguage("RPMSpec", listOf("spec"), listOf("*.spec")), + LatexMintedLanguage("Spice", listOf("spice", "spicelang"), listOf("*.spice")), + LatexMintedLanguage("S", listOf("splus", "s", "r"), listOf("*.S", "*.R", ".Rhistory", ".Rprofile", ".Renviron")), + LatexMintedLanguage("SQL+Jinja", listOf("sql+jinja"), listOf("*.sql", "*.sql.j2", "*.sql.jinja2")), + LatexMintedLanguage("SQL", listOf("sql"), listOf("*.sql")), + LatexMintedLanguage("sqlite3con", listOf("sqlite3"), listOf("*.sqlite3-console")), + LatexMintedLanguage("SquidConf", listOf("squidconf", "squid.conf", "squid"), listOf("squid.conf")), + LatexMintedLanguage("Srcinfo", listOf("srcinfo"), listOf(".SRCINFO")), + LatexMintedLanguage("Scalate Server Page", listOf("ssp"), listOf("*.ssp")), + LatexMintedLanguage("Stan", listOf("stan"), listOf("*.stan")), + LatexMintedLanguage("Stata", listOf("stata", "do"), listOf("*.do", "*.ado")), + LatexMintedLanguage("SuperCollider", listOf("supercollider", "sc"), listOf("*.sc", "*.scd")), + LatexMintedLanguage("Swift", listOf("swift"), listOf("*.swift")), + LatexMintedLanguage("SWIG", listOf("swig"), listOf("*.swg", "*.i")), + LatexMintedLanguage("Systemd", listOf("systemd"), listOf("*.service", "*.socket", "*.device", "*.mount", "*.automount", "*.swap", "*.target", "*.path", "*.timer", "*.slice", "*.scope")), + LatexMintedLanguage("systemverilog", listOf("systemverilog", "sv"), listOf("*.sv", "*.svh")), + LatexMintedLanguage("TADS 3", listOf("tads3"), listOf("*.t")), + LatexMintedLanguage("Tal", listOf("tal", "uxntal"), listOf("*.tal")), + LatexMintedLanguage("TAP", listOf("tap"), listOf("*.tap")), + LatexMintedLanguage("TASM", listOf("tasm"), listOf("*.asm", "*.ASM", "*.tasm")), + LatexMintedLanguage("Tcl", listOf("tcl"), listOf("*.tcl", "*.rvt")), + LatexMintedLanguage("Tcsh", listOf("tcsh", "csh"), listOf("*.tcsh", "*.csh")), + LatexMintedLanguage("Tcsh Session", listOf("tcshcon"), listOf()), + LatexMintedLanguage("Tea", listOf("tea"), listOf("*.tea")), + LatexMintedLanguage("teal", listOf("teal"), listOf("*.teal")), + LatexMintedLanguage("Tera Term macro", listOf("teratermmacro", "teraterm", "ttl"), listOf("*.ttl")), + LatexMintedLanguage("Termcap", listOf("termcap"), listOf("termcap", "termcap.src")), + LatexMintedLanguage("Terminfo", listOf("terminfo"), listOf("terminfo", "terminfo.src")), + LatexMintedLanguage("Terraform", listOf("terraform", "tf", "hcl"), listOf("*.tf", "*.hcl")), + LatexMintedLanguage("TeX", listOf("tex", "latex"), listOf("*.tex", "*.aux", "*.toc")), + LatexMintedLanguage("Text only", listOf("text"), listOf("*.txt")), + LatexMintedLanguage("Thrift", listOf("thrift"), listOf("*.thrift")), + LatexMintedLanguage("ThingsDB", listOf("ti", "thingsdb"), listOf("*.ti")), + LatexMintedLanguage("tiddler", listOf("tid"), listOf("*.tid")), + LatexMintedLanguage("Tl-b", listOf("tlb"), listOf("*.tlb")), + LatexMintedLanguage("TLS Presentation Language", listOf("tls"), listOf()), + LatexMintedLanguage("Typographic Number Theory", listOf("tnt"), listOf("*.tnt")), + LatexMintedLanguage("Todotxt", listOf("todotxt"), listOf("todo.txt", "*.todotxt")), + LatexMintedLanguage("TOML", listOf("toml"), listOf("*.toml", "Pipfile", "poetry.lock")), + LatexMintedLanguage("MoinMoin/Trac Wiki markup", listOf("trac-wiki", "moin"), listOf()), + LatexMintedLanguage("TrafficScript", listOf("trafficscript", "rts"), listOf("*.rts")), + LatexMintedLanguage("Treetop", listOf("treetop"), listOf("*.treetop", "*.tt")), + LatexMintedLanguage("Transact-SQL", listOf("tsql", "t-sql"), listOf("*.sql")), + LatexMintedLanguage("Turtle", listOf("turtle"), listOf("*.ttl")), + LatexMintedLanguage("Twig", listOf("twig"), listOf()), + LatexMintedLanguage("TypeScript", listOf("typescript", "ts"), listOf("*.ts")), + LatexMintedLanguage("TypoScript", listOf("typoscript"), listOf("*.typoscript")), + LatexMintedLanguage("TypoScriptCssData", listOf("typoscriptcssdata"), listOf()), + LatexMintedLanguage("TypoScriptHtmlData", listOf("typoscripthtmldata"), listOf()), + LatexMintedLanguage("ucode", listOf("ucode"), listOf("*.u", "*.u1", "*.u2")), + LatexMintedLanguage("UL4", listOf("ul4"), listOf("*.ul4")), + LatexMintedLanguage("Unicon", listOf("unicon"), listOf("*.icn")), + LatexMintedLanguage("Unix/Linux config files", listOf("unixconfig", "linuxconfig"), listOf()), + LatexMintedLanguage("UrbiScript", listOf("urbiscript"), listOf("*.u")), + LatexMintedLanguage("urlencoded", listOf("urlencoded"), listOf()), + LatexMintedLanguage("USD", listOf("usd", "usda"), listOf("*.usd", "*.usda")), + LatexMintedLanguage("Vala", listOf("vala", "vapi"), listOf("*.vala", "*.vapi")), + LatexMintedLanguage("VB.net", listOf("vb.net", "vbnet", "lobas", "oobas", "sobas"), listOf("*.vb", "*.bas")), + LatexMintedLanguage("VBScript", listOf("vbscript"), listOf("*.vbs", "*.VBS")), + LatexMintedLanguage("VCL", listOf("vcl"), listOf("*.vcl")), + LatexMintedLanguage("VCLSnippets", listOf("vclsnippets", "vclsnippet"), listOf()), + LatexMintedLanguage("VCTreeStatus", listOf("vctreestatus"), listOf()), + LatexMintedLanguage("Velocity", listOf("velocity"), listOf("*.vm", "*.fhtml")), + LatexMintedLanguage("Verifpal", listOf("verifpal"), listOf("*.vp")), + LatexMintedLanguage("verilog", listOf("verilog", "v"), listOf("*.v")), + LatexMintedLanguage("VGL", listOf("vgl"), listOf("*.rpf")), + LatexMintedLanguage("vhdl", listOf("vhdl"), listOf("*.vhdl", "*.vhd")), + LatexMintedLanguage("VimL", listOf("vim"), listOf("*.vim", ".vimrc", ".exrc", ".gvimrc", "_vimrc", "_exrc", "_gvimrc", "vimrc", "gvimrc")), + LatexMintedLanguage("Visual Prolog", listOf("visualprolog"), listOf("*.pro", "*.cl", "*.i", "*.pack", "*.ph")), + LatexMintedLanguage("Visual Prolog Grammar", listOf("visualprologgrammar"), listOf("*.vipgrm")), + LatexMintedLanguage("Vyper", listOf("vyper"), listOf("*.vy")), + LatexMintedLanguage("WebAssembly", listOf("wast", "wat"), listOf("*.wat", "*.wast")), + LatexMintedLanguage("WDiff", listOf("wdiff"), listOf("*.wdiff")), + LatexMintedLanguage("Web IDL", listOf("webidl"), listOf("*.webidl")), + LatexMintedLanguage("WebGPU Shading Language", listOf("wgsl"), listOf("*.wgsl")), + LatexMintedLanguage("Whiley", listOf("whiley"), listOf("*.whiley")), + LatexMintedLanguage("Wikitext", listOf("wikitext", "mediawiki"), listOf()), + LatexMintedLanguage("World of Warcraft TOC", listOf("wowtoc"), listOf("*.toc")), + LatexMintedLanguage("Wren", listOf("wren"), listOf("*.wren")), + LatexMintedLanguage("X10", listOf("x10", "xten"), listOf("*.x10")), + LatexMintedLanguage("XML+Cheetah", listOf("xml+cheetah", "xml+spitfire"), listOf()), + LatexMintedLanguage("XML+Django/Jinja", listOf("xml+django", "xml+jinja"), listOf("*.xml.j2", "*.xml.jinja2")), + LatexMintedLanguage("XML+Evoque", listOf("xml+evoque"), listOf("*.xml")), + LatexMintedLanguage("XML+Lasso", listOf("xml+lasso"), listOf()), + LatexMintedLanguage("XML+Mako", listOf("xml+mako"), listOf()), + LatexMintedLanguage("XML+Mako", listOf("xml+mako"), listOf()), + LatexMintedLanguage("XML+Myghty", listOf("xml+myghty"), listOf()), + LatexMintedLanguage("XML+PHP", listOf("xml+php"), listOf()), + LatexMintedLanguage("XML+Ruby", listOf("xml+ruby", "xml+erb"), listOf()), + LatexMintedLanguage("XML+Smarty", listOf("xml+smarty"), listOf()), + LatexMintedLanguage("XML+UL4", listOf("xml+ul4"), listOf("*.xmlul4")), + LatexMintedLanguage("XML+Velocity", listOf("xml+velocity"), listOf()), + LatexMintedLanguage("XML", listOf("xml"), listOf("*.xml", "*.xsl", "*.rss", "*.xslt", "*.xsd", "*.wsdl", "*.wsf")), + LatexMintedLanguage("Xorg", listOf("xorg.conf"), listOf("xorg.conf")), + LatexMintedLanguage("X++", listOf("xpp", "x++"), listOf("*.xpp")), + LatexMintedLanguage("XQuery", listOf("xquery", "xqy", "xq", "xql", "xqm"), listOf("*.xqy", "*.xquery", "*.xq", "*.xql", "*.xqm")), + LatexMintedLanguage("XSLT", listOf("xslt"), listOf("*.xsl", "*.xslt", "*.xpl")), + LatexMintedLanguage("Xtend", listOf("xtend"), listOf("*.xtend")), + LatexMintedLanguage("XUL+mozpreproc", listOf("xul+mozpreproc"), listOf("*.xul.in")), + LatexMintedLanguage("YAML+Jinja", listOf("yaml+jinja", "salt", "sls"), listOf("*.sls", "*.yaml.j2", "*.yml.j2", "*.yaml.jinja2", "*.yml.jinja2")), + LatexMintedLanguage("YAML", listOf("yaml"), listOf("*.yaml", "*.yml")), + LatexMintedLanguage("YANG", listOf("yang"), listOf("*.yang")), + LatexMintedLanguage("YARA", listOf("yara", "yar"), listOf("*.yar")), + LatexMintedLanguage("Zeek", listOf("zeek", "bro"), listOf("*.zeek", "*.bro")), + LatexMintedLanguage("Zephir", listOf("zephir"), listOf("*.zep")), + LatexMintedLanguage("Zig", listOf("zig"), listOf("*.zig")), + LatexMintedLanguage("Zone", listOf("zone"), listOf("*.zone")), + ) + + override fun addCompletions(parameters: CompletionParameters, context: ProcessingContext, result: CompletionResultSet) { + result.addAllElements( + LANGUAGES.map { lang -> lang.createLookupElement() }.flatten() + ) + } +} + +class LatexMintedLanguage( + val languageName: String, + val languageAbbr: List, + val fileExtensions: List, +) { + fun createLookupElement(): List { + return languageAbbr.map { + LookupElementBuilder.create(it) + .withPresentableText(it) + .bold() + .withLookupStrings(listOf(languageName)) + .withTailText(" ($languageName)", false) + .withCaseSensitivity(false) + .withAutoCompletionPolicy(AutoCompletionPolicy.ALWAYS_AUTOCOMPLETE) + } + } +} \ No newline at end of file diff --git a/src/nl/hannahsten/texifyidea/completion/pathcompletion/LatexPathProviderBase.kt b/src/nl/hannahsten/texifyidea/completion/pathcompletion/LatexPathProviderBase.kt index 5b1062969..84b3fa6d3 100644 --- a/src/nl/hannahsten/texifyidea/completion/pathcompletion/LatexPathProviderBase.kt +++ b/src/nl/hannahsten/texifyidea/completion/pathcompletion/LatexPathProviderBase.kt @@ -170,7 +170,7 @@ abstract class LatexPathProviderBase : CompletionProvider( * add file to autocompletion dialog */ private fun addFileCompletion(baseDir: String, foundFile: VirtualFile) { - if (validExtensions != null) { + if (validExtensions != null && validExtensions!!.isNotEmpty() && validExtensions!![0].isNotEmpty()) { if (validExtensions!!.contains(foundFile.extension).not()) return } diff --git a/src/nl/hannahsten/texifyidea/lang/commands/Argument.kt b/src/nl/hannahsten/texifyidea/lang/commands/Argument.kt index 71c81ca97..5567ebfc0 100644 --- a/src/nl/hannahsten/texifyidea/lang/commands/Argument.kt +++ b/src/nl/hannahsten/texifyidea/lang/commands/Argument.kt @@ -4,6 +4,7 @@ import com.intellij.codeInsight.completion.CompletionParameters import com.intellij.codeInsight.completion.CompletionProvider import nl.hannahsten.texifyidea.completion.LatexBibliographyStyleProvider import nl.hannahsten.texifyidea.completion.LatexListTypeProvider +import nl.hannahsten.texifyidea.completion.LatexMintedTypeProvider /** * @author Sten Wessel @@ -53,5 +54,7 @@ abstract class Argument @JvmOverloads protected constructor(val name: String, va * enumerate, itemize, etc. */ LIST_ENVIRONMENT(completionProvider = LatexListTypeProvider), + + MINTED_FUNTIME_LAND(completionProvider = LatexMintedTypeProvider), } } diff --git a/src/nl/hannahsten/texifyidea/lang/commands/LatexGenericRegularCommand.kt b/src/nl/hannahsten/texifyidea/lang/commands/LatexGenericRegularCommand.kt index 6adaaffeb..dd7cf76e3 100644 --- a/src/nl/hannahsten/texifyidea/lang/commands/LatexGenericRegularCommand.kt +++ b/src/nl/hannahsten/texifyidea/lang/commands/LatexGenericRegularCommand.kt @@ -144,6 +144,7 @@ enum class LatexGenericRegularCommand( INCLUDEFROM("includefrom", RequiredFolderArgument("absolute path"), RequiredFileArgument("filename", false, false, "tex"), dependency = LatexPackage.IMPORT), INPUT("input", RequiredFileArgument("sourcefile", true, false, "tex")), INPUTFROM("inputfrom", RequiredFolderArgument("absolute path"), RequiredFileArgument("filename", false, false, "tex"), dependency = LatexPackage.IMPORT), + INPUTMINTED("inputminted", "language".asRequired(Argument.Type.MINTED_FUNTIME_LAND), RequiredFileArgument("sourcefile", true, false, "")), INCLUDEGRAPHICS("includegraphics", "key-val-list".asOptional(), RequiredPicturePathArgument("imagefile", isAbsolutePathSupported = true, commaSeparatesArguments = false, FileMagic.graphicFileExtensions), dependency = GRAPHICX), INCLUDEONLY("includeonly", RequiredFileArgument("sourcefile", false, true, "tex")), INDEXNAME("indexname", "name".asRequired()), From cab2f9b328dc19ea9669ca3f7763ee4e6d83d21a Mon Sep 17 00:00:00 2001 From: jojo2357 <66704796+jojo2357@users.noreply.github.com> Date: Sat, 4 May 2024 18:22:38 -0600 Subject: [PATCH 2/4] QOL improvements --- .../texifyidea/completion/LatexMintedTypeProvider.kt | 9 ++------- src/nl/hannahsten/texifyidea/lang/DefaultEnvironment.kt | 1 + src/nl/hannahsten/texifyidea/lang/LatexPackage.kt | 1 + .../lang/commands/LatexGenericRegularCommand.kt | 2 +- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt b/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt index 9be2d35b7..fc81341f1 100644 --- a/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt +++ b/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt @@ -3,13 +3,9 @@ package nl.hannahsten.texifyidea.completion import com.intellij.codeInsight.completion.CompletionParameters import com.intellij.codeInsight.completion.CompletionProvider import com.intellij.codeInsight.completion.CompletionResultSet -import com.intellij.codeInsight.lookup.AutoCompletionPolicy import com.intellij.codeInsight.lookup.LookupElement import com.intellij.codeInsight.lookup.LookupElementBuilder -import com.intellij.codeInsight.lookup.LookupElementPresentation import com.intellij.util.ProcessingContext -import nl.hannahsten.texifyidea.TexifyIcons - /** * @author Hannah Schellekens @@ -616,12 +612,11 @@ class LatexMintedLanguage( fun createLookupElement(): List { return languageAbbr.map { LookupElementBuilder.create(it) - .withPresentableText(it) + .withPresentableText(languageName) .bold() .withLookupStrings(listOf(languageName)) - .withTailText(" ($languageName)", false) .withCaseSensitivity(false) - .withAutoCompletionPolicy(AutoCompletionPolicy.ALWAYS_AUTOCOMPLETE) + .withTypeText(it) } } } \ No newline at end of file diff --git a/src/nl/hannahsten/texifyidea/lang/DefaultEnvironment.kt b/src/nl/hannahsten/texifyidea/lang/DefaultEnvironment.kt index 48c43863b..e4a620906 100644 --- a/src/nl/hannahsten/texifyidea/lang/DefaultEnvironment.kt +++ b/src/nl/hannahsten/texifyidea/lang/DefaultEnvironment.kt @@ -150,6 +150,7 @@ enum class DefaultEnvironment( LONGTBLR(environmentName = "longtblr", dependency = LatexPackage.TABULARRAY, arguments = arrayOf(OptionalArgument("outer"), RequiredArgument("inner"))), LUACODE(environmentName = "luacode", dependency = LatexPackage.LUACODE), LUACODE_STAR(environmentName = "luacode*", dependency = LatexPackage.LUACODE), + MINTED(environmentName = "minted", dependency = LatexPackage.MINTED), PYCODE(environmentName = "pycode", dependency = LatexPackage.PYTHONTEX), TALLTBLR(environmentName = "talltblr", dependency = LatexPackage.TABULARRAY, arguments = arrayOf(OptionalArgument("outer"), RequiredArgument("inner"))), TBLR(environmentName = "tblr", dependency = LatexPackage.TABULARRAY, arguments = arrayOf(OptionalArgument("outer"), RequiredArgument("inner"))), diff --git a/src/nl/hannahsten/texifyidea/lang/LatexPackage.kt b/src/nl/hannahsten/texifyidea/lang/LatexPackage.kt index 770e38d1d..c89983ebd 100644 --- a/src/nl/hannahsten/texifyidea/lang/LatexPackage.kt +++ b/src/nl/hannahsten/texifyidea/lang/LatexPackage.kt @@ -67,6 +67,7 @@ open class LatexPackage @JvmOverloads constructor( val MARVOSYM = LatexPackage("marvosym") val MATHABX = LatexPackage("mathabx") val MATHTOOLS = LatexPackage("mathtools") + val MINTED = LatexPackage("minted") val MULTIND = LatexPackage("multind") val NATBIB = LatexPackage("natbib") val NEWTXMATH = LatexPackage("newtxmath") diff --git a/src/nl/hannahsten/texifyidea/lang/commands/LatexGenericRegularCommand.kt b/src/nl/hannahsten/texifyidea/lang/commands/LatexGenericRegularCommand.kt index dd7cf76e3..1bb635fcd 100644 --- a/src/nl/hannahsten/texifyidea/lang/commands/LatexGenericRegularCommand.kt +++ b/src/nl/hannahsten/texifyidea/lang/commands/LatexGenericRegularCommand.kt @@ -144,7 +144,7 @@ enum class LatexGenericRegularCommand( INCLUDEFROM("includefrom", RequiredFolderArgument("absolute path"), RequiredFileArgument("filename", false, false, "tex"), dependency = LatexPackage.IMPORT), INPUT("input", RequiredFileArgument("sourcefile", true, false, "tex")), INPUTFROM("inputfrom", RequiredFolderArgument("absolute path"), RequiredFileArgument("filename", false, false, "tex"), dependency = LatexPackage.IMPORT), - INPUTMINTED("inputminted", "language".asRequired(Argument.Type.MINTED_FUNTIME_LAND), RequiredFileArgument("sourcefile", true, false, "")), + INPUTMINTED("inputminted", "language".asRequired(Argument.Type.MINTED_FUNTIME_LAND), RequiredFileArgument("sourcefile", true, false, ""), dependency = LatexPackage.MINTED), INCLUDEGRAPHICS("includegraphics", "key-val-list".asOptional(), RequiredPicturePathArgument("imagefile", isAbsolutePathSupported = true, commaSeparatesArguments = false, FileMagic.graphicFileExtensions), dependency = GRAPHICX), INCLUDEONLY("includeonly", RequiredFileArgument("sourcefile", false, true, "tex")), INDEXNAME("indexname", "name".asRequired()), From 098de7fd5f7a0ed44692e53a25b01dea39da4142 Mon Sep 17 00:00:00 2001 From: jojo2357 <66704796+jojo2357@users.noreply.github.com> Date: Fri, 26 Jul 2024 23:29:29 -0600 Subject: [PATCH 3/4] Blocking, on-the-fly language detection --- .../completion/LatexMintedTypeProvider.kt | 474 +----------------- 1 file changed, 18 insertions(+), 456 deletions(-) diff --git a/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt b/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt index fc81341f1..6d3aa9c12 100644 --- a/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt +++ b/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt @@ -6,597 +6,159 @@ import com.intellij.codeInsight.completion.CompletionResultSet import com.intellij.codeInsight.lookup.LookupElement import com.intellij.codeInsight.lookup.LookupElementBuilder import com.intellij.util.ProcessingContext +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.jsonArray +import kotlinx.serialization.json.jsonObject +import kotlinx.serialization.json.jsonPrimitive +import nl.hannahsten.texifyidea.util.runCommandWithExitCode /** * @author Hannah Schellekens */ object LatexMintedTypeProvider : CompletionProvider() { - private val LANGUAGES = setOf( + private val FALLBACK_LANGUAGES = setOf( LatexMintedLanguage("JSONBareObject", listOf(""), listOf()), LatexMintedLanguage("Raw token data", listOf(""), listOf()), LatexMintedLanguage("ABAP", listOf("abap"), listOf("*.abap", "*.ABAP")), - LatexMintedLanguage("ABNF", listOf("abnf"), listOf("*.abnf")), LatexMintedLanguage("ActionScript", listOf("actionscript", "as"), listOf("*.as")), - LatexMintedLanguage("ActionScript 3", listOf("actionscript3", "as3"), listOf("*.as")), LatexMintedLanguage("Ada", listOf("ada", "ada95", "ada2005"), listOf("*.adb", "*.ads", "*.ada")), - LatexMintedLanguage("ADL", listOf("adl"), listOf("*.adl", "*.adls", "*.adlf", "*.adlx")), - LatexMintedLanguage("Agda", listOf("agda"), listOf("*.agda")), - LatexMintedLanguage("Aheui", listOf("aheui"), listOf("*.aheui")), - LatexMintedLanguage("Alloy", listOf("alloy"), listOf("*.als")), - LatexMintedLanguage("AmbientTalk", listOf("ambienttalk", "ambienttalk/2", "at"), listOf("*.at")), - LatexMintedLanguage("AMDGPU", listOf("amdgpu"), listOf("*.isa")), - LatexMintedLanguage("Ampl", listOf("ampl"), listOf("*.run")), - LatexMintedLanguage("ANSYS parametric design language", listOf("ansys", "apdl"), listOf("*.ans")), - LatexMintedLanguage("ANTLR With ActionScript Target", listOf("antlr-actionscript", "antlr-as"), listOf("*.G", "*.g")), - LatexMintedLanguage("ANTLR With CPP Target", listOf("antlr-cpp"), listOf("*.G", "*.g")), - LatexMintedLanguage("ANTLR With C# Target", listOf("antlr-csharp", "antlr-c#"), listOf("*.G", "*.g")), - LatexMintedLanguage("ANTLR With Java Target", listOf("antlr-java"), listOf("*.G", "*.g")), - LatexMintedLanguage("ANTLR With ObjectiveC Target", listOf("antlr-objc"), listOf("*.G", "*.g")), - LatexMintedLanguage("ANTLR With Perl Target", listOf("antlr-perl"), listOf("*.G", "*.g")), - LatexMintedLanguage("ANTLR With Python Target", listOf("antlr-python"), listOf("*.G", "*.g")), - LatexMintedLanguage("ANTLR With Ruby Target", listOf("antlr-ruby", "antlr-rb"), listOf("*.G", "*.g")), LatexMintedLanguage("ANTLR", listOf("antlr"), listOf()), LatexMintedLanguage("ApacheConf", listOf("apacheconf", "aconf", "apache"), listOf(".htaccess", "apache.conf", "apache2.conf")), - LatexMintedLanguage("APL", listOf("apl"), listOf("*.apl", "*.aplf", "*.aplo", "*.apln", "*.aplc", "*.apli", "*.dyalog")), LatexMintedLanguage("AppleScript", listOf("applescript"), listOf("*.applescript")), - LatexMintedLanguage("Arduino", listOf("arduino"), listOf("*.ino")), - LatexMintedLanguage("Arrow", listOf("arrow"), listOf("*.arw")), - LatexMintedLanguage("Arturo", listOf("arturo", "art"), listOf("*.art")), - LatexMintedLanguage("ASCII armored", listOf("asc", "pem"), listOf("*.asc", "*.pem", "id_dsa", "id_ecdsa", "id_ecdsa_sk", "id_ed25519", "id_ed25519_sk", "id_rsa")), - LatexMintedLanguage("ASN.1", listOf("asn1"), listOf("*.asn1")), LatexMintedLanguage("AspectJ", listOf("aspectj"), listOf("*.aj")), - LatexMintedLanguage("aspx-cs", listOf("aspx-cs"), listOf("*.aspx", "*.asax", "*.ascx", "*.ashx", "*.asmx", "*.axd")), - LatexMintedLanguage("aspx-vb", listOf("aspx-vb"), listOf("*.aspx", "*.asax", "*.ascx", "*.ashx", "*.asmx", "*.axd")), LatexMintedLanguage("Asymptote", listOf("asymptote", "asy"), listOf("*.asy")), - LatexMintedLanguage("Augeas", listOf("augeas"), listOf("*.aug")), LatexMintedLanguage("autohotkey", listOf("autohotkey", "ahk"), listOf("*.ahk", "*.ahkl")), LatexMintedLanguage("AutoIt", listOf("autoit"), listOf("*.au3")), LatexMintedLanguage("Awk", listOf("awk", "gawk", "mawk", "nawk"), listOf("*.awk")), - LatexMintedLanguage("BARE", listOf("bare"), listOf("*.bare")), LatexMintedLanguage("Base Makefile", listOf("basemake"), listOf()), LatexMintedLanguage("Bash", listOf("bash", "sh", "ksh", "zsh", "shell"), listOf("*.sh", "*.ksh", "*.bash", "*.ebuild", "*.eclass", "*.exheres-0", "*.exlib", "*.zsh", ".bashrc", "bashrc", ".bash_*", "bash_*", "zshrc", ".zshrc", ".kshrc", "kshrc", "PKGBUILD")), LatexMintedLanguage("Batchfile", listOf("batch", "bat", "dosbatch", "winbatch"), listOf("*.bat", "*.cmd")), - LatexMintedLanguage("BBC Basic", listOf("bbcbasic"), listOf("*.bbc")), LatexMintedLanguage("BBCode", listOf("bbcode"), listOf()), - LatexMintedLanguage("BC", listOf("bc"), listOf("*.bc")), - LatexMintedLanguage("Bdd", listOf("bdd"), listOf("*.feature")), LatexMintedLanguage("Befunge", listOf("befunge"), listOf("*.befunge")), - LatexMintedLanguage("Berry", listOf("berry", "be"), listOf("*.be")), - LatexMintedLanguage("BibTeX", listOf("bibtex", "bib"), listOf("*.bib")), - LatexMintedLanguage("BlitzBasic", listOf("blitzbasic", "b3d", "bplus"), listOf("*.bb", "*.decls")), LatexMintedLanguage("BlitzMax", listOf("blitzmax", "bmax"), listOf("*.bmx")), - LatexMintedLanguage("Blueprint", listOf("blueprint"), listOf("*.blp")), - LatexMintedLanguage("BNF", listOf("bnf"), listOf("*.bnf")), - LatexMintedLanguage("Boa", listOf("boa"), listOf("*.boa")), LatexMintedLanguage("Boo", listOf("boo"), listOf("*.boo")), - LatexMintedLanguage("Boogie", listOf("boogie"), listOf("*.bpl")), - LatexMintedLanguage("BQN", listOf("bqn"), listOf("*.bqn")), LatexMintedLanguage("Brainfuck", listOf("brainfuck", "bf"), listOf("*.bf", "*.b")), - LatexMintedLanguage("BST", listOf("bst", "bst-pybtex"), listOf("*.bst")), LatexMintedLanguage("BUGS", listOf("bugs", "winbugs", "openbugs"), listOf("*.bug")), - LatexMintedLanguage("c-objdump", listOf("c-objdump"), listOf("*.c-objdump")), LatexMintedLanguage("C", listOf("c"), listOf("*.c", "*.h", "*.idc", "*.x[bp]m")), - LatexMintedLanguage("ca65 assembler", listOf("ca65"), listOf("*.s")), - LatexMintedLanguage("cADL", listOf("cadl"), listOf("*.cadl")), - LatexMintedLanguage("CAmkES", listOf("camkes", "idl4"), listOf("*.camkes", "*.idl4")), - LatexMintedLanguage("CapDL", listOf("capdl"), listOf("*.cdl")), - LatexMintedLanguage("Cap'n Proto", listOf("capnp"), listOf("*.capnp")), - LatexMintedLanguage("Carbon", listOf("carbon"), listOf("*.carbon")), - LatexMintedLanguage("CBM BASIC V2", listOf("cbmbas"), listOf("*.bas")), - LatexMintedLanguage("CDDL", listOf("cddl"), listOf("*.cddl")), LatexMintedLanguage("Ceylon", listOf("ceylon"), listOf("*.ceylon")), - LatexMintedLanguage("Coldfusion CFC", listOf("cfc"), listOf("*.cfc")), - LatexMintedLanguage("CFEngine3", listOf("cfengine3", "cf3"), listOf("*.cf")), LatexMintedLanguage("Coldfusion HTML", listOf("cfm"), listOf("*.cfm", "*.cfml")), LatexMintedLanguage("cfstatement", listOf("cfs"), listOf()), - LatexMintedLanguage("ChaiScript", listOf("chaiscript", "chai"), listOf("*.chai")), - LatexMintedLanguage("Chapel", listOf("chapel", "chpl"), listOf("*.chpl")), - LatexMintedLanguage("Charmci", listOf("charmci"), listOf("*.ci")), LatexMintedLanguage("Cheetah", listOf("cheetah", "spitfire"), listOf("*.tmpl", "*.spt")), - LatexMintedLanguage("Cirru", listOf("cirru"), listOf("*.cirru")), - LatexMintedLanguage("Clay", listOf("clay"), listOf("*.clay")), - LatexMintedLanguage("Clean", listOf("clean"), listOf("*.icl", "*.dcl")), LatexMintedLanguage("Clojure", listOf("clojure", "clj"), listOf("*.clj", "*.cljc")), - LatexMintedLanguage("ClojureScript", listOf("clojurescript", "cljs"), listOf("*.cljs")), LatexMintedLanguage("CMake", listOf("cmake"), listOf("*.cmake", "CMakeLists.txt")), LatexMintedLanguage("COBOL", listOf("cobol"), listOf("*.cob", "*.COB", "*.cpy", "*.CPY")), - LatexMintedLanguage("COBOLFree", listOf("cobolfree"), listOf("*.cbl", "*.CBL")), - LatexMintedLanguage("CoffeeScript", listOf("coffeescript", "coffee-script", "coffee"), listOf("*.coffee")), - LatexMintedLanguage("COMAL-80", listOf("comal", "comal80"), listOf("*.cml", "*.comal")), LatexMintedLanguage("Common Lisp", listOf("common-lisp", "cl", "lisp"), listOf("*.cl", "*.lisp")), - LatexMintedLanguage("Component Pascal", listOf("componentpascal", "cp"), listOf("*.cp", "*.cps")), LatexMintedLanguage("Bash Session", listOf("console", "shell-session"), listOf("*.sh-session", "*.shell-session")), LatexMintedLanguage("Coq", listOf("coq"), listOf("*.v")), - LatexMintedLanguage("cplint", listOf("cplint"), listOf("*.ecl", "*.prolog", "*.pro", "*.pl", "*.P", "*.lpad", "*.cpl")), LatexMintedLanguage("C++", listOf("cpp", "c++"), listOf("*.cpp", "*.hpp", "*.c++", "*.h++", "*.cc", "*.hh", "*.cxx", "*.hxx", "*.C", "*.H", "*.cp", "*.CPP", "*.tpp")), - LatexMintedLanguage("cpp-objdump", listOf("cpp-objdump", "c++-objdumb", "cxx-objdump"), listOf("*.cpp-objdump", "*.c++-objdump", "*.cxx-objdump")), - LatexMintedLanguage("CPSA", listOf("cpsa"), listOf("*.cpsa")), - LatexMintedLanguage("Crystal", listOf("cr", "crystal"), listOf("*.cr")), - LatexMintedLanguage("Crmsh", listOf("crmsh", "pcmk"), listOf("*.crmsh", "*.pcmk")), LatexMintedLanguage("Croc", listOf("croc"), listOf("*.croc")), - LatexMintedLanguage("Cryptol", listOf("cryptol", "cry"), listOf("*.cry")), LatexMintedLanguage("C#", listOf("csharp", "c#", "cs"), listOf("*.cs")), - LatexMintedLanguage("Csound Orchestra", listOf("csound", "csound-orc"), listOf("*.orc", "*.udo")), - LatexMintedLanguage("Csound Document", listOf("csound-document", "csound-csd"), listOf("*.csd")), - LatexMintedLanguage("Csound Score", listOf("csound-score", "csound-sco"), listOf("*.sco")), - LatexMintedLanguage("CSS+Django/Jinja", listOf("css+django", "css+jinja"), listOf("*.css.j2", "*.css.jinja2")), - LatexMintedLanguage("CSS+Genshi Text", listOf("css+genshitext", "css+genshi"), listOf()), - LatexMintedLanguage("CSS+Lasso", listOf("css+lasso"), listOf()), - LatexMintedLanguage("CSS+Mako", listOf("css+mako"), listOf()), - LatexMintedLanguage("CSS+Mako", listOf("css+mako"), listOf()), - LatexMintedLanguage("CSS+mozpreproc", listOf("css+mozpreproc"), listOf("*.css.in")), - LatexMintedLanguage("CSS+Myghty", listOf("css+myghty"), listOf()), - LatexMintedLanguage("CSS+PHP", listOf("css+php"), listOf()), - LatexMintedLanguage("CSS+Ruby", listOf("css+ruby", "css+erb"), listOf()), - LatexMintedLanguage("CSS+Smarty", listOf("css+smarty"), listOf()), - LatexMintedLanguage("CSS+UL4", listOf("css+ul4"), listOf("*.cssul4")), LatexMintedLanguage("CSS", listOf("css"), listOf("*.css")), LatexMintedLanguage("CUDA", listOf("cuda", "cu"), listOf("*.cu", "*.cuh")), - LatexMintedLanguage("Cypher", listOf("cypher"), listOf("*.cyp", "*.cypher")), - LatexMintedLanguage("Cython", listOf("cython", "pyx", "pyrex"), listOf("*.pyx", "*.pxd", "*.pxi")), - LatexMintedLanguage("d-objdump", listOf("d-objdump"), listOf("*.d-objdump")), LatexMintedLanguage("D", listOf("d"), listOf("*.d", "*.di")), - LatexMintedLanguage("Dart", listOf("dart"), listOf("*.dart")), - LatexMintedLanguage("DASM16", listOf("dasm16"), listOf("*.dasm16", "*.dasm")), - LatexMintedLanguage("Dax", listOf("dax"), listOf("*.dax")), LatexMintedLanguage("Debian Control file", listOf("debcontrol", "control"), listOf("control")), - LatexMintedLanguage("Debian Sourcelist", listOf("debsources", "sourceslist", "sources.list"), listOf("sources.list")), - LatexMintedLanguage("Delphi", listOf("delphi", "pas", "pascal", "objectpascal"), listOf("*.pas", "*.dpr")), - LatexMintedLanguage("Desktop file", listOf("desktop"), listOf("*.desktop")), - LatexMintedLanguage("Devicetree", listOf("devicetree", "dts"), listOf("*.dts", "*.dtsi")), LatexMintedLanguage("dg", listOf("dg"), listOf("*.dg")), LatexMintedLanguage("Diff", listOf("diff", "udiff"), listOf("*.diff", "*.patch")), LatexMintedLanguage("Django/Jinja", listOf("django", "jinja"), listOf()), - LatexMintedLanguage("Docker", listOf("docker", "dockerfile"), listOf("Dockerfile", "*.docker")), - LatexMintedLanguage("MSDOS Session", listOf("doscon"), listOf()), LatexMintedLanguage("Darcs Patch", listOf("dpatch"), listOf("*.dpatch", "*.darcspatch")), - LatexMintedLanguage("DTD", listOf("dtd"), listOf("*.dtd")), LatexMintedLanguage("Duel", listOf("duel", "jbst", "jsonml+bst"), listOf("*.duel", "*.jbst")), - LatexMintedLanguage("Dylan session", listOf("dylan-console", "dylan-repl"), listOf("*.dylan-console")), - LatexMintedLanguage("DylanLID", listOf("dylan-lid", "lid"), listOf("*.lid", "*.hdp")), LatexMintedLanguage("Dylan", listOf("dylan"), listOf("*.dylan", "*.dyl", "*.intr")), - LatexMintedLanguage("Earl Grey", listOf("earl-grey", "earlgrey", "eg"), listOf("*.eg")), - LatexMintedLanguage("Easytrieve", listOf("easytrieve"), listOf("*.ezt", "*.mac")), - LatexMintedLanguage("EBNF", listOf("ebnf"), listOf("*.ebnf")), LatexMintedLanguage("eC", listOf("ec"), listOf("*.ec", "*.eh")), - LatexMintedLanguage("ECL", listOf("ecl"), listOf("*.ecl")), - LatexMintedLanguage("Eiffel", listOf("eiffel"), listOf("*.e")), - LatexMintedLanguage("Elixir", listOf("elixir", "ex", "exs"), listOf("*.ex", "*.eex", "*.exs", "*.leex")), - LatexMintedLanguage("Elm", listOf("elm"), listOf("*.elm")), - LatexMintedLanguage("Elpi", listOf("elpi"), listOf("*.elpi")), - LatexMintedLanguage("EmacsLisp", listOf("emacs-lisp", "elisp", "emacs"), listOf("*.el")), - LatexMintedLanguage("E-mail", listOf("email", "eml"), listOf("*.eml")), LatexMintedLanguage("ERB", listOf("erb"), listOf()), - LatexMintedLanguage("Erlang erl session", listOf("erl"), listOf("*.erl-sh")), - LatexMintedLanguage("Erlang", listOf("erlang"), listOf("*.erl", "*.hrl", "*.es", "*.escript")), LatexMintedLanguage("Evoque", listOf("evoque"), listOf("*.evoque")), - LatexMintedLanguage("execline", listOf("execline"), listOf("*.exec")), - LatexMintedLanguage("xtlang", listOf("extempore"), listOf("*.xtm")), - LatexMintedLanguage("Ezhil", listOf("ezhil"), listOf("*.n")), - LatexMintedLanguage("Factor", listOf("factor"), listOf("*.factor")), LatexMintedLanguage("Fantom", listOf("fan"), listOf("*.fan")), LatexMintedLanguage("Fancy", listOf("fancy", "fy"), listOf("*.fy", "*.fancypack")), - LatexMintedLanguage("Felix", listOf("felix", "flx"), listOf("*.flx", "*.flxh")), - LatexMintedLanguage("Fennel", listOf("fennel", "fnl"), listOf("*.fnl")), - LatexMintedLanguage("Fift", listOf("fift", "fif"), listOf("*.fif")), - LatexMintedLanguage("Fish", listOf("fish", "fishshell"), listOf("*.fish", "*.load")), - LatexMintedLanguage("Flatline", listOf("flatline"), listOf()), - LatexMintedLanguage("FloScript", listOf("floscript", "flo"), listOf("*.flo")), - LatexMintedLanguage("Forth", listOf("forth"), listOf("*.frt", "*.fs")), LatexMintedLanguage("Fortran", listOf("fortran", "f90"), listOf("*.f03", "*.f90", "*.F03", "*.F90")), - LatexMintedLanguage("FortranFixed", listOf("fortranfixed"), listOf("*.f", "*.F")), - LatexMintedLanguage("FoxPro", listOf("foxpro", "vfp", "clipper", "xbase"), listOf("*.PRG", "*.prg")), - LatexMintedLanguage("Freefem", listOf("freefem"), listOf("*.edp")), - LatexMintedLanguage("F#", listOf("fsharp", "f#"), listOf("*.fs", "*.fsi", "*.fsx")), - LatexMintedLanguage("FStar", listOf("fstar"), listOf("*.fst", "*.fsti")), - LatexMintedLanguage("FunC", listOf("func", "fc"), listOf("*.fc", "*.func")), - LatexMintedLanguage("Futhark", listOf("futhark"), listOf("*.fut")), - LatexMintedLanguage("GAP session", listOf("gap-console", "gap-repl"), listOf("*.tst")), - LatexMintedLanguage("GAP", listOf("gap"), listOf("*.g", "*.gd", "*.gi", "*.gap")), LatexMintedLanguage("GAS", listOf("gas", "asm"), listOf("*.s", "*.S")), - LatexMintedLanguage("g-code", listOf("gcode"), listOf("*.gcode")), - LatexMintedLanguage("GDScript", listOf("gdscript", "gd"), listOf("*.gd")), LatexMintedLanguage("Genshi", listOf("genshi", "kid", "xml+genshi", "xml+kid"), listOf("*.kid")), - LatexMintedLanguage("Genshi Text", listOf("genshitext"), listOf()), LatexMintedLanguage("Gherkin", listOf("gherkin", "cucumber"), listOf("*.feature")), LatexMintedLanguage("GLSL", listOf("glsl"), listOf("*.vert", "*.frag", "*.geo")), LatexMintedLanguage("Gnuplot", listOf("gnuplot"), listOf("*.plot", "*.plt")), LatexMintedLanguage("Go", listOf("go", "golang"), listOf("*.go")), - LatexMintedLanguage("Golo", listOf("golo"), listOf("*.golo")), - LatexMintedLanguage("GoodData-CL", listOf("gooddata-cl"), listOf("*.gdc")), LatexMintedLanguage("Gosu", listOf("gosu"), listOf("*.gs", "*.gsx", "*.gsp", "*.vark")), - LatexMintedLanguage("GraphQL", listOf("graphql"), listOf("*.graphql")), - LatexMintedLanguage("Graphviz", listOf("graphviz", "dot"), listOf("*.gv", "*.dot")), - LatexMintedLanguage("Groff", listOf("groff", "nroff", "man"), listOf("*.[1-9]", "*.man", "*.1p", "*.3pm")), LatexMintedLanguage("Groovy", listOf("groovy"), listOf("*.groovy", "*.gradle")), - LatexMintedLanguage("GSQL", listOf("gsql"), listOf("*.gsql")), LatexMintedLanguage("Gosu Template", listOf("gst"), listOf("*.gst")), LatexMintedLanguage("Haml", listOf("haml"), listOf("*.haml")), - LatexMintedLanguage("Handlebars", listOf("handlebars"), listOf()), LatexMintedLanguage("Haskell", listOf("haskell", "hs"), listOf("*.hs")), LatexMintedLanguage("Haxe", listOf("haxe", "hxsl", "hx"), listOf("*.hx", "*.hxsl")), LatexMintedLanguage("Hxml", listOf("haxeml", "hxml"), listOf("*.hxml")), - LatexMintedLanguage("Hexdump", listOf("hexdump"), listOf()), - LatexMintedLanguage("HLSL", listOf("hlsl"), listOf("*.hlsl", "*.hlsli")), - LatexMintedLanguage("HSAIL", listOf("hsail", "hsa"), listOf("*.hsail")), - LatexMintedLanguage("Hspec", listOf("hspec"), listOf("*Spec.hs")), - LatexMintedLanguage("HTML+Cheetah", listOf("html+cheetah", "html+spitfire", "htmlcheetah"), listOf()), - LatexMintedLanguage("HTML+Django/Jinja", listOf("html+django", "html+jinja", "htmldjango"), listOf("*.html.j2", "*.htm.j2", "*.xhtml.j2", "*.html.jinja2", "*.htm.jinja2", "*.xhtml.jinja2")), - LatexMintedLanguage("HTML+Evoque", listOf("html+evoque"), listOf("*.html")), - LatexMintedLanguage("HTML+Genshi", listOf("html+genshi", "html+kid"), listOf()), - LatexMintedLanguage("HTML+Handlebars", listOf("html+handlebars"), listOf("*.handlebars", "*.hbs")), - LatexMintedLanguage("HTML+Lasso", listOf("html+lasso"), listOf()), - LatexMintedLanguage("HTML+Mako", listOf("html+mako"), listOf()), - LatexMintedLanguage("HTML+Mako", listOf("html+mako"), listOf()), - LatexMintedLanguage("HTML+Myghty", listOf("html+myghty"), listOf()), - LatexMintedLanguage("HTML + Angular2", listOf("html+ng2"), listOf("*.ng2")), - LatexMintedLanguage("HTML+PHP", listOf("html+php"), listOf("*.phtml")), - LatexMintedLanguage("HTML+Smarty", listOf("html+smarty"), listOf()), - LatexMintedLanguage("HTML+Twig", listOf("html+twig"), listOf("*.twig")), - LatexMintedLanguage("HTML+UL4", listOf("html+ul4"), listOf("*.htmlul4")), - LatexMintedLanguage("HTML+Velocity", listOf("html+velocity"), listOf()), LatexMintedLanguage("HTML", listOf("html"), listOf("*.html", "*.htm", "*.xhtml", "*.xslt")), LatexMintedLanguage("HTTP", listOf("http"), listOf()), - LatexMintedLanguage("Hybris", listOf("hybris", "hy"), listOf("*.hy", "*.hyb")), - LatexMintedLanguage("Hy", listOf("hylang"), listOf("*.hy")), - LatexMintedLanguage("Inform 6 template", listOf("i6t"), listOf("*.i6t")), - LatexMintedLanguage("Icon", listOf("icon"), listOf("*.icon", "*.ICON")), LatexMintedLanguage("IDL", listOf("idl"), listOf("*.pro")), - LatexMintedLanguage("Idris", listOf("idris", "idr"), listOf("*.idr")), - LatexMintedLanguage("Elixir iex session", listOf("iex"), listOf()), - LatexMintedLanguage("Igor", listOf("igor", "igorpro"), listOf("*.ipf")), - LatexMintedLanguage("Inform 6", listOf("inform6", "i6"), listOf("*.inf")), - LatexMintedLanguage("Inform 7", listOf("inform7", "i7"), listOf("*.ni", "*.i7x")), LatexMintedLanguage("INI", listOf("ini", "cfg", "dosini"), listOf("*.ini", "*.cfg", "*.inf", ".editorconfig")), - LatexMintedLanguage("Io", listOf("io"), listOf("*.io")), - LatexMintedLanguage("Ioke", listOf("ioke", "ik"), listOf("*.ik")), - LatexMintedLanguage("IPython", listOf("ipython2", "ipython"), listOf()), - LatexMintedLanguage("IPython3", listOf("ipython3"), listOf()), - LatexMintedLanguage("IPython console session", listOf("ipythonconsole"), listOf()), LatexMintedLanguage("IRC logs", listOf("irc"), listOf("*.weechatlog")), - LatexMintedLanguage("Isabelle", listOf("isabelle"), listOf("*.thy")), - LatexMintedLanguage("J", listOf("j"), listOf("*.ijs")), - LatexMintedLanguage("JAGS", listOf("jags"), listOf("*.jag", "*.bug")), - LatexMintedLanguage("Jasmin", listOf("jasmin", "jasminxt"), listOf("*.j")), LatexMintedLanguage("Java", listOf("java"), listOf("*.java")), - LatexMintedLanguage("JavaScript+Cheetah", listOf("javascript+cheetah", "js+cheetah", "javascript+spitfire", "js+spitfire"), listOf()), - LatexMintedLanguage("JavaScript+Django/Jinja", listOf("javascript+django", "js+django", "javascript+jinja", "js+jinja"), listOf("*.js.j2", "*.js.jinja2")), - LatexMintedLanguage("JavaScript+Lasso", listOf("javascript+lasso", "js+lasso"), listOf()), - LatexMintedLanguage("JavaScript+Mako", listOf("javascript+mako", "js+mako"), listOf()), - LatexMintedLanguage("Javascript+mozpreproc", listOf("javascript+mozpreproc"), listOf("*.js.in")), - LatexMintedLanguage("JavaScript+Myghty", listOf("javascript+myghty", "js+myghty"), listOf()), - LatexMintedLanguage("JavaScript+PHP", listOf("javascript+php", "js+php"), listOf()), - LatexMintedLanguage("JavaScript+Ruby", listOf("javascript+ruby", "js+ruby", "javascript+erb", "js+erb"), listOf()), - LatexMintedLanguage("JavaScript+Smarty", listOf("javascript+smarty", "js+smarty"), listOf()), LatexMintedLanguage("JavaScript", listOf("javascript", "js"), listOf("*.js", "*.jsm", "*.mjs", "*.cjs")), - LatexMintedLanguage("JCL", listOf("jcl"), listOf("*.jcl")), - LatexMintedLanguage("Julia console", listOf("jlcon", "julia-repl"), listOf()), - LatexMintedLanguage("JMESPath", listOf("jmespath", "jp"), listOf("*.jp")), - LatexMintedLanguage("JavaScript+Genshi Text", listOf("js+genshitext", "js+genshi", "javascript+genshitext", "javascript+genshi"), listOf()), - LatexMintedLanguage("JavaScript+Mako", listOf("js+mako", "javascript+mako"), listOf()), - LatexMintedLanguage("Javascript+UL4", listOf("js+ul4"), listOf("*.jsul4")), - LatexMintedLanguage("JSGF", listOf("jsgf"), listOf("*.jsgf")), - LatexMintedLanguage("JSLT", listOf("jslt"), listOf("*.jslt")), LatexMintedLanguage("JSON", listOf("json", "json-object"), listOf("*.json", "*.jsonl", "*.ndjson", "Pipfile.lock")), - LatexMintedLanguage("JSON-LD", listOf("jsonld", "json-ld"), listOf("*.jsonld")), - LatexMintedLanguage("Jsonnet", listOf("jsonnet"), listOf("*.jsonnet", "*.libsonnet")), LatexMintedLanguage("Java Server Page", listOf("jsp"), listOf("*.jsp")), - LatexMintedLanguage("JSX", listOf("jsx", "react"), listOf("*.jsx", "*.react")), - LatexMintedLanguage("Julia", listOf("julia", "jl"), listOf("*.jl")), - LatexMintedLanguage("Juttle", listOf("juttle"), listOf("*.juttle")), - LatexMintedLanguage("K", listOf("k"), listOf("*.k")), - LatexMintedLanguage("Kal", listOf("kal"), listOf("*.kal")), LatexMintedLanguage("Kconfig", listOf("kconfig", "menuconfig", "linux-config", "kernel-config"), listOf("Kconfig*", "*Config.in*", "external.in*", "standard-modules.in")), - LatexMintedLanguage("Kernel log", listOf("kmsg", "dmesg"), listOf("*.kmsg", "*.dmesg")), LatexMintedLanguage("Koka", listOf("koka"), listOf("*.kk", "*.kki")), - LatexMintedLanguage("Kotlin", listOf("kotlin"), listOf("*.kt", "*.kts")), - LatexMintedLanguage("Kusto", listOf("kql", "kusto"), listOf("*.kql", "*.kusto", ".csl")), - LatexMintedLanguage("Kuin", listOf("kuin"), listOf("*.kn")), LatexMintedLanguage("Lasso", listOf("lasso", "lassoscript"), listOf("*.lasso", "*.lasso[89]")), - LatexMintedLanguage("LDAP configuration file", listOf("ldapconf", "ldaprc"), listOf(".ldaprc", "ldaprc", "ldap.conf")), - LatexMintedLanguage("LDIF", listOf("ldif"), listOf("*.ldif")), - LatexMintedLanguage("Lean", listOf("lean", "lean3"), listOf("*.lean")), - LatexMintedLanguage("LessCss", listOf("less"), listOf("*.less")), - LatexMintedLanguage("Lighttpd configuration file", listOf("lighttpd", "lighty"), listOf("lighttpd.conf")), - LatexMintedLanguage("LilyPond", listOf("lilypond"), listOf("*.ly")), - LatexMintedLanguage("Limbo", listOf("limbo"), listOf("*.b")), - LatexMintedLanguage("liquid", listOf("liquid"), listOf("*.liquid")), - LatexMintedLanguage("Literate Agda", listOf("literate-agda", "lagda"), listOf("*.lagda")), - LatexMintedLanguage("Literate Cryptol", listOf("literate-cryptol", "lcryptol", "lcry"), listOf("*.lcry")), - LatexMintedLanguage("Literate Haskell", listOf("literate-haskell", "lhaskell", "lhs"), listOf("*.lhs")), - LatexMintedLanguage("Literate Idris", listOf("literate-idris", "lidris", "lidr"), listOf("*.lidr")), - LatexMintedLanguage("LiveScript", listOf("livescript", "live-script"), listOf("*.ls")), - LatexMintedLanguage("LLVM-MIR Body", listOf("llvm-mir-body"), listOf()), - LatexMintedLanguage("LLVM-MIR", listOf("llvm-mir"), listOf("*.mir")), LatexMintedLanguage("LLVM", listOf("llvm"), listOf("*.ll")), LatexMintedLanguage("Logos", listOf("logos"), listOf("*.x", "*.xi", "*.xm", "*.xmi")), - LatexMintedLanguage("Logtalk", listOf("logtalk"), listOf("*.lgt", "*.logtalk")), - LatexMintedLanguage("LSL", listOf("lsl"), listOf("*.lsl")), LatexMintedLanguage("Lua", listOf("lua"), listOf("*.lua", "*.wlua")), - LatexMintedLanguage("Macaulay2", listOf("macaulay2"), listOf("*.m2")), - LatexMintedLanguage("Makefile", listOf("make", "makefile", "mf", "bsdmake"), listOf("*.mak", "*.mk", "Makefile", "makefile", "Makefile.*", "GNUmakefile")), LatexMintedLanguage("Mako", listOf("mako"), listOf("*.mao")), LatexMintedLanguage("Mako", listOf("mako"), listOf("*.mao")), - LatexMintedLanguage("MAQL", listOf("maql"), listOf("*.maql")), - LatexMintedLanguage("Markdown", listOf("markdown", "md"), listOf("*.md", "*.markdown")), - LatexMintedLanguage("Mask", listOf("mask"), listOf("*.mask")), LatexMintedLanguage("Mason", listOf("mason"), listOf("*.m", "*.mhtml", "*.mc", "*.mi", "autohandler", "dhandler")), - LatexMintedLanguage("Mathematica", listOf("mathematica", "mma", "nb"), listOf("*.nb", "*.cdf", "*.nbp", "*.ma")), LatexMintedLanguage("Matlab", listOf("matlab"), listOf("*.m")), - LatexMintedLanguage("Matlab session", listOf("matlabsession"), listOf()), - LatexMintedLanguage("Maxima", listOf("maxima", "macsyma"), listOf("*.mac", "*.max")), - LatexMintedLanguage("MCFunction", listOf("mcfunction", "mcf"), listOf("*.mcfunction")), - LatexMintedLanguage("MCSchema", listOf("mcschema"), listOf("*.mcschema")), - LatexMintedLanguage("Meson", listOf("meson", "meson.build"), listOf("meson.build", "meson_options.txt")), - LatexMintedLanguage("MIME", listOf("mime"), listOf()), LatexMintedLanguage("MiniD", listOf("minid"), listOf()), - LatexMintedLanguage("MiniScript", listOf("miniscript", "ms"), listOf("*.ms")), - LatexMintedLanguage("MIPS", listOf("mips"), listOf("*.mips", "*.MIPS")), - LatexMintedLanguage("Modelica", listOf("modelica"), listOf("*.mo")), - LatexMintedLanguage("Modula-2", listOf("modula2", "m2"), listOf("*.def", "*.mod")), LatexMintedLanguage("Monkey", listOf("monkey"), listOf("*.monkey")), - LatexMintedLanguage("Monte", listOf("monte"), listOf("*.mt")), - LatexMintedLanguage("MOOCode", listOf("moocode", "moo"), listOf("*.moo")), LatexMintedLanguage("MoonScript", listOf("moonscript", "moon"), listOf("*.moon")), - LatexMintedLanguage("Mosel", listOf("mosel"), listOf("*.mos")), - LatexMintedLanguage("mozhashpreproc", listOf("mozhashpreproc"), listOf()), - LatexMintedLanguage("mozpercentpreproc", listOf("mozpercentpreproc"), listOf()), - LatexMintedLanguage("MQL", listOf("mql", "mq4", "mq5", "mql4", "mql5"), listOf("*.mq4", "*.mq5", "*.mqh")), - LatexMintedLanguage("Mscgen", listOf("mscgen", "msc"), listOf("*.msc")), - LatexMintedLanguage("MuPAD", listOf("mupad"), listOf("*.mu")), LatexMintedLanguage("MXML", listOf("mxml"), listOf("*.mxml")), LatexMintedLanguage("Myghty", listOf("myghty"), listOf("*.myt", "autodelegate")), LatexMintedLanguage("MySQL", listOf("mysql"), listOf()), LatexMintedLanguage("NASM", listOf("nasm"), listOf("*.asm", "*.ASM", "*.nasm")), - LatexMintedLanguage("NCL", listOf("ncl"), listOf("*.ncl")), - LatexMintedLanguage("Nemerle", listOf("nemerle"), listOf("*.n")), - LatexMintedLanguage("nesC", listOf("nesc"), listOf("*.nc")), - LatexMintedLanguage("NestedText", listOf("nestedtext", "nt"), listOf("*.nt")), LatexMintedLanguage("NewLisp", listOf("newlisp"), listOf("*.lsp", "*.nl", "*.kif")), LatexMintedLanguage("Newspeak", listOf("newspeak"), listOf("*.ns2")), - LatexMintedLanguage("Angular2", listOf("ng2"), listOf()), - LatexMintedLanguage("Nginx configuration file", listOf("nginx"), listOf("nginx.conf")), - LatexMintedLanguage("Nimrod", listOf("nimrod", "nim"), listOf("*.nim", "*.nimrod")), - LatexMintedLanguage("Nit", listOf("nit"), listOf("*.nit")), - LatexMintedLanguage("Nix", listOf("nixos", "nix"), listOf("*.nix")), - LatexMintedLanguage("Node.js REPL console session", listOf("nodejsrepl"), listOf()), - LatexMintedLanguage("Notmuch", listOf("notmuch"), listOf()), - LatexMintedLanguage("NSIS", listOf("nsis", "nsi", "nsh"), listOf("*.nsi", "*.nsh")), LatexMintedLanguage("NumPy", listOf("numpy"), listOf()), - LatexMintedLanguage("NuSMV", listOf("nusmv"), listOf("*.smv")), - LatexMintedLanguage("objdump-nasm", listOf("objdump-nasm"), listOf("*.objdump-intel")), - LatexMintedLanguage("objdump", listOf("objdump"), listOf("*.objdump")), - LatexMintedLanguage("Objective-C++", listOf("objective-c++", "objectivec++", "obj-c++", "objc++"), listOf("*.mm", "*.hh")), - LatexMintedLanguage("Objective-C", listOf("objective-c", "objectivec", "obj-c", "objc"), listOf("*.m", "*.h")), - LatexMintedLanguage("Objective-J", listOf("objective-j", "objectivej", "obj-j", "objj"), listOf("*.j")), LatexMintedLanguage("OCaml", listOf("ocaml"), listOf("*.ml", "*.mli", "*.mll", "*.mly")), LatexMintedLanguage("Octave", listOf("octave"), listOf("*.m")), - LatexMintedLanguage("ODIN", listOf("odin"), listOf("*.odin")), - LatexMintedLanguage("OMG Interface Definition Language", listOf("omg-idl"), listOf("*.idl", "*.pidl")), LatexMintedLanguage("Ooc", listOf("ooc"), listOf("*.ooc")), - LatexMintedLanguage("Opa", listOf("opa"), listOf("*.opa")), - LatexMintedLanguage("OpenEdge ABL", listOf("openedge", "abl", "progress"), listOf("*.p", "*.cls")), - LatexMintedLanguage("OpenSCAD", listOf("openscad"), listOf("*.scad")), - LatexMintedLanguage("Text output", listOf("output"), listOf()), - LatexMintedLanguage("PacmanConf", listOf("pacmanconf"), listOf("pacman.conf")), - LatexMintedLanguage("Pan", listOf("pan"), listOf("*.pan")), - LatexMintedLanguage("ParaSail", listOf("parasail"), listOf("*.psi", "*.psl")), - LatexMintedLanguage("Pawn", listOf("pawn"), listOf("*.p", "*.pwn", "*.inc")), - LatexMintedLanguage("PEG", listOf("peg"), listOf("*.peg")), LatexMintedLanguage("Perl", listOf("perl", "pl"), listOf("*.pl", "*.pm", "*.t", "*.perl")), - LatexMintedLanguage("Perl6", listOf("perl6", "pl6", "raku"), listOf("*.pl", "*.pm", "*.nqp", "*.p6", "*.6pl", "*.p6l", "*.pl6", "*.6pm", "*.p6m", "*.pm6", "*.t", "*.raku", "*.rakumod", "*.rakutest", "*.rakudoc")), - LatexMintedLanguage("Phix", listOf("phix"), listOf("*.exw")), LatexMintedLanguage("PHP", listOf("php", "php3", "php4", "php5"), listOf("*.php", "*.php[345]", "*.inc")), - LatexMintedLanguage("Pig", listOf("pig"), listOf("*.pig")), - LatexMintedLanguage("Pike", listOf("pike"), listOf("*.pike", "*.pmod")), - LatexMintedLanguage("PkgConfig", listOf("pkgconfig"), listOf("*.pc")), LatexMintedLanguage("PL/pgSQL", listOf("plpgsql"), listOf()), - LatexMintedLanguage("Pointless", listOf("pointless"), listOf("*.ptls")), - LatexMintedLanguage("Pony", listOf("pony"), listOf("*.pony")), - LatexMintedLanguage("Portugol", listOf("portugol"), listOf("*.alg", "*.portugol")), - LatexMintedLanguage("PostgreSQL EXPLAIN dialect", listOf("postgres-explain"), listOf("*.explain")), LatexMintedLanguage("PostgreSQL SQL dialect", listOf("postgresql", "postgres"), listOf()), LatexMintedLanguage("PostScript", listOf("postscript", "postscr"), listOf("*.ps", "*.eps")), LatexMintedLanguage("Gettext Catalog", listOf("pot", "po"), listOf("*.pot", "*.po")), - LatexMintedLanguage("POVRay", listOf("pov"), listOf("*.pov", "*.inc")), - LatexMintedLanguage("PowerShell", listOf("powershell", "pwsh", "posh", "ps1", "psm1"), listOf("*.ps1", "*.psm1")), - LatexMintedLanguage("Praat", listOf("praat"), listOf("*.praat", "*.proc", "*.psc")), - LatexMintedLanguage("Procfile", listOf("procfile"), listOf("Procfile")), LatexMintedLanguage("Prolog", listOf("prolog"), listOf("*.ecl", "*.prolog", "*.pro", "*.pl")), - LatexMintedLanguage("PromQL", listOf("promql"), listOf("*.promql")), - LatexMintedLanguage("Properties", listOf("properties", "jproperties"), listOf("*.properties")), - LatexMintedLanguage("Protocol Buffer", listOf("protobuf", "proto"), listOf("*.proto")), - LatexMintedLanguage("PRQL", listOf("prql"), listOf("*.prql")), LatexMintedLanguage("PostgreSQL console (psql", listOf("psql", "postgresql-console", "postgres-console"), listOf()), - LatexMintedLanguage("PsySH console session for PHP", listOf("psysh"), listOf()), - LatexMintedLanguage("PTX", listOf("ptx"), listOf("*.ptx")), LatexMintedLanguage("Pug", listOf("pug", "jade"), listOf("*.pug", "*.jade")), LatexMintedLanguage("Puppet", listOf("puppet"), listOf("*.pp")), - LatexMintedLanguage("PowerShell Session", listOf("pwsh-session", "ps1con"), listOf()), - LatexMintedLanguage("Python+UL4", listOf("py+ul4"), listOf("*.pyul4")), - LatexMintedLanguage("Python 2.x Traceback", listOf("py2tb"), listOf("*.py2tb")), - LatexMintedLanguage("Python console session", listOf("pycon"), listOf()), - LatexMintedLanguage("PyPy Log", listOf("pypylog", "pypy"), listOf("*.pypylog")), - LatexMintedLanguage("Python Traceback", listOf("pytb", "py3tb"), listOf("*.pytb", "*.py3tb")), LatexMintedLanguage("Python", listOf("python", "py", "sage", "python3", "py3", "bazel", "starlark"), listOf("*.py", "*.pyw", "*.pyi", "*.jy", "*.sage", "*.sc", "SConstruct", "SConscript", "*.bzl", "BUCK", "BUILD", "BUILD.bazel", "WORKSPACE", "*.tac")), - LatexMintedLanguage("Python 2.x", listOf("python2", "py2"), listOf()), - LatexMintedLanguage("Q", listOf("q"), listOf("*.q")), - LatexMintedLanguage("QBasic", listOf("qbasic", "basic"), listOf("*.BAS", "*.bas")), - LatexMintedLanguage("Qlik", listOf("qlik", "qlikview", "qliksense", "qlikscript"), listOf("*.qvs", "*.qvw")), LatexMintedLanguage("QML", listOf("qml", "qbs"), listOf("*.qml", "*.qbs")), - LatexMintedLanguage("QVTO", listOf("qvto", "qvt"), listOf("*.qvto")), - LatexMintedLanguage("Racket", listOf("racket", "rkt"), listOf("*.rkt", "*.rktd", "*.rktl")), - LatexMintedLanguage("Ragel in C Host", listOf("ragel-c"), listOf("*.rl")), - LatexMintedLanguage("Ragel in CPP Host", listOf("ragel-cpp"), listOf("*.rl")), - LatexMintedLanguage("Ragel in D Host", listOf("ragel-d"), listOf("*.rl")), - LatexMintedLanguage("Embedded Ragel", listOf("ragel-em"), listOf("*.rl")), - LatexMintedLanguage("Ragel in Java Host", listOf("ragel-java"), listOf("*.rl")), - LatexMintedLanguage("Ragel in Objective C Host", listOf("ragel-objc"), listOf("*.rl")), - LatexMintedLanguage("Ragel in Ruby Host", listOf("ragel-ruby", "ragel-rb"), listOf("*.rl")), LatexMintedLanguage("Ragel", listOf("ragel"), listOf()), - LatexMintedLanguage("Ruby irb session", listOf("rbcon", "irb"), listOf()), - LatexMintedLanguage("RConsole", listOf("rconsole", "rout"), listOf("*.Rout")), - LatexMintedLanguage("Rd", listOf("rd"), listOf("*.Rd")), - LatexMintedLanguage("ReasonML", listOf("reasonml", "reason"), listOf("*.re", "*.rei")), - LatexMintedLanguage("REBOL", listOf("rebol"), listOf("*.r", "*.r3", "*.reb")), - LatexMintedLanguage("Red", listOf("red", "red/system"), listOf("*.red", "*.reds")), - LatexMintedLanguage("Redcode", listOf("redcode"), listOf("*.cw")), - LatexMintedLanguage("reg", listOf("registry"), listOf("*.reg")), - LatexMintedLanguage("ResourceBundle", listOf("resourcebundle", "resource"), listOf()), - LatexMintedLanguage("reStructuredText", listOf("restructuredtext", "rst", "rest"), listOf("*.rst", "*.rest")), - LatexMintedLanguage("Rexx", listOf("rexx", "arexx"), listOf("*.rexx", "*.rex", "*.rx", "*.arexx")), LatexMintedLanguage("RHTML", listOf("rhtml", "html+erb", "html+ruby"), listOf("*.rhtml")), - LatexMintedLanguage("Ride", listOf("ride"), listOf("*.ride")), - LatexMintedLanguage("Rita", listOf("rita"), listOf("*.rita")), - LatexMintedLanguage("Relax-NG Compact", listOf("rng-compact", "rnc"), listOf("*.rnc")), - LatexMintedLanguage("Roboconf Graph", listOf("roboconf-graph"), listOf("*.graph")), - LatexMintedLanguage("Roboconf Instances", listOf("roboconf-instances"), listOf("*.instances")), - LatexMintedLanguage("RobotFramework", listOf("robotframework"), listOf("*.robot", "*.resource")), - LatexMintedLanguage("RQL", listOf("rql"), listOf("*.rql")), - LatexMintedLanguage("RSL", listOf("rsl"), listOf("*.rsl")), LatexMintedLanguage("Ruby", listOf("ruby", "rb", "duby"), listOf("*.rb", "*.rbw", "Rakefile", "*.rake", "*.gemspec", "*.rbx", "*.duby", "Gemfile", "Vagrantfile")), - LatexMintedLanguage("Rust", listOf("rust", "rs"), listOf("*.rs", "*.rs.in")), - LatexMintedLanguage("SARL", listOf("sarl"), listOf("*.sarl")), - LatexMintedLanguage("SAS", listOf("sas"), listOf("*.SAS", "*.sas")), LatexMintedLanguage("Sass", listOf("sass"), listOf("*.sass")), - LatexMintedLanguage("Savi", listOf("savi"), listOf("*.savi")), - LatexMintedLanguage("Scala", listOf("scala"), listOf("*.scala")), - LatexMintedLanguage("Scaml", listOf("scaml"), listOf("*.scaml")), - LatexMintedLanguage("scdoc", listOf("scdoc", "scd"), listOf("*.scd", "*.scdoc")), LatexMintedLanguage("Scheme", listOf("scheme", "scm"), listOf("*.scm", "*.ss")), - LatexMintedLanguage("Scilab", listOf("scilab"), listOf("*.sci", "*.sce", "*.tst")), - LatexMintedLanguage("SCSS", listOf("scss"), listOf("*.scss")), - LatexMintedLanguage("Sed", listOf("sed", "gsed", "ssed"), listOf("*.sed", "*.[gs]sed")), - LatexMintedLanguage("SmartGameFormat", listOf("sgf"), listOf("*.sgf")), - LatexMintedLanguage("Shen", listOf("shen"), listOf("*.shen")), - LatexMintedLanguage("ShExC", listOf("shexc", "shex"), listOf("*.shex")), - LatexMintedLanguage("Sieve", listOf("sieve"), listOf("*.siv", "*.sieve")), - LatexMintedLanguage("Silver", listOf("silver"), listOf("*.sil", "*.vpr")), - LatexMintedLanguage("Singularity", listOf("singularity"), listOf("*.def", "Singularity")), - LatexMintedLanguage("Slash", listOf("slash"), listOf("*.sla")), - LatexMintedLanguage("Slim", listOf("slim"), listOf("*.slim")), - LatexMintedLanguage("Slurm", listOf("slurm", "sbatch"), listOf("*.sl")), - LatexMintedLanguage("Smali", listOf("smali"), listOf("*.smali")), LatexMintedLanguage("Smalltalk", listOf("smalltalk", "squeak", "st"), listOf("*.st")), - LatexMintedLanguage("Smarty", listOf("smarty"), listOf("*.tpl")), - LatexMintedLanguage("Smithy", listOf("smithy"), listOf("*.smithy")), - LatexMintedLanguage("Standard ML", listOf("sml"), listOf("*.sml", "*.sig", "*.fun")), - LatexMintedLanguage("SNBT", listOf("snbt"), listOf("*.snbt")), - LatexMintedLanguage("Snobol", listOf("snobol"), listOf("*.snobol")), - LatexMintedLanguage("Snowball", listOf("snowball"), listOf("*.sbl")), - LatexMintedLanguage("Solidity", listOf("solidity"), listOf("*.sol")), - LatexMintedLanguage("Sophia", listOf("sophia"), listOf("*.aes")), - LatexMintedLanguage("SourcePawn", listOf("sp"), listOf("*.sp")), - LatexMintedLanguage("SPARQL", listOf("sparql"), listOf("*.rq", "*.sparql")), - LatexMintedLanguage("RPMSpec", listOf("spec"), listOf("*.spec")), - LatexMintedLanguage("Spice", listOf("spice", "spicelang"), listOf("*.spice")), - LatexMintedLanguage("S", listOf("splus", "s", "r"), listOf("*.S", "*.R", ".Rhistory", ".Rprofile", ".Renviron")), - LatexMintedLanguage("SQL+Jinja", listOf("sql+jinja"), listOf("*.sql", "*.sql.j2", "*.sql.jinja2")), LatexMintedLanguage("SQL", listOf("sql"), listOf("*.sql")), - LatexMintedLanguage("sqlite3con", listOf("sqlite3"), listOf("*.sqlite3-console")), - LatexMintedLanguage("SquidConf", listOf("squidconf", "squid.conf", "squid"), listOf("squid.conf")), - LatexMintedLanguage("Srcinfo", listOf("srcinfo"), listOf(".SRCINFO")), LatexMintedLanguage("Scalate Server Page", listOf("ssp"), listOf("*.ssp")), - LatexMintedLanguage("Stan", listOf("stan"), listOf("*.stan")), - LatexMintedLanguage("Stata", listOf("stata", "do"), listOf("*.do", "*.ado")), - LatexMintedLanguage("SuperCollider", listOf("supercollider", "sc"), listOf("*.sc", "*.scd")), - LatexMintedLanguage("Swift", listOf("swift"), listOf("*.swift")), - LatexMintedLanguage("SWIG", listOf("swig"), listOf("*.swg", "*.i")), - LatexMintedLanguage("Systemd", listOf("systemd"), listOf("*.service", "*.socket", "*.device", "*.mount", "*.automount", "*.swap", "*.target", "*.path", "*.timer", "*.slice", "*.scope")), - LatexMintedLanguage("systemverilog", listOf("systemverilog", "sv"), listOf("*.sv", "*.svh")), - LatexMintedLanguage("TADS 3", listOf("tads3"), listOf("*.t")), - LatexMintedLanguage("Tal", listOf("tal", "uxntal"), listOf("*.tal")), - LatexMintedLanguage("TAP", listOf("tap"), listOf("*.tap")), - LatexMintedLanguage("TASM", listOf("tasm"), listOf("*.asm", "*.ASM", "*.tasm")), LatexMintedLanguage("Tcl", listOf("tcl"), listOf("*.tcl", "*.rvt")), - LatexMintedLanguage("Tcsh", listOf("tcsh", "csh"), listOf("*.tcsh", "*.csh")), - LatexMintedLanguage("Tcsh Session", listOf("tcshcon"), listOf()), LatexMintedLanguage("Tea", listOf("tea"), listOf("*.tea")), - LatexMintedLanguage("teal", listOf("teal"), listOf("*.teal")), - LatexMintedLanguage("Tera Term macro", listOf("teratermmacro", "teraterm", "ttl"), listOf("*.ttl")), - LatexMintedLanguage("Termcap", listOf("termcap"), listOf("termcap", "termcap.src")), - LatexMintedLanguage("Terminfo", listOf("terminfo"), listOf("terminfo", "terminfo.src")), - LatexMintedLanguage("Terraform", listOf("terraform", "tf", "hcl"), listOf("*.tf", "*.hcl")), LatexMintedLanguage("TeX", listOf("tex", "latex"), listOf("*.tex", "*.aux", "*.toc")), LatexMintedLanguage("Text only", listOf("text"), listOf("*.txt")), - LatexMintedLanguage("Thrift", listOf("thrift"), listOf("*.thrift")), - LatexMintedLanguage("ThingsDB", listOf("ti", "thingsdb"), listOf("*.ti")), - LatexMintedLanguage("tiddler", listOf("tid"), listOf("*.tid")), - LatexMintedLanguage("Tl-b", listOf("tlb"), listOf("*.tlb")), - LatexMintedLanguage("TLS Presentation Language", listOf("tls"), listOf()), - LatexMintedLanguage("Typographic Number Theory", listOf("tnt"), listOf("*.tnt")), - LatexMintedLanguage("Todotxt", listOf("todotxt"), listOf("todo.txt", "*.todotxt")), - LatexMintedLanguage("TOML", listOf("toml"), listOf("*.toml", "Pipfile", "poetry.lock")), - LatexMintedLanguage("MoinMoin/Trac Wiki markup", listOf("trac-wiki", "moin"), listOf()), - LatexMintedLanguage("TrafficScript", listOf("trafficscript", "rts"), listOf("*.rts")), - LatexMintedLanguage("Treetop", listOf("treetop"), listOf("*.treetop", "*.tt")), - LatexMintedLanguage("Transact-SQL", listOf("tsql", "t-sql"), listOf("*.sql")), - LatexMintedLanguage("Turtle", listOf("turtle"), listOf("*.ttl")), - LatexMintedLanguage("Twig", listOf("twig"), listOf()), - LatexMintedLanguage("TypeScript", listOf("typescript", "ts"), listOf("*.ts")), - LatexMintedLanguage("TypoScript", listOf("typoscript"), listOf("*.typoscript")), - LatexMintedLanguage("TypoScriptCssData", listOf("typoscriptcssdata"), listOf()), - LatexMintedLanguage("TypoScriptHtmlData", listOf("typoscripthtmldata"), listOf()), - LatexMintedLanguage("ucode", listOf("ucode"), listOf("*.u", "*.u1", "*.u2")), - LatexMintedLanguage("UL4", listOf("ul4"), listOf("*.ul4")), - LatexMintedLanguage("Unicon", listOf("unicon"), listOf("*.icn")), - LatexMintedLanguage("Unix/Linux config files", listOf("unixconfig", "linuxconfig"), listOf()), - LatexMintedLanguage("UrbiScript", listOf("urbiscript"), listOf("*.u")), - LatexMintedLanguage("urlencoded", listOf("urlencoded"), listOf()), - LatexMintedLanguage("USD", listOf("usd", "usda"), listOf("*.usd", "*.usda")), LatexMintedLanguage("Vala", listOf("vala", "vapi"), listOf("*.vala", "*.vapi")), - LatexMintedLanguage("VB.net", listOf("vb.net", "vbnet", "lobas", "oobas", "sobas"), listOf("*.vb", "*.bas")), - LatexMintedLanguage("VBScript", listOf("vbscript"), listOf("*.vbs", "*.VBS")), - LatexMintedLanguage("VCL", listOf("vcl"), listOf("*.vcl")), - LatexMintedLanguage("VCLSnippets", listOf("vclsnippets", "vclsnippet"), listOf()), - LatexMintedLanguage("VCTreeStatus", listOf("vctreestatus"), listOf()), - LatexMintedLanguage("Velocity", listOf("velocity"), listOf("*.vm", "*.fhtml")), - LatexMintedLanguage("Verifpal", listOf("verifpal"), listOf("*.vp")), - LatexMintedLanguage("verilog", listOf("verilog", "v"), listOf("*.v")), LatexMintedLanguage("VGL", listOf("vgl"), listOf("*.rpf")), - LatexMintedLanguage("vhdl", listOf("vhdl"), listOf("*.vhdl", "*.vhd")), LatexMintedLanguage("VimL", listOf("vim"), listOf("*.vim", ".vimrc", ".exrc", ".gvimrc", "_vimrc", "_exrc", "_gvimrc", "vimrc", "gvimrc")), - LatexMintedLanguage("Visual Prolog", listOf("visualprolog"), listOf("*.pro", "*.cl", "*.i", "*.pack", "*.ph")), - LatexMintedLanguage("Visual Prolog Grammar", listOf("visualprologgrammar"), listOf("*.vipgrm")), - LatexMintedLanguage("Vyper", listOf("vyper"), listOf("*.vy")), - LatexMintedLanguage("WebAssembly", listOf("wast", "wat"), listOf("*.wat", "*.wast")), - LatexMintedLanguage("WDiff", listOf("wdiff"), listOf("*.wdiff")), - LatexMintedLanguage("Web IDL", listOf("webidl"), listOf("*.webidl")), - LatexMintedLanguage("WebGPU Shading Language", listOf("wgsl"), listOf("*.wgsl")), - LatexMintedLanguage("Whiley", listOf("whiley"), listOf("*.whiley")), - LatexMintedLanguage("Wikitext", listOf("wikitext", "mediawiki"), listOf()), - LatexMintedLanguage("World of Warcraft TOC", listOf("wowtoc"), listOf("*.toc")), - LatexMintedLanguage("Wren", listOf("wren"), listOf("*.wren")), - LatexMintedLanguage("X10", listOf("x10", "xten"), listOf("*.x10")), - LatexMintedLanguage("XML+Cheetah", listOf("xml+cheetah", "xml+spitfire"), listOf()), - LatexMintedLanguage("XML+Django/Jinja", listOf("xml+django", "xml+jinja"), listOf("*.xml.j2", "*.xml.jinja2")), - LatexMintedLanguage("XML+Evoque", listOf("xml+evoque"), listOf("*.xml")), - LatexMintedLanguage("XML+Lasso", listOf("xml+lasso"), listOf()), - LatexMintedLanguage("XML+Mako", listOf("xml+mako"), listOf()), - LatexMintedLanguage("XML+Mako", listOf("xml+mako"), listOf()), - LatexMintedLanguage("XML+Myghty", listOf("xml+myghty"), listOf()), - LatexMintedLanguage("XML+PHP", listOf("xml+php"), listOf()), - LatexMintedLanguage("XML+Ruby", listOf("xml+ruby", "xml+erb"), listOf()), - LatexMintedLanguage("XML+Smarty", listOf("xml+smarty"), listOf()), - LatexMintedLanguage("XML+UL4", listOf("xml+ul4"), listOf("*.xmlul4")), - LatexMintedLanguage("XML+Velocity", listOf("xml+velocity"), listOf()), LatexMintedLanguage("XML", listOf("xml"), listOf("*.xml", "*.xsl", "*.rss", "*.xslt", "*.xsd", "*.wsdl", "*.wsf")), - LatexMintedLanguage("Xorg", listOf("xorg.conf"), listOf("xorg.conf")), - LatexMintedLanguage("X++", listOf("xpp", "x++"), listOf("*.xpp")), LatexMintedLanguage("XQuery", listOf("xquery", "xqy", "xq", "xql", "xqm"), listOf("*.xqy", "*.xquery", "*.xq", "*.xql", "*.xqm")), - LatexMintedLanguage("XSLT", listOf("xslt"), listOf("*.xsl", "*.xslt", "*.xpl")), - LatexMintedLanguage("Xtend", listOf("xtend"), listOf("*.xtend")), - LatexMintedLanguage("XUL+mozpreproc", listOf("xul+mozpreproc"), listOf("*.xul.in")), - LatexMintedLanguage("YAML+Jinja", listOf("yaml+jinja", "salt", "sls"), listOf("*.sls", "*.yaml.j2", "*.yml.j2", "*.yaml.jinja2", "*.yml.jinja2")), LatexMintedLanguage("YAML", listOf("yaml"), listOf("*.yaml", "*.yml")), - LatexMintedLanguage("YANG", listOf("yang"), listOf("*.yang")), - LatexMintedLanguage("YARA", listOf("yara", "yar"), listOf("*.yar")), LatexMintedLanguage("Zeek", listOf("zeek", "bro"), listOf("*.zeek", "*.bro")), - LatexMintedLanguage("Zephir", listOf("zephir"), listOf("*.zep")), - LatexMintedLanguage("Zig", listOf("zig"), listOf("*.zig")), - LatexMintedLanguage("Zone", listOf("zone"), listOf("*.zone")), ) + private val LANGUAGES: Set by lazy { + val back = "pygmentize -L lexers --json".runCommandWithExitCode() + + val retJason = back.first ?: return@lazy FALLBACK_LANGUAGES + + if (back.second != 0) { + FALLBACK_LANGUAGES + } else { + Json.parseToJsonElement(retJason).jsonObject["lexers"]!!.jsonObject.entries.map { (key, value) -> LatexMintedLanguage(key, value.jsonObject["aliases"]!!.jsonArray.map { it.jsonPrimitive.content }, value.jsonObject["filenames"]!!.jsonArray.map { it.jsonPrimitive.content }) }.toSet() + } + } + override fun addCompletions(parameters: CompletionParameters, context: ProcessingContext, result: CompletionResultSet) { result.addAllElements( LANGUAGES.map { lang -> lang.createLookupElement() }.flatten() From 295650b04fd6510eb28a284910121eaa33f5ab37 Mon Sep 17 00:00:00 2001 From: Thomas Schouten Date: Mon, 29 Jul 2024 09:17:34 +0200 Subject: [PATCH 4/4] Update LatexMintedTypeProvider documentation --- .../texifyidea/completion/LatexMintedTypeProvider.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt b/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt index 6d3aa9c12..e8b84798c 100644 --- a/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt +++ b/src/nl/hannahsten/texifyidea/completion/LatexMintedTypeProvider.kt @@ -13,7 +13,9 @@ import kotlinx.serialization.json.jsonPrimitive import nl.hannahsten.texifyidea.util.runCommandWithExitCode /** - * @author Hannah Schellekens + * Provide autocompletion for minted languages in an \inputminted command. The harcoded list is only used as a backup. + * + * @author jojo2357 */ object LatexMintedTypeProvider : CompletionProvider() { private val FALLBACK_LANGUAGES = setOf(