diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index b0609727e0898a..6d35db53b82a63 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -1598,5 +1598,1693 @@ export def Detect_UCI_statements(): bool \ ) enddef +export def DetectByNameAndExt() + const amatch = expand("") + const ext = fnamemodify(amatch, ':e') + const name = fnamemodify(amatch, ':p:t') + const ft = get(byname, name, get(byextesion, ext, '')) + if ft != '' + execute "setf " .. ft + endif +enddef + +const byextesion = { + # 8th (Firth-derivative) + "8th": "8th", + # A-A-P recipe + "aap": "aap", + # ABAB/4 + "abap": "abap", + # ABC music notation + "abc": "abc", + # ABEL + "abl": "abel", + # ABNF + "abnf": "abnf", + # AceDB + "wrm": "acedb", + # Ada (83, 9X, 95) + "adb": "ada", + "ads": "ada", + "ada": "ada", + # AHDL + "tdf": "ahdl", + # AIDL + "aidl": "aidl", + # AMPL + "run": "ampl", + # ANTLR / PCCTS + "g": "pccts", + # ANTLR 4 + "g4": "antlr4", + # Arduino + "ino": "arduino", + "pde": "arduino", + # Asymptote + "asy": "asy", + # XA65 MOS6510 cross assembler + "a65": "a65", + # Applescript + "scpt": "applescript", + # Applix ELF + "am": "elf", + # Arc Macro Language + "aml": "aml", + # ART*Enterprise (formerly ART-IM) + "art": "art", + # AsciiDoc + "asciidoc": "asciidoc", + "adoc": "asciidoc", + # ASN.1 + "asn": "asn", + "asn1": "asn", + # Assembly - Netwide + "nasm": "nasm", + # Assembly - Microsoft + "masm": "masm", + # Assembly - Macro (VAX) + "mar": "vmasm", + # Astro + "astro": "astro", + # Atlas + "atl": "atlas", + "as": "atlas", + # Atom is based on XML + "atom": "xml", + # Authzed + "zed": "authzed", + # Autoit v3 + "au3": "autoit", + # Autohotkey + "ahk": "autohotkey", + # Autotest .at files are actually Autoconf M4 + "at": "config", + # Avenue + "ave": "ave", + # Awk + "awk": "awk", + "gawk": "awk", + # B + "mch": "b", + "ref": "b", + "imp": "b", + # Bass + "bass": "bass", + # IBasic file (similar to QBasic) + "iba": "ibasic", + "ibi": "ibasic", + # FreeBasic file (similar to QBasic) + "fb": "freebasic", + # Batch file for MSDOS. See dist#ft#FTsys for *.sys + "bat": "dosbatch", + # BC calculator + "bc": "bc", + # BDF font + "bdf": "bdf", + # Beancount + "beancount": "beancount", + # BibTeX bibliography database file + "bib": "bib", + # BibTeX Bibliography Style + "bst": "bst", + # Bicep + "bicep": "bicep", + "bicepparam": "bicep", + # BIND zone + "zone": "bindzone", + # Blank + "bl": "blank", + # Brighterscript + "bs": "brighterscript", + # Brightscript + "brs": "brightscript", + # BSDL + "bsd": "bsdl", + "bsdl": "bsdl", + # C3 + "c3": "c3", + "c3i": "c3", + "c3t": "c3", + # Cairo + "cairo": "cairo", + # Cap'n Proto + "capnp": "capnp", + # C# + "cs": "cs", + "csx": "cs", + "cake": "cs", + # CSDL + "csdl": "csdl", + # Ctags + "ctags": "conf", + # Cabal + "cabal": "cabal", + # Cedar + "cedar": "cedar", + # ChaiScript + "chai": "chaiscript", + # Chatito + "chatito": "chatito", + # Chuck + "ck": "chuck", + # Comshare Dimension Definition Language + "cdl": "cdl", + # Conary Recipe + "recipe": "conaryrecipe", + # Corn config file + "corn": "corn", + # ChainPack Object Notation (CPON) + "cpon": "cpon", + # Controllable Regex Mutilator + "crm": "crm", + # Cyn++ + "cyn": "cynpp", + # Cypher query language + "cypher": "cypher", + # C++ + "cxx": "cpp", + "c++": "cpp", + "hh": "cpp", + "hxx": "cpp", + "hpp": "cpp", + "ipp": "cpp", + "moc": "cpp", + "tcc": "cpp", + "inl": "cpp", + # MS files (ixx: C++ module interface file, Microsoft Project file) + "ixx": "cpp", + "mpp": "cpp", + # C++ 20 modules (clang) + # https://clang.llvm.org/docs/StandardCPlusPlusModules.html#file-name-requirement + "cppm": "cpp", + "ccm": "cpp", + "cxxm": "cpp", + "c++m": "cpp", + # Ch (CHscript) + "chf": "ch", + # TLH files are C++ headers generated by Visual C++'s #import from typelibs + "tlh": "cpp", + # Cascading Style Sheets + "css": "css", + # Century Term Command Scripts (*.cmd too) + "con": "cterm", + # ChordPro + "chopro": "chordpro", + "crd": "chordpro", + "cho": "chordpro", + "crdpro": "chordpro", + "chordpro": "chordpro", + # Clean + "dcl": "clean", + "icl": "clean", + # Clever + "eni": "cl", + # Clojure + "clj": "clojure", + "cljs": "clojure", + "cljx": "clojure", + "cljc": "clojure", + # Cobol + "cbl": "cobol", + "cob": "cobol", + # Coco/R + "atg": "coco", + # Cold Fusion + "cfm": "cf", + "cfi": "cf", + "cfc": "cf", + # Cooklang + "cook": "cook", + # Clinical Quality Language (CQL) + # .cql is also mentioned as the 'XDCC Catcher queue list' file extension. + # If support for XDCC Catcher is needed in the future, the contents of the file + # needs to be inspected. + "cql": "cqlang", + # Crystal + "cr": "crystal", + # CSV Files + "csv": "csv", + # CUDA Compute Unified Device Architecture + "cu": "cuda", + "cuh": "cuda", + # Cue + "cue": "cue", + # DAX + "dax": "dax", + # WildPackets EtherPeek Decoder + "dcd": "dcd", + # Elvish + "elv": "elvish", + # Faust + "lib": "faust", + # Libreoffice config files + "xcu": "xml", + "xlb": "xml", + "xlc": "xml", + "xba": "xml", + # Libtool files + "lo": "sh", + "la": "sh", + "lai": "sh", + # LyRiCs + "lrc": "lyrics", + # MLIR + "mlir": "mlir", + # Quake C + "qc": "c", + # Cucumber + "feature": "cucumber", + # Communicating Sequential Processes + "csp": "csp", + "fdr": "csp", + # CUPL logic description and simulation + "pld": "cupl", + "si": "cuplsim", + # Dafny + "dfy": "dafny", + # Dart + "dart": "dart", + "drt": "dart", + # Dhall + "dhall": "dhall", + # ROCKLinux package description + "desc": "desc", + # Desktop files + "desktop": "desktop", + "directory": "desktop", + # Diff files + "diff": "diff", + "rej": "diff", + # DOT + "dot": "dot", + "gv": "dot", + # Dylan - lid files + "lid": "dylanlid", + # Dylan - intr files (melange) + "intr": "dylanintr", + # Dylan + "dylan": "dylan", + # Dracula + "drac": "dracula", + "drc": "dracula", + "lvs": "dracula", + "lpe": "dracula", + # Datascript + "ds": "datascript", + # DTD (Document Type Definition for XML) + "dtd": "dtd", + # Devicetree (.its for U-Boot Flattened Image Trees, .keymap for ZMK keymap, and + # .overlay for Zephyr overlay) + "dts": "dts", + "dtsi": "dts", + "dtso": "dts", + "its": "dts", + "keymap": "dts", + "overlay": "dts", + # Embedix Component Description + "ecd": "ecd", + # ERicsson LANGuage; Yaws is erlang too + "erl": "erlang", + "hrl": "erlang", + "yaws": "erlang", + # Elm + "elm": "elm", + # Elsa - https://github.com/ucsd-progsys/elsa + "lc": "elsa", + # EdgeDB Schema Definition Language + "esdl": "esdl", + # ESQL-C + "ec": "esqlc", + "EC": "esqlc", + # Esterel + "strl": "esterel", + # Essbase script + "csc": "csc", + # Expect + "exp": "expect", + # Falcon + "fal": "falcon", + # Fantom + "fan": "fan", + "fwt": "fan", + # Factor + "factor": "factor", + # FGA + "fga": "fga", + # FIRRTL - Flexible Internal Representation for RTL + "fir": "firrtl", + # Fish shell + "fish": "fish", + # Flix + "flix": "flix", + # Focus Executable + "fex": "focexec", + "focexec": "focexec", + # Focus Master file (but not for auto.master) + "mas": "master", + "master": "master", + # Forth + "ft": "forth", + "fth": "forth", + "4th": "forth", + # Reva Forth + "frt": "reva", + # Framescript + "fsl": "framescript", + # Func + "fc": "func", + # Fusion + "fusion": "fusion", + # FHIR Shorthand (FSH) + "fsh": "fsh", + # F# + "fsi": "fsharp", + "fsx": "fsharp", + # GDMO + "mo": "gdmo", + "gdmo": "gdmo", + # GDscript + "gd": "gdscript", + # Godot resource + "tscn": "gdresource", + "tres": "gdresource", + # Godot shader + "gdshader": "gdshader", + "shader": "gdshader", + # Gemtext + "gmi": "gemtext", + "gemini": "gemtext", + # Gift (Moodle) + "gift": "gift", + # Gleam + "gleam": "gleam", + # GLSL + # Extensions supported by Khronos reference compiler (with one exception, ".glsl") + # https://github.com/KhronosGroup/glslang + "vert": "glsl", + "tesc": "glsl", + "tese": "glsl", + "glsl": "glsl", + "geom": "glsl", + "frag": "glsl", + "comp": "glsl", + "rgen": "glsl", + "rmiss": "glsl", + "rchit": "glsl", + "rahit": "glsl", + "rint": "glsl", + "rcall": "glsl", + # GN (generate ninja) files + "gn": "gn", + "gni": "gn", + # Glimmer-flavored TypeScript and JavaScript + "gts": "typescript.glimmer", + "gjs": "javascript.glimmer", + # Go (Google) + "go": "go", + # GrADS scripts + "gs": "grads", + # GraphQL + "graphql": "graphql", + "graphqls": "graphql", + "gql": "graphql", + # Gretl + "gretl": "gretl", + # GNU Server Pages + "gsp": "gsp", + # GYP + "gyp": "gyp", + "gypi": "gyp", + # Hack + "hack": "hack", + "hackpartial": "hack", + # Haml + "haml": "haml", + # Hamster Classic | Playground files + "hsm": "hamster", + # Handlebars + "hbs": "handlebars", + # Hare + "ha": "hare", + # Haskell + "hs": "haskell", + "hsc": "haskell", + "hs-boot": "haskell", + "hsig": "haskell", + "lhs": "lhaskell", + "chs": "chaskell", + # Haste + "ht": "haste", + "htpp": "hastepreproc", + # Haxe + "hx": "haxe", + # HCL + "hcl": "hcl", + # Hercules + "vc": "hercules", + "ev": "hercules", + "sum": "hercules", + "errsum": "hercules", + # HEEx + "heex": "heex", + # HEX (Intel) + "hex": "hex", + "ihex": "hex", + "int": "hex", + "ihe": "hex", + "ihx": "hex", + "mcs": "hex", + "h32": "hex", + "h80": "hex", + "h86": "hex", + "a43": "hex", + "a90": "hex", + # Hjson + "hjson": "hjson", + # HLS Playlist (or another form of playlist) + "m3u": "hlsplaylist", + "m3u8": "hlsplaylist", + # Hollywood + "hws": "hollywood", + # Hoon + "hoon": "hoon", + # TI Code Composer Studio General Extension Language + "gel": "gel", + # HTTP request files + "http": "http", + # HTML with Ruby - eRuby + "erb": "eruby", + "rhtml": "eruby", + # Some template. Used to be HTML Cheetah. + "tmpl": "template", + # Hurl + "hurl": "hurl", + # Hyper Builder + "hb": "hb", + # Httest + "htt": "httest", + "htb": "httest", + # Icon + "icn": "icon", + # Microsoft IDL (Interface Description Language) Also *.idl + # MOF = WMI (Windows Management Instrumentation) Managed Object Format + "odl": "msidl", + "mof": "msidl", + # Idris2 + "idr": "idris2", + "lidr": "lidris2", + # Inform + "inf": "inform", + "INF": "inform", + # Ipkg for Idris 2 language + "ipkg": "ipkg", + # Informix 4GL (source - canonical, include file, I4GL+M4 preproc.) + "4gl": "fgl", + "4gh": "fgl", + "m4gl": "fgl", + # .INI file for MSDOS + "ini": "dosini", + "INI": "dosini", + # Inko + "inko": "inko", + # Inno Setup + "iss": "iss", + # J + "ijs": "j", + # JAL + "jal": "jal", + "JAL": "jal", + # Jam + "jpl": "jam", + "jpr": "jam", + # Janet + "janet": "janet", + # Java + "java": "java", + "jav": "java", + "jsh": "java", + # JavaCC + "jj": "javacc", + "jjt": "javacc", + # JavaScript, ECMAScript, ES module script, CommonJS script + "js": "javascript", + "jsm": "javascript", + "javascript": "javascript", + "es": "javascript", + "mjs": "javascript", + "cjs": "javascript", + # JavaScript with React + "jsx": "javascriptreact", + # Java Server Pages + "jsp": "jsp", + # Jess + "clp": "jess", + # Jgraph + "jgr": "jgraph", + # Jinja + "jinja": "jinja", + # Jujutsu + "jjdescription": "jjdescription", + # Jovial + "jov": "jovial", + "j73": "jovial", + "jovial": "jovial", + # Jq + "jq": "jq", + # JSON5 + "json5": "json5", + # JSON Patch (RFC 6902) + "json-patch": "json", + # Geojson is also json + "geojson": "json", + # Jupyter Notebook and jupyterlab config is also json + "ipynb": "json", + "jupyterlab-settings": "json", + # Sublime config + "sublime-project": "json", + "sublime-settings": "json", + "sublime-workspace": "json", + # JSON + "json": "json", + "jsonp": "json", + "webmanifest": "json", + # JSON Lines + "jsonl": "jsonl", + # Jsonnet + "jsonnet": "jsonnet", + "libsonnet": "jsonnet", + # Julia + "jl": "julia", + # KAREL + "kl": "karel", + # KDL + "kdl": "kdl", + # KerML + "kerml": "kerml", + # Kixtart + "kix": "kix", + # Kimwitu[++] + "k": "kwt", + # Kivy + "kv": "kivy", + # Kotlin + "kt": "kotlin", + "ktm": "kotlin", + "kts": "kotlin", + # KDE script + "ks": "kscript", + # Kyaml + "kyaml": "yaml", + "kyml": "yaml", + # Lace (ISE) + "ace": "lace", + "ACE": "lace", + # Latte + "latte": "latte", + "lte": "latte", + # LDAP LDIF + "ldif": "ldif", + # Lean + "lean": "lean", + # Ledger + "ldg": "ledger", + "ledger": "ledger", + "journal": "ledger", + # Leo + "leo": "leo", + # Less + "less": "less", + # Lex + "lex": "lex", + "l": "lex", + "lxx": "lex", + "l++": "lex", + # Lilypond + "ly": "lilypond", + "ily": "lilypond", + # Liquidsoap + "liq": "liquidsoap", + # Liquid + "liquid": "liquid", + # Lite + "lite": "lite", + "lt": "lite", + # Livebook + "livemd": "livebook", + # Logtalk + "lgt": "logtalk", + # LOTOS + "lotos": "lotos", + # Lout (also: *.lt) + "lou": "lout", + "lout": "lout", + # Luau + "luau": "luau", + # Lynx style file (or LotusScript!) + "lss": "lss", + # MaGic Point + "mgp": "mgp", + # MakeIndex + "ist": "ist", + "mst": "ist", + # Mallard + "page": "mallard", + # Manpage + "man": "man", + # Maple V + "mv": "maple", + "mpl": "maple", + "mws": "maple", + # Mason (it used to include *.comp, are those Mason files?) + "mason": "mason", + "mhtml": "mason", + # Mathematica notebook and package files + "nb": "mma", + "wl": "mma", + # Maya Extension Language + "mel": "mel", + # mcmeta + "mcmeta": "json", + # MediaWiki + "mw": "mediawiki", + "wiki": "mediawiki", + # Mermaid + "mmd": "mermaid", + "mmdc": "mermaid", + "mermaid": "mermaid", + # Meson Build system config + "wrap": "dosini", + # Metafont + "mf": "mf", + # MetaPost + "mp": "mp", + # MGL + "mgl": "mgl", + # MIX - Knuth assembly + "mix": "mix", + "mixal": "mix", + # Symbian meta-makefile definition (MMP) + "mmp": "mmp", + # Larch/Modula-3 + "lm3": "modula3", + # Monk + "isc": "monk", + "monk": "monk", + "ssc": "monk", + "tsc": "monk", + # MOO + "moo": "moo", + # Moonscript + "moon": "moonscript", + # Move language + "move": "move", + # MPD is based on XML + "mpd": "xml", + # Motorola S record + "s19": "srec", + "s28": "srec", + "s37": "srec", + "mot": "srec", + "srec": "srec", + # Msql + "msql": "msql", + # MuPAD source + "mu": "mupad", + # Mush + "mush": "mush", + # Mustache + "mustache": "mustache", + # N1QL + "n1ql": "n1ql", + "nql": "n1ql", + # Nim file + "nim": "nim", + "nims": "nim", + "nimble": "nim", + # Ninja file + "ninja": "ninja", + # Nix + "nix": "nix", + # Norg + "norg": "norg", + # Novell netware batch files + "ncf": "ncf", + # Not Quite C + "nqc": "nqc", + # NSE - Nmap Script Engine - uses Lua syntax + "nse": "lua", + # NSIS + "nsi": "nsis", + "nsh": "nsis", + # N-Triples + "nt": "ntriples", + # Nu + "nu": "nu", + # Numbat + "nbt": "numbat", + # Oblivion Language and Oblivion Script Extender + "obl": "obse", + "obse": "obse", + "oblivion": "obse", + "obscript": "obse", + # Objdump + "objdump": "objdump", + "cppobjdump": "objdump", + # Occam + "occ": "occam", + # Odin + "odin": "odin", + # Omnimark + "xom": "omnimark", + "xin": "omnimark", + # OpenROAD + "or": "openroad", + # OpenSCAD + "scad": "openscad", + # Oracle config file + "ora": "ora", + # Org (Emacs' org-mode) + "org": "org", + "org_archive": "org", + # PApp + "papp": "papp", + "pxml": "papp", + "pxsl": "papp", + # Pascal (also *.p, *.pp, *.inc) + "pas": "pascal", + # Delphi + "dpr": "pascal", + # Free Pascal makefile definition file + "fpc": "fpcmake", + # Path of Exile item filter + "filter": "poefilter", + # PDF + "pdf": "pdf", + # PCMK - HAE - crm configure edit + "pcmk": "pcmk", + # PEM (Privacy-Enhanced Mail) + "pem": "pem", + "cer": "pem", + "crt": "pem", + "csr": "pem", + # Perl POD + "pod": "pod", + # Pike and Cmod + "pike": "pike", + "pmod": "pike", + "cmod": "cmod", + # Palm Resource compiler + "rcp": "pilrc", + # Pip requirements + "pip": "requirements", + # PL/1, PL/I + "pli": "pli", + "pl1": "pli", + # PL/M (also: *.inp) + "plm": "plm", + "p36": "plm", + "pac": "plm", + # PL/SQL + "pls": "plsql", + "plsql": "plsql", + # PLP + "plp": "plp", + # PO and PO template (GNU gettext) + "po": "po", + "pot": "po", + # Pony + "pony": "pony", + # PostScript (+ font files, encapsulated PostScript, Adobe Illustrator) + "ps": "postscr", + "pfa": "postscr", + "afm": "postscr", + "eps": "postscr", + "epsf": "postscr", + "epsi": "postscr", + "ai": "postscr", + # PostScript Printer Description + "ppd": "ppd", + # Povray + "pov": "pov", + # Power Query M + "pq": "pq", + # Prisma + "prisma": "prisma", + # PPWizard + "it": "ppwiz", + "ih": "ppwiz", + # Pug + "pug": "pug", + # Embedded Puppet + "epp": "epuppet", + # Obj 3D file format + # TODO: is there a way to avoid MS-Windows Object files? + "obj": "obj", + # Oracle Pro*C/C++ + "pc": "proc", + # Privoxy actions file + "action": "privoxy", + # Software Distributor Product Specification File (POSIX 1387.2-1995) + "psf": "psf", + # Prolog + "pdb": "prolog", + # Promela + "pml": "promela", + # Property Specification Language (PSL) + "psl": "psl", + # Google protocol buffers + "proto": "proto", + "txtpb": "pbtxt", + "textproto": "pbtxt", + "textpb": "pbtxt", + "pbtxt": "pbtxt", + # Poke + "pk": "poke", + # Nvidia PTX (Parallel Thread Execution) + # See https://docs.nvidia.com/cuda/parallel-thread-execution/ + "ptx": "ptx", + # Purescript + "purs": "purescript", + # Pyret + "arr": "pyret", + # Pyrex/Cython + "pyx": "pyrex", + "pyx+": "pyrex", + "pxd": "pyrex", + "pxi": "pyrex", + # QL + "ql": "ql", + "qll": "ql", + # QML + "qml": "qml", + "qbs": "qml", + # Quarto + "qmd": "quarto", + # QuickBms + "bms": "quickbms", + # Racket (formerly detected as "scheme") + "rkt": "racket", + "rktd": "racket", + "rktl": "racket", + # Radiance + "rad": "radiance", + "mat": "radiance", + # Raku (formerly Perl6) + "pm6": "raku", + "p6": "raku", + "t6": "raku", + "pod6": "raku", + "raku": "raku", + "rakumod": "raku", + "rakudoc": "raku", + "rakutest": "raku", + # Renderman Interface Bytestream + "rib": "rib", + # Rego Policy Language + "rego": "rego", + # Rexx + "rex": "rexx", + "orx": "rexx", + "rxo": "rexx", + "rxj": "rexx", + "jrexx": "rexx", + "rexxj": "rexx", + "rexx": "rexx", + "testGroup": "rexx", + "testUnit": "rexx", + # RSS looks like XML + "rss": "xml", + # ReScript + "res": "rescript", + "resi": "rescript", + # Relax NG Compact + "rnc": "rnc", + # Relax NG XML + "rng": "rng", + # ILE RPG + "rpgle": "rpgle", + "rpgleinc": "rpgle", + # RPL/2 + "rpl": "rpl", + # Robot Framework + "robot": "robot", + "resource": "robot", + # Roc + "roc": "roc", + # RON (Rusty Object Notation) + "ron": "ron", + # MikroTik RouterOS script + "rsc": "routeros", + # Rpcgen + "x": "rpcgen", + # reStructuredText Documentation Format + "rst": "rst", + # RTF + "rtf": "rtf", + # Ruby + "rb": "ruby", + "rbw": "ruby", + # RubyGems + "gemspec": "ruby", + # RBS (Ruby Signature) + "rbs": "rbs", + # Rackup + "ru": "ruby", + # Ruby on Rails + "builder": "ruby", + "rxml": "ruby", + "rjs": "ruby", + # Rust + "rs": "rust", + # S-lang + "sl": "slang", + # Sage + "sage": "sage", + # SAS script + "sas": "sas", + # Sass + "sass": "sass", + # Scala + "scala": "scala", + "mill": "scala", + # SBT - Scala Build Tool + "sbt": "sbt", + # Slang Shading Language + "slang": "shaderslang", + # Slint + "slint": "slint", + # Scilab + "sci": "scilab", + "sce": "scilab", + # SCSS + "scss": "scss", + # SD: Streaming Descriptors + "sd": "sd", + # SDL + "sdl": "sdl", + "pr": "sdl", + # sed + "sed": "sed", + # SubRip + "srt": "srt", + # SubStation Alpha + "ass": "ssa", + "ssa": "ssa", + # svelte + "svelte": "svelte", + # Sieve (RFC 3028, 5228) + "siv": "sieve", + "sieve": "sieve", + # TriG + "trig": "trig", + # Zig and Zig Object Notation (ZON) + "zig": "zig", + "zon": "zig", + # Ziggy and Ziggy Schema + "ziggy": "ziggy", + "ziggy-schema": "ziggy_schema", + # Zserio + "zs": "zserio", + # Salt state files + "sls": "salt", + # Sexplib + "sexp": "sexplib", + # Simula + "sim": "simula", + # SINDA + "sin": "sinda", + "s85": "sinda", + # SiSU + "sst": "sisu", + "ssm": "sisu", + "ssi": "sisu", + "-sst": "sisu", + "_sst": "sisu", + # SKILL + "il": "skill", + "ils": "skill", + "cdf": "skill", + # Cadence + "cdc": "cdc", + # Cangjie + "cj": "cangjie", + # SLRN + "score": "slrnsc", + # Smali + "smali": "smali", + # Smalltalk + "st": "st", + # Smarty templates + "tpl": "smarty", + # SMITH + "smt": "smith", + "smith": "smith", + # Smithy + "smithy": "smithy", + # Snobol4 and spitbol + "sno": "snobol4", + "spt": "snobol4", + # SNMP MIB files + "mib": "mib", + "my": "mib", + # Solidity + "sol": "solidity", + # SPARQL queries + "rq": "sparql", + "sparql": "sparql", + # Spec (Linux RPM) + "spec": "spec", + # Speedup (AspenTech plant simulator) + "speedup": "spup", + "spdata": "spup", + "spd": "spup", + # Slice + "ice": "slice", + # Microsoft Visual Studio Solution + "sln": "solution", + "slnf": "json", + "slnx": "xml", + # Spice + "sp": "spice", + "spice": "spice", + # Spyce + "spy": "spyce", + "spi": "spyce", + # SQL for Oracle Designer + "tyb": "sql", + "tyc": "sql", + "pkb": "sql", + "pks": "sql", + # SQLJ + "sqlj": "sqlj", + # PRQL + "prql": "prql", + # SQR + "sqr": "sqr", + "sqi": "sqr", + # Squirrel + "nut": "squirrel", + # Starlark + "ipd": "starlark", + "star": "starlark", + "starlark": "starlark", + # OpenVPN configuration + "ovpn": "openvpn", + # Stata + "ado": "stata", + "do": "stata", + "imata": "stata", + "mata": "stata", + # SMCL + "hlp": "smcl", + "ihlp": "smcl", + "smcl": "smcl", + # Stored Procedures + "stp": "stp", + # Standard ML + "sml": "sml", + # Sratus VOS command macro + "cm": "voscm", + # Sway (programming language) + "sw": "sway", + # Swift + "swift": "swift", + "swiftinterface": "swift", + # Swig + "swg": "swig", + "swig": "swig", + # Synopsys Design Constraints + "sdc": "sdc", + # SVG (Scalable Vector Graphics) + "svg": "svg", + # Surface + "sface": "surface", + # SysML + "sysml": "sysml", + # LLVM TableGen + "td": "tablegen", + # TAK + "tak": "tak", + # Unx Tal + "tal": "tal", + # templ + "templ": "templ", + # Teal + "tl": "teal", + # TealInfo + "tli": "tli", + # Telix Salt + "slt": "tsalt", + # Terminfo + "ti": "terminfo", + # Tera + "tera": "tera", + # Terraform variables + "tfvars": "terraform-vars", + # TeX + "latex": "tex", + "sty": "tex", + "dtx": "tex", + "ltx": "tex", + "bbl": "tex", + # LaTeX files generated by Inkscape + "pdf_tex": "tex", + # ConTeXt + "mkii": "context", + "mkiv": "context", + "mkvi": "context", + "mkxl": "context", + "mklx": "context", + # Texinfo + "texinfo": "texinfo", + "texi": "texinfo", + "txi": "texinfo", + # Thrift (Apache) + "thrift": "thrift", + # TLA+ + "tla": "tla", + # TPP - Text Presentation Program + "tpp": "tpp", + # TRACE32 Script Language + "cmm": "trace32", + "cmmt": "trace32", + "t32": "trace32", + # Treetop + "treetop": "treetop", + # TSS - Geometry + "tssgm": "tssgm", + # TSS - Optics + "tssop": "tssop", + # TSS - Command Line (temporary) + "tsscl": "tsscl", + # TSV Files + "tsv": "tsv", + # Tutor mode + "tutor": "tutor", + # TWIG files + "twig": "twig", + # TypeScript module and common + "mts": "typescript", + "cts": "typescript", + # TypeScript with React + "tsx": "typescriptreact", + # TypeSpec files + "tsp": "typespec", + # Motif UIT/UIL files + "uit": "uil", + "uil": "uil", + # Ungrammar, AKA Un-grammar + "ungram": "ungrammar", + # UnrealScript + "uc": "uc", + # URL shortcut + "url": "urlshortcut", + # V + "vsh": "v", + "vv": "v", + # Vala + "vala": "vala", + # VDF + "vdf": "vdf", + # VDM + "vdmpp": "vdmpp", + "vpp": "vdmpp", + "vdmrt": "vdmrt", + "vdmsl": "vdmsl", + "vdm": "vdmsl", + # Vento + "vto": "vento", + # Vera + "vr": "vera", + "vri": "vera", + "vrh": "vera", + # Verilog-AMS HDL + "va": "verilogams", + "vams": "verilogams", + # SystemVerilog + "sv": "systemverilog", + "svh": "systemverilog", + # VHS tape + # .tape is also used by TapeCalc, which we do not support ATM. If TapeCalc + # support is needed the contents of the file needs to be inspected. + "tape": "vhs", + # VHDL + "hdl": "vhdl", + "vhd": "vhdl", + "vhdl": "vhdl", + "vbe": "vhdl", + "vst": "vhdl", + "vho": "vhdl", + # Visual Basic + # user control, ActiveX document form, active designer, property page + "ctl": "vb", + "dob": "vb", + "dsr": "vb", + "pag": "vb", + # Visual Basic Project + "vbp": "dosini", + # VBScript (close to Visual Basic) + "vbs": "vb", + # Visual Basic .NET (close to Visual Basic) + "vb": "vb", + # Visual Studio Macro + "dsm": "vb", + # SaxBasic (close to Visual Basic) + "sba": "vb", + # VRML V1.0c + "wrl": "vrml", + # Vroom (vim testing and executable documentation) + "vroom": "vroom", + # Vue.js Single File Component + "vue": "vue", + # WebAssembly + "wat": "wat", + "wast": "wat", + # WebAssembly Interface Type (WIT) + "wit": "wit", + # Webmacro + "wm": "webmacro", + # WebGPU Shading Language (WGSL) + "wgsl": "wgsl", + # Website MetaLanguage + "wml": "wml", + # Winbatch + "wbt": "winbatch", + # WSML + "wsml": "wsml", + # WPL + "wpl": "xml", + # XHTML + "xhtml": "xhtml", + "xht": "xhtml", + # Xilinx Vivado/Vitis project files and block design files + "xpr": "xml", + "xpfm": "xml", + "spfm": "xml", + "bxml": "xml", + "mmi": "xml", + "bd": "json", + "bda": "json", + "xci": "json", + "mss": "mss", + # XS Perl extension interface language + "xs": "xs", + # Xmath + "msc": "xmath", + "msf": "xmath", + # XMI (holding UML models) is also XML + "xmi": "xml", + # Unison Language + "u": "unison", + "uu": "unison", + # Qt Linguist translation source and Qt User Interface Files are XML + # However, for .ts TypeScript is more common. + "ui": "xml", + # TPM's are RDF-based descriptions of TeX packages (Nikolai Weibull) + "tpm": "xml", + # Web Services Description Language (WSDL) + "wsdl": "xml", + # Workflow Description Language (WDL) + "wdl": "wdl", + # XLIFF (XML Localisation Interchange File Format) is also XML + "xlf": "xml", + "xliff": "xml", + # XML User Interface Language + "xul": "xml", + # Xquery + "xq": "xquery", + "xql": "xquery", + "xqm": "xquery", + "xquery": "xquery", + "xqy": "xquery", + # XSD + "xsd": "xsd", + # Xslt + "xsl": "xslt", + "xslt": "xslt", + # Yacc + "yy": "yacc", + "yxx": "yacc", + "y++": "yacc", + # Yaml + "yaml": "yaml", + "yml": "yaml", + "eyaml": "yaml", + # Raml + "raml": "raml", + # YANG + "yang": "yang", + # Yuck + "yuck": "yuck", + # Zimbu + "zu": "zimbu", + # Zimbu Templates + "zut": "zimbutempl", + # Z80 assembler asz80 + "z8a": "z8a", + # Stylus + "styl": "stylus", + "stylus": "stylus", + # Universal Scene Description + "usda": "usd", + "usd": "usd", + # Rofi stylesheet + "rasi": "rasi", + # Zsh module + # mdd: https://github.com/zsh-users/zsh/blob/57248b88830ce56adc243a40c7773fb3825cab34/Etc/zsh-development-guide#L285-L288 + # mdh, pro: https://github.com/zsh-users/zsh/blob/57248b88830ce56adc243a40c7773fb3825cab34/Etc/zsh-development-guide#L268-L271 + # *.mdd will generate *.mdh, *.pro and *.epro. + # module's *.c will #include *.mdh containing module dependency information and + # *.pro containing all static declarations of *.c + # *.epro contains all external declarations of *.c + "mdh": "c", + "epro": "c", + "mdd": "sh", + # Blueprint markup files + "blp": "blueprint", + # Blueprint build system file + "bp": "bp", +} +const byname = { + # Ant + "build.xml": "ant", + # Ash of busybox + ".ash_history": "sh", + # Automake (must be before the *.am pattern) + "makefile.am": "automake", + "Makefile.am": "automake", + "GNUmakefile.am": "automake", + # APT config file + "apt.conf": "aptconf", + # BIND zone + "named.root": "bindzone", + # Busted (Lua unit testing framework - configuration files) + ".busted": "lua", + # Bun history + ".bun_repl_history": "javascript", + # Calendar + "calendar": "calendar", + # Cgdb config file + "cgdbrc": "cgdbrc", + # Cfengine + "cfengine.conf": "cfengine", + # Chktex + ".chktexrc": "conf", + # Codeowners + "CODEOWNERS": "codeowners", + # Clangd + ".clangd": "yaml", + # Conda configuration file + ".condarc": "yaml", + "condarc": "yaml", + # Cling + ".cling_history": "cpp", + # CmakeCache + "CMakeCache.txt": "cmakecache", + # Configure scripts + "configure.in": "config", + "configure.ac": "config", + # Debian devscripts + "devscripts.conf": "sh", + ".devscripts": "sh", + # Fontconfig config files + "fonts.conf": "xml", + # Libreoffice config files + "psprint.conf": "dosini", + "sofficerc": "dosini", + # Lynx config files + "lynx.cfg": "lynx", + # Mamba configuration file + ".mambarc": "yaml", + "mambarc": "yaml", + # XDG mimeapps.list + "mimeapps.list": "dosini", + # Many tools written in Python use dosini as their config + # like setuptools, pudb, coverage, pypi, gitlint, oelint-adv, pylint, bpython, mypy + # (must be before *.cfg) + "pip.conf": "dosini", + "setup.cfg": "dosini", + "pudb.cfg": "dosini", + ".coveragerc": "dosini", + ".pypirc": "dosini", + ".gitlint": "dosini", + ".oelint.cfg": "dosini", + # Many tools written in Python use toml as their config, like black + ".black": "toml", + # Wakatime config + ".wakatime.cfg": "dosini", + # Deno history + "deno_history.txt": "javascript", + # Deny hosts + "denyhosts.conf": "denyhosts", + # Dict config + "dict.conf": "dictconf", + ".dictrc": "dictconf", + # Earthfile + "Earthfile": "earthfile", + # EditorConfig + ".editorconfig": "editorconfig", + # Elinks configuration + "elinks.conf": "elinks", + # Exim + "exim.conf": "exim", + # Exports + "exports": "exports", + # Fetchmail RC file + ".fetchmailrc": "fetchmail", + # Focus Master file (but not for auto.master) + "auto.master": "conf", + # FStab + "fstab": "fstab", + "mtab": "fstab", + # Git + "COMMIT_EDITMSG": "gitcommit", + "MERGE_MSG": "gitcommit", + "TAG_EDITMSG": "gitcommit", + "NOTES_EDITMSG": "gitcommit", + "EDIT_DESCRIPTION": "gitcommit", + # gnash(1) configuration files + "gnashrc": "gnash", + ".gnashrc": "gnash", + "gnashpluginrc": "gnash", + ".gnashpluginrc": "gnash", + # Gitolite + "gitolite.conf": "gitolite", + # Go (Google) + "Gopkg.lock": "toml", + "go.work": "gowork", + # GoAccess configuration + "goaccess.conf": "goaccess", + # GTK RC + ".gtkrc": "gtkrc", + "gtkrc": "gtkrc", + # Haskell + "cabal.project": "cabalproject", + # Go checksum file (must be before *.sum Hercules) + "go.sum": "gosum", + "go.work.sum": "gosum", + # Indent profile (must come before IDL *.pro!) + ".indent.pro": "indent", + # Indent RC + "indentrc": "indent", + # Ipfilter + "ipf.conf": "ipfilter", + "ipf6.conf": "ipfilter", + "ipf.rules": "ipfilter", + # SysV Inittab + "inittab": "inittab", + # JavaScript, ECMAScript, ES module script, CommonJS script + ".node_repl_history": "javascript", + # Other files that look like json + ".prettierrc": "json", + ".firebaserc": "json", + ".stylelintrc": "json", + ".lintstagedrc": "json", + "flake.lock": "json", + "deno.lock": "json", + ".swcrc": "json", + "composer.lock": "json", + "symfony.lock": "json", + # Kconfig + "Kconfig": "kconfig", + "Kconfig.debug": "kconfig", + "Config.in": "kconfig", + # Latexmkrc + ".latexmkrc": "perl", + "latexmkrc": "perl", + # LDAP configuration + "ldaprc": "ldapconf", + ".ldaprc": "ldapconf", + "ldap.conf": "ldapconf", + # Luadoc, Ldoc (must be before *.ld) + "config.ld": "lua", + # lf configuration (lfrc) + "lfrc": "lf", + # Lilo: Linux loader + "lilo.conf": "lilo", + # SBCL implementation of Common Lisp + "sbclrc": "lisp", + ".sbclrc": "lisp", + # Luau config + ".luaurc": "jsonc", + # Luacheck + ".luacheckrc": "lua", + # Mailcap configuration file + ".mailcap": "mailcap", + "mailcap": "mailcap", + # Meson Build system config + "meson.build": "meson", + "meson.options": "meson", + "meson_options.txt": "meson", + # msmtp + ".msmtprc": "msmtp", + # Mrxvtrc + "mrxvtrc": "mrxvtrc", + ".mrxvtrc": "mrxvtrc", + # Noemutt setup file + "Neomuttrc": "neomuttrc", + # Netrc + ".netrc": "netrc", + # NPM RC file + "npmrc": "dosini", + ".npmrc": "dosini", + # ondir + ".ondirrc": "ondir", + # OpenAL Soft config files + ".alsoftrc": "dosini", + "alsoft.conf": "dosini", + "alsoft.ini": "dosini", + "alsoftrc.sample": "dosini", + # Packet filter conf + "pf.conf": "pf", + # ini style config files, using # comments + "pacman.conf": "confini", + "mpv.conf": "confini", + # Pam environment + "pam_env.conf": "pamenv", + ".pam_environment": "pamenv", + # Perl Reply + ".replyrc": "dosini", + # Pine config + ".pinerc": "pine", + "pinerc": "pine", + ".pinercex": "pine", + "pinercex": "pine", + # Pip requirements + "requirements.txt": "requirements", + # Pipenv Pipfiles + "Pipfile": "toml", + "Pipfile.lock": "json", + # Pixi lock + "pixi.lock": "yaml", + # Postfix main config + "main.cf": "pfmain", + "main.cf.proto": "pfmain", + # Povray configuration + ".povrayrc": "povini", + # Puppet + "Puppetfile": "ruby", + # Procmail + ".procmail": "procmail", + ".procmailrc": "procmail", + # PyPA manifest files + "MANIFEST.in": "pymanifest", + # QMLdir + "qmldir": "qmldir", + # Ratpoison config/command files + ".ratpoisonrc": "ratpoison", + "ratpoisonrc": "ratpoison", + # Readline + ".inputrc": "readline", + "inputrc": "readline", + # R profile file + ".Rhistory": "r", + ".Rprofile": "r", + "Rprofile": "r", + "Rprofile.site": "r", + # Resolv.conf + "resolv.conf": "resolv", + # Robots.txt + "robots.txt": "robots", + # Interactive Ruby shell + ".irbrc": "ruby", + "irbrc": "ruby", + ".irb_history": "ruby", + "irb_history": "ruby", + # Bundler + "Gemfile": "ruby", + # Samba config + "smb.conf": "samba", + # Sendmail + "sendmail.cf": "sm", + # SGML catalog file + "catalog": "catalog", + # Alpine Linux APKBUILDs are actually POSIX sh scripts with special treatment. + "APKBUILD": "apkbuild", + # Screen RC + ".screenrc": "screen", + "screenrc": "screen", + # SLRN + ".slrnrc": "slrnrc", + # Squid + "squid.conf": "squid", + # OpenSSH server configuration + "sshd_config": "sshdconfig", + # Tags + "tags": "tags", + # Xilinx's xsct and xsdb use tcl + ".xsctcmdhistory": "tcl", + ".xsdbcmdhistory": "tcl", + # TeX configuration + "texmf.cnf": "texmf", + # Tidy config + ".tidyrc": "tidy", + "tidyrc": "tidy", + "tidy.conf": "tidy", + # TF (TinyFugue) mud client + ".tfrc": "tf", + "tfrc": "tf", + # Trustees + "trustees.conf": "trustees", + # Vagrant (uses Ruby syntax) + "Vagrantfile": "ruby", + # Viminfo file + ".viminfo": "viminfo", + "_viminfo": "viminfo", + # Vgrindefs file + "vgrindefs": "vgrindefs", + # Wget config + ".wgetrc": "wget", + "wgetrc": "wget", + # Wget2 config + ".wget2rc": "wget2", + "wget2rc": "wget2", + # WvDial + "wvdial.conf": "wvdial", + ".wvdialrc": "wvdial", + # CVS RC file + ".cvsrc": "cvsrc", + # X11vnc + ".x11vncrc": "conf", + # Xprofile + ".xprofile": "sh", + # X compose file + ".XCompose": "xcompose", + "Compose": "xcompose", + # MSBUILD configuration files are also XML + "Directory.Packages.props": "xml", + "Directory.Build.targets": "xml", + "Directory.Build.props": "xml", + # ATI graphics driver configuration + "fglrxrc": "xml", + # Nfs + "nfs.conf": "dosini", + "nfsmount.conf": "dosini", + # Yarn lock + "yarn.lock": "yaml", + # Zathurarc + "zathurarc": "zathurarc", +} + # Uncomment this line to check for compilation errors early # defcompile diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 688e783f0aab00..306b413ae77bea 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -57,108 +57,36 @@ au BufNewFile,BufRead */doc/*.txt \| setf help \| endif +" Simply detect from name and extention +au BufNewFile,BufRead * call dist#ft#DetectByNameAndExt() + " Abaqus or Trasys au BufNewFile,BufRead *.inp call dist#ft#Check_inp() -" 8th (Firth-derivative) -au BufNewFile,BufRead *.8th setf 8th - -" A-A-P recipe -au BufNewFile,BufRead *.aap setf aap - " A2ps printing utility au BufNewFile,BufRead */etc/a2ps.cfg,*/etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps -" ABAB/4 -au BufNewFile,BufRead *.abap setf abap - -" ABC music notation -au BufNewFile,BufRead *.abc setf abc - -" ABEL -au BufNewFile,BufRead *.abl setf abel - -" ABNF -au BufNewFile,BufRead *.abnf setf abnf - -" AceDB -au BufNewFile,BufRead *.wrm setf acedb - " Ada (83, 9X, 95) -au BufNewFile,BufRead *.adb,*.ads,*.ada setf ada if has("vms") au BufNewFile,BufRead *.gpr,*.ada_m,*.adc setf ada else au BufNewFile,BufRead *.gpr setf ada endif -" AHDL -au BufNewFile,BufRead *.tdf setf ahdl - -" AIDL -au BufNewFile,BufRead *.aidl setf aidl - -" AMPL -au BufNewFile,BufRead *.run setf ampl - -" Ant -au BufNewFile,BufRead build.xml setf ant - -" ANTLR / PCCTS -"au BufNewFile,BufRead *.g setf antlr -au BufNewFile,BufRead *.g setf pccts - -" ANTLR 4 -au BufNewFile,BufRead *.g4 setf antlr4 - -" Arduino -au BufNewFile,BufRead *.ino,*.pde setf arduino - -" Ash of busybox -au BufNewFile,BufRead .ash_history setf sh - -" Asymptote -au BufNewFile,BufRead *.asy setf asy - " Apache config file au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache au BufNewFile,BufRead */etc/apache2/sites-*/*.com setf apache -" XA65 MOS6510 cross assembler -au BufNewFile,BufRead *.a65 setf a65 - -" Applescript -au BufNewFile,BufRead *.scpt setf applescript - -" Automake (must be before the *.am pattern) -au BufNewFile,BufRead [mM]akefile.am,GNUmakefile.am setf automake - -" Applix ELF -au BufNewFile,BufRead *.am setf elf - " ALSA configuration au BufNewFile,BufRead .asoundrc,*/usr/share/alsa/alsa.conf,*/etc/asound.conf setf alsaconf -" Arc Macro Language -au BufNewFile,BufRead *.aml setf aml - " APT config file -au BufNewFile,BufRead apt.conf setf aptconf au BufNewFile,BufRead */.aptitude/config setf aptconf " more generic pattern far down " Arch Inventory file au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch -" ART*Enterprise (formerly ART-IM) -au BufNewFile,BufRead *.art setf art - -" AsciiDoc -au BufNewFile,BufRead *.asciidoc,*.adoc setf asciidoc - -" ASN.1 -au BufNewFile,BufRead *.asn,*.asn1 setf asn - " Active Server Pages (with Visual Basic Script) au BufNewFile,BufRead *.asa \ if exists("g:filetype_asa") | @@ -192,60 +120,11 @@ au BufNewFile,BufRead *.demo,*.dm{1,2,3,t},*.wxm,maxima-init.mac setf maxima " *.[sS], *.[aA] usually Assembly - GNU au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call dist#ft#FTasm() -" Assembly - Netwide -au BufNewFile,BufRead *.nasm setf nasm - -" Assembly - Microsoft -au BufNewFile,BufRead *.masm setf masm - -" Assembly - Macro (VAX) -au BufNewFile,BufRead *.mar setf vmasm - -" Astro -au BufNewFile,BufRead *.astro setf astro - -" Atlas -au BufNewFile,BufRead *.atl,*.as setf atlas - -" Atom is based on XML -au BufNewFile,BufRead *.atom setf xml - -" Authzed -au BufNewFile,BufRead *.zed setf authzed - -" Autoit v3 -au BufNewFile,BufRead *.au3 setf autoit - -" Autohotkey -au BufNewFile,BufRead *.ahk setf autohotkey - -" Autotest .at files are actually Autoconf M4 -au BufNewFile,BufRead *.at setf config - -" Avenue -au BufNewFile,BufRead *.ave setf ave - -" Awk -au BufNewFile,BufRead *.awk,*.gawk setf awk - -" B -au BufNewFile,BufRead *.mch,*.ref,*.imp setf b - " BASIC or Visual Basic au BufNewFile,BufRead *.bas call dist#ft#FTbas() au BufNewFile,BufRead *.bi,*.bm call dist#ft#FTbas() -" Bass -au BufNewFile,BufRead *.bass setf bass - -" IBasic file (similar to QBasic) -au BufNewFile,BufRead *.iba,*.ibi setf ibasic - -" FreeBasic file (similar to QBasic) -au BufNewFile,BufRead *.fb setf freebasic - " Batch file for MSDOS. See dist#ft#FTsys for *.sys -au BufNewFile,BufRead *.bat setf dosbatch " *.cmd is close to a Batch file, but on OS/2 Rexx files and TI linker command files also use *.cmd. " lnk: `/* comment */`, `// comment`, and `--linker-option=value` " rexx: `/* comment */`, `-- comment` @@ -270,67 +149,29 @@ endif " Batch file for 4DOS au BufNewFile,BufRead *.btm call dist#ft#FTbtm() -" BC calculator -au BufNewFile,BufRead *.bc setf bc - -" BDF font -au BufNewFile,BufRead *.bdf setf bdf - -" Beancount -au BufNewFile,BufRead *.beancount setf beancount - -" BibTeX bibliography database file -au BufNewFile,BufRead *.bib setf bib - -" BibTeX Bibliography Style -au BufNewFile,BufRead *.bst setf bst - -" Bicep -au BufNewFile,BufRead *.bicep,*.bicepparam setf bicep - " BIND configuration " sudoedit uses namedXXXX.conf au BufNewFile,BufRead named*.conf,rndc*.conf,rndc*.key setf named " BIND zone -au BufNewFile,BufRead named.root setf bindzone -au BufNewFile,BufRead *.zone setf bindzone au BufNewFile,BufRead *.db call dist#ft#BindzoneCheck('') " Blade au BufNewFile,BufRead *.blade.php setf blade -" Blank -au BufNewFile,BufRead *.bl setf blank - " Bitbake au BufNewFile,BufRead *.bb,*.bbappend,*.bbclass,*/build/conf/*.conf,*/meta{-*,}/conf/*.conf,*/project-spec/configs/*.conf setf bitbake " Blkid cache file au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml -" Brighterscript -au BufNewFile,BufRead *.bs setf brighterscript - -" Brightscript -au BufNewFile,BufRead *.brs setf brightscript - -" BSDL -au BufNewFile,BufRead *.bsd,*.bsdl setf bsdl - " Bazel (https://bazel.build) and Buck2 (https://buck2.build/) -autocmd BufRead,BufNewFile *.bzl,*.bxl,*.bazel,WORKSPACE,WORKSPACE.bzlmod setf bzl +au BufNewFile,BufRead *.bzl,*.bxl,*.bazel,WORKSPACE,WORKSPACE.bzlmod setf bzl if has("fname_case") " There is another check for BUILD and BUCK further below. - autocmd BufRead,BufNewFile *.BUILD,BUILD,BUCK setf bzl + au BufNewFile,BufRead *.BUILD,BUILD,BUCK setf bzl endif -" Busted (Lua unit testing framework - configuration files) -au BufNewFile,BufRead .busted setf lua - -" Bun history -au BufNewFile,BufRead .bun_repl_history setf javascript - " Bundle config au BufNewFile,BufRead */.bundle/config setf yaml @@ -338,38 +179,11 @@ au BufNewFile,BufRead */.bundle/config setf yaml au BufNewFile,BufRead *.c call dist#ft#FTlpc() au BufNewFile,BufRead *.lpc,*.ulpc setf lpc -" C3 -au BufNewFile,BufRead *.c3,*.c3i,*.c3t setf c3 - -" Cairo -au BufNewFile,BufRead *.cairo setf cairo - -" Calendar -au BufNewFile,BufRead calendar setf calendar - -" Cap'n Proto -au BufNewFile,BufRead *.capnp setf capnp - -" Cgdb config file -au BufNewFile,BufRead cgdbrc setf cgdbrc - " m17n database files. */m17n/* matches installed files, */.m17n.d/* matches " per-user config files, */m17n-db/* matches the git repo. (must be before " *.cs) au BufNewFile,BufRead */{m17n,.m17n.d,m17n-db}/*.{ali,cs,dir,flt,fst,lnm,mic,mim,tbl} setf m17ndb -" C# -au BufNewFile,BufRead *.cs,*.csx,*.cake setf cs - -" CSDL -au BufNewFile,BufRead *.csdl setf csdl - -" Ctags -au BufNewFile,BufRead *.ctags setf conf - -" Cabal -au BufNewFile,BufRead *.cabal setf cabal - " Cdrdao TOC or LaTeX \tableofcontents files au BufNewFile,BufRead *.toc \ if getline(1) =~# '\\contentsline' |setf tex|else|setf cdrtoc|endif @@ -377,51 +191,12 @@ au BufNewFile,BufRead *.toc " Cdrdao config au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/defaults/cdrdao,*/etc/default/cdrdao,.cdrdao setf cdrdaoconf -" Cedar -au BufNewFile,BufRead *.cedar setf cedar - -" Cfengine -au BufNewFile,BufRead cfengine.conf setf cfengine - -" ChaiScript -au BufRead,BufNewFile *.chai setf chaiscript - -" Chatito -au BufNewFile,BufRead *.chatito setf chatito - -" Chktex -au BufRead,BufNewFile .chktexrc setf conf - -" Chuck -au BufNewFile,BufRead *.ck setf chuck - -" Comshare Dimension Definition Language -au BufNewFile,BufRead *.cdl setf cdl - -" Codeowners -au BufNewFile,BufRead CODEOWNERS setf codeowners - -" Conary Recipe -au BufNewFile,BufRead *.recipe setf conaryrecipe - " Containers config files au BufNewFile,BufRead */containers/containers.conf{,.d/*.conf} setf toml au BufNewFile,BufRead */containers/containers.conf.modules/*.conf setf toml au BufNewFile,BufRead */containers/registries.conf{,.d/*.conf} setf toml au BufNewFile,BufRead */containers/storage.conf setf toml -" Corn config file -au BufNewFile,BufRead *.corn setf corn - -" ChainPack Object Notation (CPON) -au BufNewFile,BufRead *.cpon setf cpon - -" Controllable Regex Mutilator -au BufNewFile,BufRead *.crm setf crm - -" Cyn++ -au BufNewFile,BufRead *.cyn setf cynpp - " Cynlib " .cc and .cpp files can be C++ or Cynlib. au BufNewFile,BufRead *.cc @@ -429,38 +204,15 @@ au BufNewFile,BufRead *.cc au BufNewFile,BufRead *.cpp \ if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf cpp|endif -" Cypher query language -au BufNewFile,BufRead *.cypher setf cypher - " C++ -au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.ipp,*.moc,*.tcc,*.inl setf cpp if has("fname_case") au BufNewFile,BufRead *.C,*.H if !&fileignorecase | setf cpp | endif endif -" MS files (ixx: C++ module interface file, Microsoft Project file) -au BufNewFile,BufRead *.ixx,*.mpp setf cpp - -" C++ 20 modules (clang) -" https://clang.llvm.org/docs/StandardCPlusPlusModules.html#file-name-requirement -au BufNewFile,BufRead *.cppm,*.ccm,*.cxxm,*.c++m setf cpp - " .h files can be C, C++, Ch, Objective-C, or Objective-C++. " Set g_filetype_h to set a different filetype au BufNewFile,BufRead *.h call dist#ft#FTheader() -" Ch (CHscript) -au BufNewFile,BufRead *.chf setf ch - -" TLH files are C++ headers generated by Visual C++'s #import from typelibs -au BufNewFile,BufRead *.tlh setf cpp - -" Cascading Style Sheets -au BufNewFile,BufRead *.css setf css - -" Century Term Command Scripts (*.cmd too) -au BufNewFile,BufRead *.con setf cterm - " Changelog au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch,*/debian/changelog \ setf debchangelog @@ -483,57 +235,32 @@ au BufNewFile,BufRead *..ch setf chill " Changes for WEB and CWEB or CHILL au BufNewFile,BufRead *.ch call dist#ft#FTchange() -" ChordPro -au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro - -" Clangd -au BufNewFile,BufRead .clangd setf yaml - " Clang-format au BufNewFile,BufRead .clang-format setf yaml " Clang-tidy au BufNewFile,BufRead .clang-tidy setf yaml -" Conda configuration file -au BufNewFile,BufRead .condarc,condarc setf yaml - " Matplotlib au BufNewFile,BufRead *.mplstyle,matplotlibrc setf yaml -" Clean -au BufNewFile,BufRead *.dcl,*.icl setf clean - -" Clever -au BufNewFile,BufRead *.eni setf cl - " Clever or dtd au BufNewFile,BufRead *.ent call dist#ft#FTent() -" Cling -au BufNewFile,BufRead .cling_history setf cpp - " Clipper, FoxPro, ABB RAPID or eviews au BufNewFile,BufRead *.prg call dist#ft#FTprg() if has("fname_case") au BufNewFile,BufRead *.Prg,*.PRG call dist#ft#FTprg() endif -" Clojure -au BufNewFile,BufRead *.clj,*.cljs,*.cljx,*.cljc setf clojure - " Cmake au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake -" CmakeCache -autocmd BufRead,BufNewFile CMakeCache.txt setf cmakecache - " Cmusrc au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme} setf cmusrc au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc " Cobol -au BufNewFile,BufRead *.cbl,*.cob setf cobol " cobol or zope form controller python script? (heuristic) au BufNewFile,BufRead *.cpy \ if getline(1) =~ '^##' | @@ -542,49 +269,10 @@ au BufNewFile,BufRead *.cpy \ setf cobol | \ endif -" Coco/R -au BufNewFile,BufRead *.atg setf coco - -" Cold Fusion -au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf - -" Configure scripts -au BufNewFile,BufRead configure.in,configure.ac setf config - -" Cooklang -au BufNewFile,BufRead *.cook setf cook - -" Clinical Quality Language (CQL) -" .cql is also mentioned as the 'XDCC Catcher queue list' file extension. -" If support for XDCC Catcher is needed in the future, the contents of the file -" needs to be inspected. -au BufNewFile,BufRead *.cql setf cqlang - -" Crystal -au BufNewFile,BufRead *.cr setf crystal - -" CSV Files -au BufNewFile,BufRead *.csv setf csv - -" CUDA Compute Unified Device Architecture -au BufNewFile,BufRead *.cu,*.cuh setf cuda - -" Cue -au BufNewFile,BufRead *.cue setf cue - -" DAX -au BufNewFile,BufRead *.dax setf dax - -" Debian devscripts -au BufNewFile,BufRead devscripts.conf,.devscripts setf sh - " Dockerfile; Podman uses the same syntax with name Containerfile " Also see Dockerfile.* below. au BufNewFile,BufRead Containerfile,Dockerfile,dockerfile,*.[dD]ockerfile setf dockerfile -" WildPackets EtherPeek Decoder -au BufNewFile,BufRead *.dcd setf dcd - " Enlightenment configuration files au BufNewFile,BufRead *enlightenment/*.cfg setf c @@ -595,11 +283,8 @@ au BufNewFile,BufRead *Eterm/*.cfg setf eterm au BufNewFile,BufRead *.ex call dist#ft#ExCheck() " Elixir -au BufRead,BufNewFile mix.lock,*.exs setf elixir -au BufRead,BufNewFile *.eex,*.leex setf eelixir - -" Elvish -au BufRead,BufNewFile *.elv setf elvish +au BufNewFile,BufRead mix.lock,*.exs setf elixir +au BufNewFile,BufRead *.eex,*.leex setf eelixir " Euphoria 3 or 4 au BufNewFile,BufRead *.eu,*.ew,*.exu,*.exw call dist#ft#EuphoriaCheck() @@ -610,47 +295,19 @@ endif " Execline (s6) scripts au BufNewFile,BufRead *s6*/\(up\|down\|run\|finish\) setf execline -" Fontconfig config files -au BufNewFile,BufRead fonts.conf setf xml - " Faust -au BufNewFile,BufRead *.lib setf faust au BufNewFile,BufRead *.dsp call dist#ft#FTdsp() -" Libreoffice config files -au BufNewFile,BufRead *.xcu,*.xlb,*.xlc,*.xba setf xml -au BufNewFile,BufRead psprint.conf,sofficerc setf dosini - -" Libtool files -au BufNewFile,BufRead *.lo,*.la,*.lai setf sh - -" Lynx config files -au BufNewFile,BufRead lynx.cfg setf lynx - -" LyRiCs -au BufNewFile,BufRead *.lrc setf lyrics - -" Mamba configuration file -au BufNewFile,BufRead .mambarc,mambarc setf yaml - -" MLIR -au BufNewFile,BufRead *.mlir setf mlir - " Modula-3 configuration language (must be before *.cfg and *makefile) au BufNewFile,BufRead *.quake,cm3.cfg setf m3quake au BufNewFile,BufRead m3makefile,m3overrides setf m3build -" XDG mimeapps.list -au BufNewFile,BufRead mimeapps.list setf dosini - " Many tools written in Python use dosini as their config " like setuptools, pudb, coverage, pypi, gitlint, oelint-adv, pylint, bpython, mypy " (must be before *.cfg) -au BufNewFile,BufRead pip.conf,setup.cfg,pudb.cfg,.coveragerc,.pypirc,.gitlint,.oelint.cfg setf dosini au BufNewFile,BufRead {.,}pylintrc,*/bpython/config,*/mypy/config setf dosini " Many tools written in Python use toml as their config, like black -au BufNewFile,BufRead .black setf toml au BufNewFile,BufRead black \ if getline(1) =~ 'tool.back' \| setf toml @@ -663,39 +320,17 @@ au BufNewFile,BufRead */{lxqt,screengrab}/*.conf setf dosini au BufNewFile,BufRead *baseq[2-3]/*.cfg,*id1/*.cfg setf quake au BufNewFile,BufRead *quake[1-3]/*.cfg setf quake -" Quake C -au BufNewFile,BufRead *.qc setf c - " LaTeX packages use LaTeX as their configuration, such as: " ~/.texlive/texmf-config/tex/latex/hyperref/hyperref.cfg " ~/.texlive/texmf-config/tex/latex/docstrip/docstrip.cfg au BufNewFile,BufRead */tex/latex/**.cfg setf tex -" Wakatime config -au BufNewFile,BufRead .wakatime.cfg setf dosini - " Configure files au BufNewFile,BufRead *.cfg call dist#ft#FTcfg() if has("fname_case") au BufNewFile,BufRead *.Cfg,*.CFG call dist#ft#FTcfg() endif -" Cucumber -au BufNewFile,BufRead *.feature setf cucumber - -" Communicating Sequential Processes -au BufNewFile,BufRead *.csp,*.fdr setf csp - -" CUPL logic description and simulation -au BufNewFile,BufRead *.pld setf cupl -au BufNewFile,BufRead *.si setf cuplsim - -" Dafny -au BufNewFile,BufRead *.dfy setf dafny - -" Dart -au BufRead,BufNewfile *.dart,*.drt setf dart - " Debian autopkgtest au BufNewFile,BufRead */debian/tests/control setf autopkgtest @@ -720,31 +355,13 @@ au BufNewFile,BufRead */etc/apt/sources.list setf debsources au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources au BufNewFile,BufRead */etc/apt/sources.list.d/*.sources setf deb822sources -" Deno history -au BufNewFile,BufRead deno_history.txt setf javascript - -" Deny hosts -au BufNewFile,BufRead denyhosts.conf setf denyhosts - -" Dhall -au BufNewFile,BufRead *.dhall setf dhall - " dnsmasq(8) configuration files au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq -" ROCKLinux package description -au BufNewFile,BufRead *.desc setf desc - " the D language or dtrace au BufNewFile,BufRead */dtrace/*.d setf dtrace au BufNewFile,BufRead *.d call dist#ft#DtraceCheck() -" Desktop files -au BufNewFile,BufRead *.desktop,*.directory setf desktop - -" Dict config -au BufNewFile,BufRead dict.conf,.dictrc setf dictconf - " Dictd config au BufNewFile,BufRead dictd*.conf setf dictdconf @@ -752,7 +369,6 @@ au BufNewFile,BufRead dictd*.conf setf dictdconf au BufNewFile,BufRead */debian/patches/* call dist#ft#Dep3patch() " Diff files -au BufNewFile,BufRead *.diff,*.rej setf diff au BufNewFile,BufRead *.patch \ if getline(1) =~# '^From [0-9a-f]\{40,\} Mon Sep 17 00:00:00 2001$' | \ setf gitsendemail | @@ -774,21 +390,9 @@ au BufNewFile,BufRead *.rul " DCL (Digital Command Language - vms) or DNS zone file au BufNewFile,BufRead *.com call dist#ft#BindzoneCheck('dcl') -" DOT -au BufNewFile,BufRead *.dot,*.gv setf dot - " Dune au BufNewFile,BufRead jbuild,dune,dune-project,dune-workspace,dune-file setf dune -" Dylan - lid files -au BufNewFile,BufRead *.lid setf dylanlid - -" Dylan - intr files (melange) -au BufNewFile,BufRead *.intr setf dylanintr - -" Dylan -au BufNewFile,BufRead *.dylan setf dylan - " Microsoft Module Definition or Modula-2 au BufNewFile,BufRead *.def call dist#ft#FTdef() @@ -796,12 +400,6 @@ if has("fname_case") au BufNewFile,BufRead *.DEF setf modula2 endif -" Dracula -au BufNewFile,BufRead *.drac,*.drc,*.lvs,*.lpe setf dracula - -" Datascript -au BufNewFile,BufRead *.ds setf datascript - " dsl: DSSSL or Structurizr au BufNewFile,BufRead *.dsl \ if getline(1) =~ '^\s*<\!' | @@ -810,19 +408,6 @@ au BufNewFile,BufRead *.dsl \ setf structurizr | \ endif -" DTD (Document Type Definition for XML) -au BufNewFile,BufRead *.dtd setf dtd - -" Devicetree (.its for U-Boot Flattened Image Trees, .keymap for ZMK keymap, and -" .overlay for Zephyr overlay) -au BufNewFile,BufRead *.dts,*.dtsi,*.dtso setf dts -au BufNewFile,BufRead *.its setf dts -au BufNewFile,BufRead *.keymap setf dts -au BufNewFile,BufRead *.overlay setf dts - -" Earthfile -au BufNewFile,BufRead Earthfile setf earthfile - " EDIF (*.edf,*.edif,*.edn,*.edo) or edn au BufNewFile,BufRead *.ed\(f\|if\|o\) setf edif au BufNewFile,BufRead *.edn @@ -832,97 +417,21 @@ au BufNewFile,BufRead *.edn \ setf clojure | \ endif -" EditorConfig -au BufNewFile,BufRead .editorconfig setf editorconfig - -" Embedix Component Description -au BufNewFile,BufRead *.ecd setf ecd - " Eiffel or Specman or Euphoria au BufNewFile,BufRead *.e,*.E call dist#ft#FTe() -" Elinks configuration -au BufNewFile,BufRead elinks.conf setf elinks - -" ERicsson LANGuage; Yaws is erlang too -au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang - -" Elm -au BufNewFile,BufRead *.elm setf elm - " Elm Filter Rules file au BufNewFile,BufRead filter-rules setf elmfilt -" Elsa - https://github.com/ucsd-progsys/elsa -au BufNewFile,BufRead *.lc setf elsa - -" EdgeDB Schema Definition Language -au BufNewFile,BufRead *.esdl setf esdl - " ESMTP rc file au BufNewFile,BufRead *esmtprc setf esmtprc -" ESQL-C -au BufNewFile,BufRead *.ec,*.EC setf esqlc - -" Esterel -au BufNewFile,BufRead *.strl setf esterel - -" Essbase script -au BufNewFile,BufRead *.csc setf csc - -" Exim -au BufNewFile,BufRead exim.conf setf exim - -" Expect -au BufNewFile,BufRead *.exp setf expect - -" Exports -au BufNewFile,BufRead exports setf exports - -" Falcon -au BufNewFile,BufRead *.fal setf falcon - -" Fantom -au BufNewFile,BufRead *.fan,*.fwt setf fan - -" Factor -au BufNewFile,BufRead *.factor setf factor - " Fennel -autocmd BufRead,BufNewFile *.fnl,{,.}fennelrc setf fennel - -" Fetchmail RC file -au BufNewFile,BufRead .fetchmailrc setf fetchmail - -" FGA -au BufNewFile,BufRead *.fga setf fga - -" FIRRTL - Flexible Internal Representation for RTL -au BufNewFile,BufRead *.fir setf firrtl - -" Fish shell -au BufNewFile,BufRead *.fish setf fish +au BufNewFile,BufRead *.fnl,{,.}fennelrc setf fennel " Flatpak config au BufNewFile,BufRead */flatpak/repo/config setf dosini -" Flix -au BufNewFile,BufRead *.flix setf flix - -" Focus Executable -au BufNewFile,BufRead *.fex,*.focexec setf focexec - -" Focus Master file (but not for auto.master) -au BufNewFile,BufRead auto.master setf conf -au BufNewFile,BufRead *.mas,*.master setf master - -" Forth -au BufNewFile,BufRead *.ft,*.fth,*.4th setf forth - -" Reva Forth -au BufNewFile,BufRead *.frt setf reva - " Fortran if has("fname_case") au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95,*.F03,*.F08 setf fortran @@ -932,54 +441,16 @@ au BufNewFile,BufRead *.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95,*.f03,*.f08 " Fortran or Forth au BufNewFile,BufRead *.f call dist#ft#FTf() -" Framescript -au BufNewFile,BufRead *.fsl setf framescript - -" FStab -au BufNewFile,BufRead fstab,mtab setf fstab - -" Func -au BufNewFile,BufRead *.fc setf func - -" Fusion -au BufRead,BufNewFile *.fusion setf fusion - " F# or Forth au BufNewFile,BufRead *.fs call dist#ft#FTfs() -" FHIR Shorthand (FSH) -au BufNewFile,BufRead *.fsh setf fsh - -" F# -au BufNewFile,BufRead *.fsi,*.fsx setf fsharp - " GDB command files au BufNewFile,BufRead .gdbinit,gdbinit,.cuda-gdbinit,cuda-gdbinit,.gdbearlyinit,gdbearlyinit,*.gdb setf gdb -" GDMO -au BufNewFile,BufRead *.mo,*.gdmo setf gdmo - -" GDscript -au BufNewFile,BufRead *.gd setf gdscript - -" Godot resource -au BufRead,BufNewFile *.tscn,*.tres setf gdresource - -" Godot shader -au BufRead,BufNewFile *.gdshader,*.shader setf gdshader - " Gedcom au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom -" Gemtext -au BufNewFile,BufRead *.gmi,*.gemini setf gemtext - -" Gift (Moodle) -autocmd BufRead,BufNewFile *.gift setf gift - " Git -au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit -au BufNewFile,BufRead NOTES_EDITMSG,EDIT_DESCRIPTION setf gitcommit au BufNewFile,BufRead *.git/config,.gitconfig,*/etc/gitconfig setf gitconfig au BufNewFile,BufRead */.config/git/config setf gitconfig au BufNewFile,BufRead *.git/config.worktree setf gitconfig @@ -999,7 +470,7 @@ au BufNewFile,BufRead */.config/fd/ignore,.fdignore,.ignore setf gitignore au BufNewFile,BufRead .rgignore,.dockerignore,.containerignore setf gitignore au BufNewFile,BufRead .npmignore,.vscodeignore setf gitignore au BufNewFile,BufRead git-rebase-todo setf gitrebase -au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail +au BufNewFile,BufRead .gitsendemail.msg.?????? setf gitsendemail au BufNewFile,BufRead *.git/* \ if getline(1) =~# '^\x\{40,\}\>\|^ref: ' | \ setf git | @@ -1008,17 +479,6 @@ au BufNewFile,BufRead *.git/* " Gkrellmrc au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc -" Gleam -au BufNewFile,BufRead *.gleam setf gleam - -" GLSL -" Extensions supported by Khronos reference compiler (with one exception, ".glsl") -" https://github.com/KhronosGroup/glslang -au BufNewFile,BufRead *.vert,*.tesc,*.tese,*.glsl,*.geom,*.frag,*.comp,*.rgen,*.rmiss,*.rchit,*.rahit,*.rint,*.rcall setf glsl - -" GN (generate ninja) files -au BufNewFile,BufRead *.gn,*.gni setf gn - " GP scripts (2.0 and onward) au BufNewFile,BufRead *.gp,.gprc setf gp @@ -1031,17 +491,9 @@ if !empty($GNUPGHOME) au BufNewFile,BufRead $GNUPGHOME/gpg.conf setf gpg endif -" gnash(1) configuration files -au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash - " Gitolite -au BufNewFile,BufRead gitolite.conf setf gitolite au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl -" Glimmer-flavored TypeScript and JavaScript -au BufNewFile,BufRead *.gts setf typescript.glimmer -au BufNewFile,BufRead *.gjs setf javascript.glimmer - " Gnuplot scripts au BufNewFile,BufRead *.gpi,*.gnuplot,.gnuplot_history setf gnuplot @@ -1053,100 +505,20 @@ au BufNewFile,BufRead *.grc \ setf yaml | \ endif -" Go (Google) -au BufNewFile,BufRead *.go setf go -au BufNewFile,BufRead Gopkg.lock setf toml -au BufRead,BufNewFile go.work setf gowork - -" GoAccess configuration -au BufNewFile,BufRead goaccess.conf setf goaccess - -" GrADS scripts -au BufNewFile,BufRead *.gs setf grads - -" GraphQL -au BufNewFile,BufRead *.graphql,*.graphqls,*.gql setf graphql - -" Gretl -au BufNewFile,BufRead *.gretl setf gretl - " Groovy au BufNewFile,BufRead *.gradle,*.groovy,Jenkinsfile setf groovy -" GNU Server Pages -au BufNewFile,BufRead *.gsp setf gsp - " Group file au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/etc/gshadow-,*/etc/gshadow.edit,*/var/backups/group.bak,*/var/backups/gshadow.bak setf group -" GTK RC -au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc - -" GYP -au BufNewFile,BufRead *.gyp,*.gypi setf gyp - -" Hack -au BufRead,BufNewFile *.hack,*.hackpartial setf hack - -" Haml -au BufNewFile,BufRead *.haml setf haml - -" Hamster Classic | Playground files -au BufNewFile,BufRead *.hsm setf hamster - -" Handlebars -au BufNewFile,BufRead *.hbs setf handlebars - " Hare -au BufNewFile,BufRead *.ha setf hare au BufNewFile,BufRead README call dist#ft#FTharedoc() " Haskell -au BufNewFile,BufRead *.hs,*.hsc,*.hs-boot,*.hsig setf haskell -au BufNewFile,BufRead *.lhs setf lhaskell -au BufNewFile,BufRead *.chs setf chaskell -au BufNewFile,BufRead cabal.project setf cabalproject au BufNewFile,BufRead */{.,}cabal/config setf cabalconfig au BufNewFile,BufRead cabal.config setf cabalconfig au BufNewFile,BufRead *.persistentmodels setf haskellpersistent -" Haste -au BufNewFile,BufRead *.ht setf haste -au BufNewFile,BufRead *.htpp setf hastepreproc - -" Haxe -au BufNewFile,BufRead *.hx setf haxe - -" HCL -au BufRead,BufNewFile *.hcl setf hcl - -" Go checksum file (must be before *.sum Hercules) -au BufNewFile,BufRead go.sum,go.work.sum setf gosum - -" Hercules -au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules - -" HEEx -au BufRead,BufNewFile *.heex setf heex - -" HEX (Intel) -au BufNewFile,BufRead *.hex,*.ihex,*.int,*.ihe,*.ihx,*.mcs,*.h32,*.h80,*.h86,*.a43,*.a90 setf hex - -" Hjson -au BufNewFile,BufRead *.hjson setf hjson - -" HLS Playlist (or another form of playlist) -au BufNewFile,BufRead *.m3u,*.m3u8 setf hlsplaylist - -" Hollywood -au BufRead,BufNewFile *.hws setf hollywood - -" Hoon -au BufRead,BufNewFile *.hoon setf hoon - -" TI Code Composer Studio General Extension Language -au BufNewFile,BufRead *.gel setf gel - " Tilde (must be before HTML) au BufNewFile,BufRead *.t.html setf tilde @@ -1157,36 +529,18 @@ au BufNewFile,BufRead init.trans,*/etc/translate-shell,.trans setf clojure au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml() au BufNewFile,BufRead *.cshtml setf html -" HTTP request files -au BufNewFile,BufRead *.http setf http - -" HTML with Ruby - eRuby -au BufNewFile,BufRead *.erb,*.rhtml setf eruby - -" Some template. Used to be HTML Cheetah. -au BufNewFile,BufRead *.tmpl setf template - " Host config au BufNewFile,BufRead */etc/host.conf setf hostconf " Hosts access au BufNewFile,BufRead */etc/hosts.allow,*/etc/hosts.deny setf hostsaccess -" Hurl -au BufRead,BufNewFile *.hurl setf hurl - " Hy -au BufRead,BufNewFile *.hy,.hy-history setf hy - -" Hyper Builder -au BufNewFile,BufRead *.hb setf hb +au BufNewFile,BufRead *.hy,.hy-history setf hy " Hyprland Configuration language au BufNewFile,BufRead */hypr/*.conf,hypr\(land\|paper\|idle\|lock\).conf setf hyprlang -" Httest -au BufNewFile,BufRead *.htt,*.htb setf httest - " i3 au BufNewFile,BufRead */i3/config setf i3config au BufNewFile,BufRead */.i3/config setf i3config @@ -1196,153 +550,38 @@ au BufNewFile,BufRead */sway/config setf swayconfig au BufNewFile,BufRead */sway/config.d/* setf swayconfig au BufNewFile,BufRead */.sway/config setf swayconfig -" Icon -au BufNewFile,BufRead *.icn setf icon - " IDL (Interface Description Language) au BufNewFile,BufRead *.idl call dist#ft#FTidl() -" Microsoft IDL (Interface Description Language) Also *.idl -" MOF = WMI (Windows Management Instrumentation) Managed Object Format -au BufNewFile,BufRead *.odl,*.mof setf msidl - " Icewm menu au BufNewFile,BufRead */.icewm/menu setf icemenu " Indent profile (must come before IDL *.pro!) -au BufNewFile,BufRead .indent.pro setf indent au BufNewFile,BufRead indent.pro call dist#ft#ProtoCheck('indent') " IDL (Interactive Data Language), Prolog, Cproto or zsh module C au BufNewFile,BufRead *.pro call dist#ft#ProtoCheck('idlang') -" Idris2 -au BufNewFile,BufRead *.idr setf idris2 -au BufNewFile,BufRead *.lidr setf lidris2 - -" Indent RC -au BufNewFile,BufRead indentrc setf indent - -" Inform -au BufNewFile,BufRead *.inf,*.INF setf inform - " Initng au BufNewFile,BufRead */etc/initng/*/*.i,*.ii setf initng " Innovation Data Processing -au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat -au BufRead,BufNewFile fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c setf upstreamlog -au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog -au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog -au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog - -" Ipfilter -au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter - -" Ipkg for Idris 2 language -au BufNewFile,BufRead *.ipkg setf ipkg - -" Informix 4GL (source - canonical, include file, I4GL+M4 preproc.) -au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl setf fgl - -" .INI file for MSDOS -au BufNewFile,BufRead *.ini,*.INI setf dosini - -" SysV Inittab -au BufNewFile,BufRead inittab setf inittab - -" Inko -au BufNewFile,BufRead *.inko setf inko - -" Inno Setup -au BufNewFile,BufRead *.iss setf iss - -" J -au BufNewFile,BufRead *.ijs setf j - -" JAL -au BufNewFile,BufRead *.jal,*.JAL setf jal - -" Jam -au BufNewFile,BufRead *.jpl,*.jpr setf jam - -" Janet -au BufNewFile,BufRead *.janet setf janet - -" Java -au BufNewFile,BufRead *.java,*.jav,*.jsh setf java - -" JavaCC -au BufNewFile,BufRead *.jj,*.jjt setf javacc - -" JavaScript, ECMAScript, ES module script, CommonJS script -au BufNewFile,BufRead *.js,*.jsm,*.javascript,*.es,*.mjs,*.cjs setf javascript -au BufNewFile,BufRead .node_repl_history setf javascript - -" JavaScript with React -au BufNewFile,BufRead *.jsx setf javascriptreact - -" Java Server Pages -au BufNewFile,BufRead *.jsp setf jsp +au BufNewFile,BufRead upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat +au BufNewFile,BufRead fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c setf upstreamlog +au BufNewFile,BufRead upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog +au BufNewFile,BufRead usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog +au BufNewFile,BufRead usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog " Java Properties resource file (note: doesn't catch font.properties.pl) au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_?? setf jproperties " Eclipse preference files use Java Properties syntax au BufNewFile,BufRead org.eclipse.*.prefs setf jproperties -" Jess -au BufNewFile,BufRead *.clp setf jess - -" Jgraph -au BufNewFile,BufRead *.jgr setf jgraph - -" Jinja -au BufNewFile,BufRead *.jinja setf jinja - -" Jujutsu -au BufNewFile,BufRead *.jjdescription setf jjdescription - -" Jovial -au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial - -" Jq -au BufNewFile,BufRead *.jq setf jq - -" JSON5 -au BufNewFile,BufRead *.json5 setf json5 - -" JSON Patch (RFC 6902) -au BufNewFile,BufRead *.json-patch setf json - -" Geojson is also json -au BufNewFile,BufRead *.geojson setf json - -" Jupyter Notebook and jupyterlab config is also json -au BufNewFile,BufRead *.ipynb,*.jupyterlab-settings setf json - -" Sublime config -au BufNewFile,BufRead *.sublime-project,*.sublime-settings,*.sublime-workspace setf json - -" Other files that look like json -au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,.lintstagedrc,flake.lock,deno.lock,.swcrc,composer.lock,symfony.lock setf json - " JSONC (JSON with comments) au BufNewFile,BufRead *.jsonc,.babelrc,.eslintrc,.jsfmtrc,bun.lock setf jsonc au BufNewFile,BufRead .jshintrc,.jscsrc,.vsconfig,.hintrc,.swrc,[jt]sconfig*.json setf jsonc " Visual Studio Code settings -au BufRead,BufNewFile ~/*/{Code,VSCodium}/User/*.json setf jsonc - -" JSON -au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json - -" JSON Lines -au BufNewFile,BufRead *.jsonl setf jsonl - -" Jsonnet -au BufNewFile,BufRead *.jsonnet,*.libsonnet setf jsonnet - -" Julia -au BufNewFile,BufRead *.jl setf julia +au BufNewFile,BufRead ~/*/{Code,VSCodium}/User/*.json setf jsonc " Just au BufNewFile,BufRead \c{,*.}justfile,\c*.just setf just @@ -1351,20 +590,10 @@ au BufNewFile,BufRead \c{,*.}justfile,\c*.just setf just au BufNewFile,BufRead kitty.conf,*/kitty/*.conf setf kitty " KAREL -au BufNewFile,BufRead *.kl setf karel if has("fname_case") au BufNewFile,BufRead *.KL setf karel endif -" KDL -au BufNewFile,BufRead *.kdl setf kdl - -" KerML -au BufNewFile,BufRead *.kerml setf kerml - -" Kixtart -au BufNewFile,BufRead *.kix setf kix - " Kuka Robot Language au BufNewFile,BufRead *.src call dist#ft#FTsrc() au BufNewFile,BufRead *.dat call dist#ft#FTdat() @@ -1375,75 +604,21 @@ if has("fname_case") au BufNewFile,BufRead *.Sub,*.SUB setf krl endif -" Kimwitu[++] -au BufNewFile,BufRead *.k setf kwt - -" Kivy -au BufNewFile,BufRead *.kv setf kivy - -" Kotlin -au BufNewFile,BufRead *.kt,*.ktm,*.kts setf kotlin - -" KDE script -au BufNewFile,BufRead *.ks setf kscript - -" Kconfig -au BufNewFile,BufRead Kconfig,Kconfig.debug,Config.in setf kconfig - -" Kyaml -au BufNewFile,BufRead *.kyaml,*.kyml setf yaml - -" Lace (ISE) -au BufNewFile,BufRead *.ace,*.ACE setf lace - " Lalrpop au BufNewFile,Bufread *.lalrpop setf lalrpop " Larch Shared Language au BufNewFile,BufRead .lsl call dist#ft#FTlsl() -" Latexmkrc -au BufNewFile,BufRead .latexmkrc,latexmkrc setf perl - -" Latte -au BufNewFile,BufRead *.latte,*.lte setf latte - " Limits au BufNewFile,BufRead */etc/limits,*/etc/*limits.conf,*/etc/*limits.d/*.conf setf limits " LambdaProlog or SML (see dist#ft#FTmod for *.mod) au BufNewFile,BufRead *.sig call dist#ft#FTsig() -" LDAP configuration -au BufNewFile,BufRead ldaprc,.ldaprc,ldap.conf setf ldapconf - -" LDAP LDIF -au BufNewFile,BufRead *.ldif setf ldif - -" Luadoc, Ldoc (must be before *.ld) -au BufNewFile,BufRead config.ld setf lua - " Ld loader au BufNewFile,BufRead *.ld,*/ldscripts/* setf ld -" Lean -au BufNewFile,BufRead *.lean setf lean - -" Ledger -au BufRead,BufNewFile *.ldg,*.ledger,*.journal setf ledger - -" lf configuration (lfrc) -au BufNewFile,BufRead lfrc setf lf - -" Leo -au BufNewFile,BufRead *.leo setf leo - -" Less -au BufNewFile,BufRead *.less setf less - -" Lex -au BufNewFile,BufRead *.lex,*.l,*.lxx,*.l++ setf lex - " Libao au BufNewFile,BufRead */etc/libao.conf,*/.libao setf libao @@ -1456,12 +631,6 @@ au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp " Lifelines, LLVM, or Lex for C++ au BufNewFile,BufRead *.ll call dist#ft#FTll() -" Lilo: Linux loader -au BufNewFile,BufRead lilo.conf setf lilo - -" Lilypond -au BufNewFile,BufRead *.ly,*.ily setf lilypond - " Lisp (*.el = ELisp) " *.jl was removed, it's also used for Julia, better skip than guess wrong. if has("fname_case") @@ -1473,100 +642,46 @@ endif " *.cl = Common Lisp or OpenCL au BufNewFile,BufRead *.cl call dist#ft#FTcl() -" SBCL implementation of Common Lisp -au BufNewFile,BufRead sbclrc,.sbclrc setf lisp - -" Liquidsoap -au BufNewFile,BufRead *.liq setf liquidsoap - -" Liquid -au BufNewFile,BufRead *.liquid setf liquid - -" Lite -au BufNewFile,BufRead *.lite,*.lt setf lite - " LiteStep RC files au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep -" Livebook -au BufNewFile,BufRead *.livemd setf livebook - " Login access au BufNewFile,BufRead */etc/login.access setf loginaccess " Login defs au BufNewFile,BufRead */etc/login.defs setf logindefs -" Logtalk -au BufNewFile,BufRead *.lgt setf logtalk - -" LOTOS -au BufNewFile,BufRead *.lotos setf lotos - " LOTOS or LaTeX \listoftables files au BufNewFile,BufRead *.lot \ if getline(1) =~# '\\contentsline' |setf tex|else|setf lotos|endif -" Lout (also: *.lt) -au BufNewFile,BufRead *.lou,*.lout setf lout - " Lua, Texlua au BufNewFile,BufRead *.lua,*.tlu,.lua_history setf lua -" Luau -au BufNewFile,BufRead *.luau setf luau - -" Luau config -au BufNewFile,BufRead .luaurc setf jsonc - -" Luacheck -au BufNewFile,BufRead .luacheckrc setf lua - " Luarocks au BufNewFile,BufRead *.rockspec,rock_manifest setf lua " Linden Scripting Language (Second Life) au BufNewFile,BufRead *.lsl call dist#ft#FTlsl() -" Lynx style file (or LotusScript!) -au BufNewFile,BufRead *.lss setf lss - " M4 au BufNewFile,BufRead *.m4 call dist#ft#FTm4() au BufNewFile,BufRead .m4_history setf m4 -" MaGic Point -au BufNewFile,BufRead *.mgp setf mgp - " Mail (for Elm, trn, mutt, muttng, rn, slrn, neomutt) au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail " Mail aliases au BufNewFile,BufRead */etc/mail/aliases,*/etc/aliases setf mailaliases -" Mailcap configuration file -au BufNewFile,BufRead .mailcap,mailcap setf mailcap - " Makefile au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak call dist#ft#FTmake() au BufNewFile,BufRead Kbuild setf make -" MakeIndex -au BufNewFile,BufRead *.ist,*.mst setf ist - -" Mallard -au BufNewFile,BufRead *.page setf mallard - -" Manpage -au BufNewFile,BufRead *.man setf man - " Man config au BufNewFile,BufRead */etc/man.conf,man.config setf manconf -" Maple V -au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple - " Map (UMN mapserver config file) au BufNewFile,BufRead *.map \ if getline(1) =~ '^\*\+$' | @@ -1583,62 +698,24 @@ au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md \ setf markdown | \ endif -" Mason (it used to include *.comp, are those Mason files?) -au BufNewFile,BufRead *.mason,*.mhtml setf mason - " Mathematica, Matlab, Murphi, Objective C or Octave au BufNewFile,BufRead *.m call dist#ft#FTm() -" Mathematica notebook and package files -au BufNewFile,BufRead *.nb,*.wl setf mma - -" Maya Extension Language -au BufNewFile,BufRead *.mel setf mel - " mbsync au BufNewFile,BufRead *.mbsyncrc,isyncrc setf mbsync -" mcmeta -au BufNewFile,BufRead *.mcmeta setf json - -" MediaWiki -au BufNewFile,BufRead *.mw,*.wiki setf mediawiki - " Mercurial (hg) commit file au BufNewFile,BufRead hg-editor-*.txt setf hgcommit " Mercurial config (looks like generic config file) au BufNewFile,BufRead *.hgrc,*hgrc setf cfg -" Mermaid -au BufNewFile,BufRead *.mmd,*.mmdc,*.mermaid setf mermaid - -" Meson Build system config -au BufNewFile,BufRead meson.build,meson.options,meson_options.txt setf meson -au BufNewFile,BufRead *.wrap setf dosini - -" Metafont -au BufNewFile,BufRead *.mf setf mf - " MetaPost -au BufNewFile,BufRead *.mp setf mp au BufNewFile,BufRead *.mpxl,*.mpiv,*.mpvi let b:mp_metafun = 1 | setf mp -" MGL -au BufNewFile,BufRead *.mgl setf mgl - -" MIX - Knuth assembly -au BufNewFile,BufRead *.mix,*.mixal setf mix - " MMIX or VMS makefile au BufNewFile,BufRead *.mms call dist#ft#FTmms() -" msmtp -au BufNewFile,BufRead .msmtprc setf msmtp - -" Symbian meta-makefile definition (MMP) -au BufNewFile,BufRead *.mmp setf mmp - " ABB Rapid, Modula-2, Modsim III or LambdaProlog au BufNewFile,BufRead *.mod call dist#ft#FTmod() if has("fname_case") @@ -1652,39 +729,12 @@ endif " Modula-3 (.m3, .i3, .mg, .ig) au BufNewFile,BufRead *.[mi][3g] setf modula3 -" Larch/Modula-3 -au BufNewFile,BufRead *.lm3 setf modula3 - " Modconf au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf -" Monk -au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk - -" MOO -au BufNewFile,BufRead *.moo setf moo - -" Moonscript -au BufNewFile,BufRead *.moon setf moonscript - -" Move language -au BufNewFile,BufRead *.move setf move - -" MPD is based on XML -au BufNewFile,BufRead *.mpd setf xml - " Mplayer config au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf -" Motorola S record -au BufNewFile,BufRead *.s19,*.s28,*.s37,*.mot,*.srec setf srec - -" Mrxvtrc -au BufNewFile,BufRead mrxvtrc,.mrxvtrc setf mrxvtrc - -" Msql -au BufNewFile,BufRead *.msql setf msql - " Mysql au BufNewFile,BufRead *.mysql,.mysql_history setf mysql @@ -1704,21 +754,9 @@ au BufNewFile,BufRead *.rc,*.rch " Mojo files use either .mojo or .🔥 as extension au BufNewFile,BufRead *.mojo,*.🔥 setf mojo -" MuPAD source -au BufRead,BufNewFile *.mu setf mupad - -" Mush -au BufNewFile,BufRead *.mush setf mush - -" Mustache -au BufNewFile,BufRead *.mustache setf mustache - " Mutt setup file (also for Muttng) au BufNewFile,BufRead Mutt{ng,}rc setf muttrc -" N1QL -au BufRead,BufNewfile *.n1ql,*.nql setf n1ql - " Neomutt log au BufNewFile,BufRead *.neomuttdebug* setf neomuttlog @@ -1731,36 +769,12 @@ au BufNewFile,BufRead */etc/nanorc,*.nanorc setf nanorc " Natural au BufNewFile,BufRead *.NS[ACGLMNPS] setf natural -" Noemutt setup file -au BufNewFile,BufRead Neomuttrc setf neomuttrc - -" Netrc -au BufNewFile,BufRead .netrc setf netrc - " Neofetch au BufNewFile,BufRead */neofetch/config.conf setf sh " Nginx au BufNewFile,BufRead *.nginx,nginx*.conf,*nginx.conf,*/nginx/*.conf setf nginx -" Nim file -au BufNewFile,BufRead *.nim,*.nims,*.nimble setf nim - -" Ninja file -au BufNewFile,BufRead *.ninja setf ninja - -" Nix -au BufRead,BufNewFile *.nix setf nix - -" Norg -au BufNewFile,BufRead *.norg setf norg - -" NPM RC file -au BufNewFile,BufRead npmrc,.npmrc setf dosini - -" Novell netware batch files -au BufNewFile,BufRead *.ncf setf ncf - " Nroff/Troff (*.ms and *.t are checked below) au BufNewFile,BufRead *.me \ if expand("") != "read.me" && expand("") != "click.me" | @@ -1772,9 +786,6 @@ au BufNewFile,BufRead *.[0-9],*.[013]p,*.[1-8]x,*.3{am,perl,pm,posix,type},*.n c " Nroff or Objective C++ au BufNewFile,BufRead *.mm call dist#ft#FTmm() -" Not Quite C -au BufNewFile,BufRead *.nqc setf nqc - " notmuch au BufNewFile,BufRead .notmuch-config{,.*} setf dosini au BufNewFile,BufRead ~/.config/notmuch/*/config setf dosini @@ -1782,74 +793,22 @@ if exists('$XDG_CONFIG_HOME') au BufNewFile,BufRead $XDG_CONFIG_HOME/notmuch/*/config setf dosini endif -" NSE - Nmap Script Engine - uses Lua syntax -au BufNewFile,BufRead *.nse setf lua - -" NSIS -au BufNewFile,BufRead *.nsi,*.nsh setf nsis - -" N-Triples -au BufNewFile,BufRead *.nt setf ntriples - -" Nu -au BufNewFile,BufRead *.nu setf nu - -" Numbat -au BufNewFile,BufRead *.nbt setf numbat - -" Oblivion Language and Oblivion Script Extender -au BufNewFile,BufRead *.obl,*.obse,*.oblivion,*.obscript setf obse - -" Objdump -au BufNewFile,BufRead *.objdump,*.cppobjdump setf objdump - " OCaml au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit,*.mlt,*.mlp,*.mlip,*.mli.cppo,*.ml.cppo setf ocaml -" Occam -au BufNewFile,BufRead *.occ setf occam - " Octave au BufNewFile,BufRead octave.conf,.octaverc,octaverc,*/octave/history setf octave -" Odin -au BufNewFile,BufRead *.odin setf odin - -" Omnimark -au BufNewFile,BufRead *.xom,*.xin setf omnimark - -" ondir -au BufNewFile,BufRead .ondirrc setf ondir - " OPAM au BufNewFile,BufRead opam,*.opam,*.opam.template,opam.locked,*.opam.locked setf opam -" OpenAL Soft config files -au BufNewFile,BufRead .alsoftrc,alsoft.conf,alsoft.ini,alsoftrc.sample setf dosini - " OpenFOAM au BufNewFile,BufRead fvSchemes,fvSolution,fvConstrains,fvModels,*/constant/g call dist#ft#FTfoam() -" OpenROAD -au BufNewFile,BufRead *.or setf openroad - " OPL au BufNewFile,BufRead *.[Oo][Pp][Ll] setf opl -" OpenSCAD -au BufNewFile,BufRead *.scad setf openscad - -" Oracle config file -au BufNewFile,BufRead *.ora setf ora - -" Org (Emacs' org-mode) -au BufNewFile,BufRead *.org,*.org_archive setf org - -" Packet filter conf -au BufNewFile,BufRead pf.conf setf pf - " ini style config files, using # comments -au BufNewFile,BufRead pacman.conf,mpv.conf setf confini au BufNewFile,BufRead */.aws/config,*/.aws/credentials,*/.aws/cli/alias setf confini au BufNewFile,BufRead *.nmconnection setf confini au BufNewFile,BufRead paru.conf setf confini @@ -1871,24 +830,12 @@ au BufRead pacman.log* call s:StarSetf('pacmanlog') " Pam conf au BufNewFile,BufRead */etc/pam.conf setf pamconf -" Pam environment -au BufNewFile,BufRead pam_env.conf,.pam_environment setf pamenv - -" PApp -au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp - " Password file au BufNewFile,BufRead */etc/passwd,*/etc/passwd-,*/etc/passwd.edit,*/etc/shadow,*/etc/shadow-,*/etc/shadow.edit,*/var/backups/passwd.bak,*/var/backups/shadow.bak setf passwd -" Pascal (also *.p, *.pp, *.inc) -au BufNewFile,BufRead *.pas setf pascal - " Pascal or Puppet manifest au BufNewFile,BufRead *.pp call dist#ft#FTpp() -" Delphi -au BufNewFile,BufRead *.dpr setf pascal - " Xilinx labtools project file or Lazarus program file au BufNewFile,BufRead *.lpr \ if getline(1) =~# "' | @@ -2483,57 +1070,13 @@ au BufNewFile,BufRead *.smi \ setf mib | \ endif -" SMITH -au BufNewFile,BufRead *.smt,*.smith setf smith - -" Smithy -au BufNewFile,BufRead *.smithy setf smithy - " Snakemake au BufNewFile,BufRead Snakefile,*.smk setf snakemake -" Snobol4 and spitbol -au BufNewFile,BufRead *.sno,*.spt setf snobol4 - -" SNMP MIB files -au BufNewFile,BufRead *.mib,*.my setf mib - " Snort Configuration au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog au BufNewFile,BufRead *.rules call dist#ft#FTRules() -" Solidity -au BufRead,BufNewFile *.sol setf solidity - -" SPARQL queries -au BufNewFile,BufRead *.rq,*.sparql setf sparql - -" Spec (Linux RPM) -au BufNewFile,BufRead *.spec setf spec - -" Speedup (AspenTech plant simulator) -au BufNewFile,BufRead *.speedup,*.spdata,*.spd setf spup - -" Slice -au BufNewFile,BufRead *.ice setf slice - -" Microsoft Visual Studio Solution -au BufNewFile,BufRead *.sln setf solution -au BufNewFile,BufRead *.slnf setf json -au BufNewFile,BufRead *.slnx setf xml - -" Spice -au BufNewFile,BufRead *.sp,*.spice setf spice - -" Spyce -au BufNewFile,BufRead *.spy,*.spi setf spyce - -" Squid -au BufNewFile,BufRead squid.conf setf squid - -" SQL for Oracle Designer -au BufNewFile,BufRead *.tyb,*.tyc,*.pkb,*.pks setf sql - " *.typ can be either SQL or Typst files au BufNewFile,BufRead *.typ call dist#ft#FTtyp() @@ -2541,68 +1084,31 @@ au BufNewFile,BufRead *.typ call dist#ft#FTtyp() au BufNewFile,BufRead *.sql call dist#ft#SQL() au BufNewFile,BufRead .sqlite_history setf sql -" SQLJ -au BufNewFile,BufRead *.sqlj setf sqlj - -" PRQL -au BufNewFile,BufRead *.prql setf prql - -" SQR -au BufNewFile,BufRead *.sqr,*.sqi setf sqr - -" Squirrel -au BufNewFile,BufRead *.nut setf squirrel - " OpenSSH configuration au BufNewFile,BufRead ssh_config,*/.ssh/config,*/.ssh/*.conf setf sshconfig au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig " OpenSSH server configuration -au BufNewFile,BufRead sshd_config setf sshdconfig au BufNewFile,BufRead */etc/ssh/sshd_config.d/*.conf setf sshdconfig -" Starlark -au BufNewFile,BufRead *.ipd,*.star,*.starlark setf starlark - " OpenVPN configuration -au BufNewFile,BufRead *.ovpn setf openvpn au BufNewFile,BufRead */openvpn/*/*.conf setf openvpn " Stata -au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata " Also *.class, but not when it's a Java bytecode file au BufNewFile,BufRead *.class \ if getline(1) !~ "^\xca\xfe\xba\xbe" | setf stata | endif -" SMCL -au BufNewFile,BufRead *.hlp,*.ihlp,*.smcl setf smcl - " SPA JSON au BufNewFile,BufRead */pipewire/*.conf setf spajson au BufNewFile,BufRead */wireplumber/*.conf setf spajson -" Stored Procedures -au BufNewFile,BufRead *.stp setf stp - -" Standard ML -au BufNewFile,BufRead *.sml setf sml - -" Sratus VOS command macro -au BufNewFile,BufRead *.cm setf voscm - -" Sway (programming language) -au BufNewFile,BufRead *.sw setf sway - " Swift -au BufNewFile,BufRead *.swift,*.swiftinterface setf swift au BufNewFile,BufRead *.swift.gyb setf swiftgyb " Swift Intermediate Language or SILE au BufNewFile,BufRead *.sil call dist#ft#FTsil() -" Swig -au BufNewFile,BufRead *.swg,*.swig setf swig - " Sysctl au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl @@ -2618,78 +1124,29 @@ au BufNewFile,BufRead */etc/systemd/system/.#* setf systemd au BufNewFile,BufRead */.config/systemd/user/*.d/.#* setf systemd au BufNewFile,BufRead */.config/systemd/user/.#* setf systemd -" Synopsys Design Constraints -au BufNewFile,BufRead *.sdc setf sdc - " Sudoers au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers -" SVG (Scalable Vector Graphics) -au BufNewFile,BufRead *.svg setf svg - -" Surface -au BufRead,BufNewFile *.sface setf surface - -" SysML -au BufNewFile,BufReadPost *.sysml setf sysml - -" LLVM TableGen -au BufNewFile,BufRead *.td setf tablegen - " Tads (or Nroff or Perl test file) au BufNewFile,BufRead *.t \ if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif -" Tags -au BufNewFile,BufRead tags setf tags - -" TAK -au BufNewFile,BufRead *.tak setf tak - -" Unx Tal -au BufNewFile,BufRead *.tal setf tal - " Task -au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata -au BufRead,BufNewFile *.task setf taskedit +au BufNewFile,BufRead {pending,completed,undo}.data setf taskdata +au BufNewFile,BufRead *.task setf taskedit " Tcl (JACL too) au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc,.tclsh-history setf tcl -" Xilinx's xsct and xsdb use tcl -au BufNewFile,BufRead .xsctcmdhistory,.xsdbcmdhistory setf tcl - -" templ -au BufNewFile,BufRead *.templ setf templ - -" Teal -au BufRead,BufNewFile *.tl setf teal - -" TealInfo -au BufNewFile,BufRead *.tli setf tli - -" Telix Salt -au BufNewFile,BufRead *.slt setf tsalt - " Tera Term Language or Turtle -au BufRead,BufNewFile *.ttl +au BufNewFile,BufRead *.ttl \ if getline(1) =~ '^@\?\(prefix\|base\)' | \ setf turtle | \ else | \ setf teraterm | \ endif -" Terminfo -au BufNewFile,BufRead *.ti setf terminfo - -" Tera -au BufRead,BufNewFile *.tera setf tera - -" Terraform variables -au BufRead,BufNewFile *.tfvars setf terraform-vars - " TeX -au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex au BufNewFile,BufRead *.tex call dist#ft#FTtex() au BufNewFile,BufRead texdoc.cnf setf conf @@ -2698,71 +1155,17 @@ au BufNewFile,BufRead texdoc.cnf setf conf " Sometime we need to view its content for debugging au BufNewFile,BufRead *.{pgf,nlo,nls,thm,eps_tex,pygtex,pygstyle,clo,aux,brf,ind,lof,loe,nav,vrb,ins,tikz,bbx,cbx,beamer} setf tex -" LaTeX files generated by Inkscape -au BufNewFile,BufRead *.pdf_tex setf tex - -" ConTeXt -au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi,*.mkxl,*.mklx setf context - -" Texinfo -au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo - -" TeX configuration -au BufNewFile,BufRead texmf.cnf setf texmf - -" Thrift (Apache) -au BufNewFile,BufRead *.thrift setf thrift - -" Tidy config -au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy - -" TF (TinyFugue) mud client -au BufNewFile,BufRead .tfrc,tfrc setf tf - " TF (TinyFugue) mud client or terraform au BufNewFile,BufRead *.tf call dist#ft#FTtf() -" TLA+ -au BufNewFile,BufRead *.tla setf tla - " tmux configuration au BufNewFile,BufRead {.,}tmux*.conf setf tmux " TOML au BufNewFile,BufRead *.toml,uv.lock setf toml -" TPP - Text Presentation Program -au BufNewFile,BufRead *.tpp setf tpp - -" TRACE32 Script Language -au BufNewFile,BufRead *.cmm,*.cmmt,*.t32 setf trace32 - -" Treetop -au BufRead,BufNewFile *.treetop setf treetop - -" Trustees -au BufNewFile,BufRead trustees.conf setf trustees - -" TSS - Geometry -au BufNewFile,BufReadPost *.tssgm setf tssgm - -" TSS - Optics -au BufNewFile,BufReadPost *.tssop setf tssop - -" TSS - Command Line (temporary) -au BufNewFile,BufReadPost *.tsscl setf tsscl - -" TSV Files -au BufNewFile,BufRead *.tsv setf tsv - -" Tutor mode -au BufNewFile,BufReadPost *.tutor setf tutor - -" TWIG files -au BufNewFile,BufReadPost *.twig setf twig - " TypeScript or Qt translation file (which is XML) -au BufNewFile,BufReadPost *.ts +au BufNewFile,BufRead *.ts \ if getline(1) =~ '