-- File extension and shebang mapping
+--
+-- Add an entry for a language syntax which is occupied by multiple source file extensions.
+-- If there is only one extension, just name the lang file accordingly and it will work (no entry needed here).
+-- The filetype entries in gui_files/ext/fileopenfilter.conf should also be updated.
+--
+-- Extensions can be configured for multiple languages (see "asm", which is assigned to assembler and fasm).
+-- The command line (CKI) and Qt GUI builds handle ambiguous assigments as follows:
+-- - CLI: the first association listed here will be used
+-- - GUI: a syntax selection prompt will be shown
+--
+-- If a filename has no extension by convention (ie. makefile), it may be added here nevertheless or be
+-- configured as "Shebang".
+--
+-- Since release 3.36 you can assign complete filenames to a syntax, see "cmake".
+--
+-- The first filetypes.conf found in a highlight search directory wins.
FileMapping = {
{ Lang="algol", Extensions={"alg"} },
{ Lang="ampl", Extensions={"dat", "run"} },
{ Lang="amtrix", Extensions={"s4", "s4t", "s4h", "hnd", "t4"} },
- { Lang="asm", Extensions={"a51", "29k", "68s", "68x", "x86"} },
- { Lang="asp", Extensions={"asa"} },
+ { Lang="assembler", Extensions={"asm", "a51", "29k", "68s", "68x", "x86"} },
+ { Lang="fasm", Extensions={"asm", "inc"} },
+ { Lang="asp", Extensions={"aspx", "ashx", "ascx"} },
{ Lang="ats", Extensions={"dats"} },
{ Lang="aspect", Extensions={"was", "wud"} },
{ Lang="bat", Extensions={"cmd"} },
{ Lang="c", Extensions={"c++", "cpp", "cxx", "cc", "h", "hh", "hxx", "hpp", "cu"} },
+ { Lang="cmake", Filenames={"CMakeLists.txt"} },
{ Lang="charmm", Extensions={"inp"} },
{ Lang="coldfusion", Extensions={"cfc","cfm"} },
{ Lang="cobol", Extensions={"cob", "cbl"} },
+ { Lang="conf", Extensions={"anacrontab"} },
{ Lang="diff", Extensions={"patch"} },
+ { Lang="docker", Extensions={"dockerfile"} },
+ { Lang="dts", Extensions={"dtsi"} },
{ Lang="eiffel", Extensions={"e", "se"} },
+ { Lang="elixir", Extensions={"ex", "exs"} },
{ Lang="erlang", Extensions={"hrl", "erl"} },
{ Lang="euphoria", Extensions={"ex", "exw", "wxu", "ew", "eu"} },
{ Lang="fortran77", Extensions={"f", "for", "ftn"} },
{ Lang="fortran90", Extensions={"f95", "f90"} },
{ Lang="gambas", Extensions={"class"} },
+ { Lang="gdscript", Extensions={"gd"} },
{ Lang="haskell", Extensions={"hs"} },
- { Lang="java", Extensions={"groovy", "grv"} },
+ { Lang="ini", Extensions={"doxyfile", "desktop"} },
+ { Lang="java", Extensions={"groovy", "grv", "jenkinsfile"} },
+ { Lang="julia", Extensions={"jl"} },
+ { Lang="kotlin", Extensions={"kt"} },
{ Lang="limbo", Extensions={"b"} },
- { Lang="lisp", Extensions={"cl", "clisp", "el", "lsp", "sbcl", "scom"} },
- { Lang="make", Extensions={"mak", "mk"} },
+ { Lang="lisp", Extensions={"cl", "clisp", "el", "lsp", "sbcl", "scom", "fas", "scm" } },
+ { Lang="make", Extensions={"mak", "mk", "makefile"} },
{ Lang="snmp", Extensions={"mib", "smi"} },
{ Lang="ocaml", Extensions={"ml","mli"} },
{ Lang="mod2", Extensions={"mod", "def"} },
{ Lang="pl1", Extensions={"ff", "fp", "fpp", "rpp","sf", "sp", "spb",
"spp","sps", "wp", "wf", "wpp","wps","wpb","bdy","spe"} },
{ Lang="perl", Extensions={"pl","perl", "cgi", "pm", "plx", "plex"} },
+ { Lang="polygen", Extensions={"grm"} },
+ { Lang="pro", Extensions={"pro"} },
+ { Lang="qmake", Extensions={"pro"} },
{ Lang="progress", Extensions={"p", "i", "w"} },
- { Lang="ruby", Extensions={"rb","ruby", "pp", "rjs"} },
+ { Lang="ruby", Extensions={"rb","ruby", "pp", "rjs", "gemfile", "rakefile"} },
{ Lang="rexx", Extensions={"rex", "rx", "the"} },
- { Lang="sh", Extensions={"bash", "ebuild", "eclass"} },
+ { Lang="sh", Extensions={"bash", "zsh", "ebuild", "eclass"} },
{ Lang="smalltalk", Extensions={"st", "gst", "sq"} },
{ Lang="sybase", Extensions={"sp"} },
{ Lang="tcl", Extensions={"wish", "itcl"} },
{ Lang="tex", Extensions={"sty", "cls"} },
{ Lang="vb", Extensions={"bas", "basic", "bi", "vbs"} },
{ Lang="verilog", Extensions={"v"} },
- { Lang="html", Extensions={"htm", "xhtml"} },
- { Lang="xml", Extensions={"sgm", "sgml", "nrm", "ent","hdr", "hub", "dtd",
- "wml","vxml", "wml", "tld", "svg","xsl", "ecf", "jnlp", "xsd", "resx"} },
+ { Lang="html", Extensions={"htm", "xhtml", "twig", "jinja"} },
+ { Lang="xml", Extensions={"sgm", "sgml", "nrm", "ent","hdr", "hub", "dtd", "glade",
+ "wml","vxml", "wml", "tld", "csproj","xsl", "ecf", "jnlp", "xsd", "resx"} },
{ Lang="fsharp", Extensions={"fs","fsx"} },
{ Lang="informix", Extensions={"4gl"} },
{ Lang="blitzbasic", Extensions={"bb"} },
{ Lang="interlis", Extensions={"ili"} },
{ Lang="logtalk", Extensions={"lgt"} },
{ Lang="matlab", Extensions={"m"} },
- { Lang="nsis", Extensions={"nsi"} },
+ { Lang="nsis", Extensions={"nsi", "nsh"} },
{ Lang="bison", Extensions={"y"} },
{ Lang="squirrel", Extensions={"nut"} },
{ Lang="luban", Extensions={"lbn"} },
{ Lang="lilypond", Extensions={"ly"} },
{ Lang="nasal", Extensions={"nas"} },
{ Lang="clean", Extensions={"icl"} },
- { Lang="assembler", Extensions={"asm"} },
{ Lang="bibtex", Extensions={"bib"} },
{ Lang="python", Extensions={"py"} },
{ Lang="txt", Extensions={"text"} },
{ Lang="n3", Extensions={"ttl", "nt"} },
{ Lang="biferno", Extensions={"bfr"} },
{ Lang="scilab", Extensions={"sci", "sce"} },
+ { Lang="msl", Extensions={"nbs"} },
+ { Lang="yaml", Extensions={"yml"} },
+ { Lang="vimscript", Extensions={"vim", "vimrc"} },
+ { Lang="purebasic", Extensions={"pb", "pbi"} },
+ { Lang="md", Extensions={"markdown"} },
+ { Lang="clojure", Extensions={"clj"} },
{ Lang="xml", Shebang=[[^\s*<\?xml\s+version=\"1\.0\"\s+[^(\?>)]*?>\s*$]] },
{ Lang="sh", Shebang=[[^#!\s*(/usr)?(/local)?/bin/(env\s+)?([bd]ash|t?csh|[akz]?sh)]] },
{ Lang="perl", Shebang=[[^#!\s*(/usr)?(/local)?/bin/(env\s+)?perl]] },
{ Lang="python", Shebang=[[^#!\s*(/usr)?(/local)?/bin/(env\s+)?python]] },
{ Lang="ruby", Shebang=[[^#!\s*(/usr)?(/local)?/bin/(env\s+)?ruby]] },
- { Lang="php", Shebang=[[^#!\s*(/usr)?(/local)?/bin/(env\s+)?php]] }
+ { Lang="php", Shebang=[[^#!\s*(/usr)?(/local)?/bin/(env\s+)?php]] },
+ { Lang="js", Shebang=[[^#!\s*(/usr)?(/local)?/bin/(env\s+)?node]] }
}