summaryrefslogtreecommitdiffstats
path: root/runtime/filetype.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/filetype.vim')
-rw-r--r--runtime/filetype.vim243
1 files changed, 207 insertions, 36 deletions
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index d53671a..9d6b4bd 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -101,6 +101,9 @@ au BufNewFile,BufRead build.xml setf ant
" Arduino
au BufNewFile,BufRead *.ino,*.pde setf arduino
+" Ash of busybox
+au BufNewFile,BufRead .ash_history setf sh
+
" Apache config file
au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache
au BufNewFile,BufRead */etc/apache2/sites-*/*.com setf apache
@@ -280,6 +283,9 @@ endif
" Busted (Lua unit testing framework - configuration files)
au BufNewFile,BufRead .busted setf lua
+" Bundle config
+au BufNewFile,BufRead */.bundle/config setf yaml
+
" C or lpc
au BufNewFile,BufRead *.c call dist#ft#FTlpc()
au BufNewFile,BufRead *.lpc,*.ulpc setf lpc
@@ -293,17 +299,24 @@ au BufNewFile,BufRead calendar setf calendar
" Cap'n Proto
au BufNewFile,BufRead *.capnp setf capnp
+" Cgdb config file
+au BufNewFile,BufRead cgdbrc setf cgdbrc
+
" C#
au BufNewFile,BufRead *.cs,*.csx 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
-au BufNewFile,BufRead *.toc setf cdrtoc
+" Cdrdao TOC or LaTeX \tableofcontents files
+au BufNewFile,BufRead *.toc
+ \ if getline(1) =~# '\\contentsline' |setf tex|else|setf cdrtoc|endif
" Cdrdao config
au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/defaults/cdrdao,*/etc/default/cdrdao,.cdrdao setf cdrdaoconf
@@ -317,6 +330,9 @@ 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
@@ -409,6 +425,9 @@ au BufNewFile,BufRead .clang-format setf yaml
" Clang-tidy
au BufNewFile,BufRead .clang-tidy setf yaml
+" Matplotlib
+au BufNewFile,BufRead *.mplstyle,matplotlibrc setf yaml
+
" Clean
au BufNewFile,BufRead *.dcl,*.icl setf clean
@@ -418,6 +437,9 @@ 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\c call dist#ft#FTprg()
@@ -427,6 +449,9 @@ 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
@@ -504,6 +529,13 @@ endif
au BufNewFile,BufRead *s6*/\(up\|down\|run\|finish\) setf execline
au BufNewFile,BufRead s6-* setf execline
+" Fontconfig config files
+au BufNewFile,BufRead fonts.conf setf xml
+
+" Libreoffice config files
+au BufNewFile,BufRead *.xcu,*.xlb,*.xlc,*.xba setf xml
+au BufNewFile,BufRead psprint.conf,sofficerc setf dosini
+
" Lynx config files
au BufNewFile,BufRead lynx.cfg setf lynx
@@ -514,6 +546,25 @@ au BufNewFile,BufRead *.lrc setf lyrics
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
+ \| endif
+
+" LXQt's programs use dosini as their config
+au BufNewFile,BufRead */{lxqt,screengrab}/*.conf setf dosini
+
" Quake
au BufNewFile,BufRead *baseq[2-3]/*.cfg,*id1/*.cfg setf quake
au BufNewFile,BufRead *quake[1-3]/*.cfg setf quake
@@ -521,6 +572,14 @@ 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\c call dist#ft#FTcfg()
@@ -650,7 +709,10 @@ au BufNewFile,BufRead *.dsl
au BufNewFile,BufRead *.dtd setf dtd
" DTS/DSTI/DTSO (device tree files)
-au BufNewFile,BufRead *.dts,*.dtsi,*.dtso,*.its setf dts
+au BufNewFile,BufRead *.dts,*.dtsi,*.dtso,*.its,*.keymap 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
@@ -730,6 +792,9 @@ au BufNewFile,BufRead *.fir setf firrtl
" Fish shell
au BufNewFile,BufRead *.fish setf fish
+" Flatpak config
+au BufNewFile,BufRead */flatpak/repo/config setf dosini
+
" FlexWiki - disabled, because it has side effects when a .wiki file
" is not actually FlexWiki
"au BufNewFile,BufRead *.wiki setf flexwiki
@@ -862,7 +927,7 @@ au BufNewFile,BufRead *.gts setf typescript.glimmer
au BufNewFile,BufRead *.gjs setf javascript.glimmer
" Gnuplot scripts
-au BufNewFile,BufRead *.gpi,*.gnuplot setf gnuplot
+au BufNewFile,BufRead *.gpi,*.gnuplot,.gnuplot_history setf gnuplot
" Go (Google)
au BufNewFile,BufRead *.go setf go
@@ -913,11 +978,7 @@ 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 $HOME/.cabal/config setf cabalconfig
-if exists('$XDG_CONFIG_HOME')
- au BufNewFile,BufRead $XDG_CONFIG_HOME/cabal/config setf cabalconfig
-endif
-au BufNewFile,BufRead $HOME/.config/cabal/config setf cabalconfig
+au BufNewFile,BufRead */{.,}cabal/config setf cabalconfig
au BufNewFile,BufRead cabal.config setf cabalconfig
au BufNewFile,BufRead *.persistentmodels setf haskellpersistent
@@ -938,7 +999,7 @@ au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules
au BufRead,BufNewFile *.heex setf heex
" HEX (Intel)
-au BufNewFile,BufRead *.hex,*.h32 setf hex
+au BufNewFile,BufRead *.hex,*.ihex,*.int,*.ihe,*.ihx,*.mcs,*.h32,*.h80,*.h86,*.a43,*.a90 setf hex
" Hjson
au BufNewFile,BufRead *.hjson setf hjson
@@ -955,6 +1016,9 @@ au BufRead,BufNewFile *.hoon setf hoon
" Tilde (must be before HTML)
au BufNewFile,BufRead *.t.html setf tilde
+" Translate shell
+au BufNewFile,BufRead init.trans,*/etc/translate-shell,.trans setf clojure
+
" HTML (.shtml and .stm for server side)
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml()
au BufNewFile,BufRead *.cshtml setf html
@@ -1062,6 +1126,7 @@ 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
@@ -1095,15 +1160,18 @@ au BufNewFile,BufRead *.json-patch setf json
" Geojson is also json
au BufNewFile,BufRead *.geojson setf json
-" Jupyter Notebook is also json
-au BufNewFile,BufRead *.ipynb 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 setf json
+au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,flake.lock setf json
" JSONC (JSON with comments)
au BufNewFile,BufRead *.jsonc,.babelrc,.eslintrc,.jsfmtrc setf jsonc
-au BufNewFile,BufRead .jshintrc,.hintrc,.swrc,[jt]sconfig*.json setf jsonc
+au BufNewFile,BufRead .jshintrc,.jscsrc,.vsconfig,.hintrc,.swrc,[jt]sconfig*.json setf jsonc
" JSON
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
@@ -1167,8 +1235,11 @@ au BufNewFile,BufRead *.sig call dist#ft#FTsig()
" 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 setf ld
+au BufNewFile,BufRead *.ld,*/ldscripts/* setf ld
" Lean
au BufNewFile,BufRead *.lean setf lean
@@ -1203,9 +1274,9 @@ au BufNewFile,BufRead *.ly,*.ily setf lilypond
" Lisp (*.el = ELisp, *.cl = Common Lisp)
" *.jl was removed, it's also used for Julia, better skip than guess wrong.
if has("fname_case")
- au BufNewFile,BufRead *.lsp,*.lisp,*.asd,*.el,*.cl,*.L,.emacs,.sawfishrc setf lisp
+ au BufNewFile,BufRead *.lsp,*.lisp,*.asd,*.el,*.cl,*.L,.emacs,.sawfishrc,*.stsg,*/supertux2/config setf lisp
else
- au BufNewFile,BufRead *.lsp,*.lisp,*.asd,*.el,*.cl,.emacs,.sawfishrc setf lisp
+ au BufNewFile,BufRead *.lsp,*.lisp,*.asd,*.el,*.cl,.emacs,.sawfishrc,*.stsg,*/supertux2/config setf lisp
endif
" SBCL implementation of Common Lisp
@@ -1236,13 +1307,17 @@ au BufNewFile,BufRead */etc/login.defs setf logindefs
au BufNewFile,BufRead *.lgt setf logtalk
" LOTOS
-au BufNewFile,BufRead *.lot,*.lotos setf 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
-au BufNewFile,BufRead *.lua setf lua
+" Lua, Texlua
+au BufNewFile,BufRead *.lua,*.tlu,.lua_history setf lua
" Luau
au BufNewFile,BufRead *.luau setf luau
@@ -1254,7 +1329,7 @@ au BufNewFile,BufRead .luaurc setf jsonc
au BufNewFile,BufRead .luacheckrc setf lua
" Luarocks
-au BufNewFile,BufRead *.rockspec setf lua
+au BufNewFile,BufRead *.rockspec,rock_manifest setf lua
" Linden Scripting Language (Second Life)
au BufNewFile,BufRead *.lsl call dist#ft#FTlsl()
@@ -1265,6 +1340,7 @@ au BufNewFile,BufRead *.lss setf lss
" M4
au BufNewFile,BufRead *.m4
\ if expand("<afile>") !~? 'html.m4$\|fvwm2rc' | setf m4 | endif
+au BufNewFile,BufRead .m4_history setf m4
" MaGic Point
au BufNewFile,BufRead *.mgp setf mgp
@@ -1300,7 +1376,12 @@ au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
au BufNewFile,BufRead *.map setf map
" Markdown
-au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown
+au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md
+ \ if exists("g:filetype_md") |
+ \ exe "setf " . g:filetype_md |
+ \ else |
+ \ setf markdown |
+ \ endif
" Mason
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
@@ -1314,6 +1395,9 @@ au BufNewFile,BufRead *.nb setf mma
" Maya Extension Language
au BufNewFile,BufRead *.mel setf mel
+" mbsync
+au BufNewFile,BufRead .mbsyncrc setf conf
+
" Mercurial (hg) commit file
au BufNewFile,BufRead hg-editor-*.txt setf hgcommit
@@ -1346,6 +1430,9 @@ 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
@@ -1389,7 +1476,7 @@ au BufNewFile,BufRead mrxvtrc,.mrxvtrc setf mrxvtrc
au BufNewFile,BufRead *.msql setf msql
" Mysql
-au BufNewFile,BufRead *.mysql setf mysql
+au BufNewFile,BufRead *.mysql,.mysql_history setf mysql
" Tcl Shell RC file
au BufNewFile,BufRead tclsh.rc setf tcl
@@ -1435,6 +1522,9 @@ 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,*/etc/nginx/*,*/usr/local/nginx/conf/*,*/nginx/*.conf setf nginx
@@ -1470,6 +1560,9 @@ 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
+
" NSE - Nmap Script Engine - uses Lua syntax
au BufNewFile,BufRead *.nse setf lua
@@ -1492,7 +1585,7 @@ au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit,*.mlt,*.mlp,*.mlip,*.mli
au BufNewFile,BufRead *.occ setf occam
" Octave
-au BufNewFile,BufRead octave.conf,.octaverc,octaverc setf octave
+au BufNewFile,BufRead octave.conf,.octaverc,octaverc,*/octave/history setf octave
" Odin
au BufNewFile,BufRead *.odin setf odin
@@ -1500,6 +1593,9 @@ 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 setf opam
@@ -1525,9 +1621,10 @@ au BufNewFile,BufRead *.org,*.org_archive setf org
au BufNewFile,BufRead pf.conf setf pf
" ini style config files, using # comments
-au BufNewFile,BufRead */etc/pacman.conf,mpv.conf setf confini
+au BufNewFile,BufRead pacman.conf,mpv.conf setf confini
au BufNewFile,BufRead */.aws/config,*/.aws/credentials setf confini
au BufNewFile,BufRead *.nmconnection setf confini
+au BufNewFile,BufRead paru.conf setf confini
" Pacman hooks
au BufNewFile,BufRead *.hook
@@ -1535,6 +1632,9 @@ au BufNewFile,BufRead *.hook
\ setf confini |
\ endif
+" Pacman makepkg
+au BufNewFile,BufRead {.,}makepkg.conf setf sh
+
" Pacman log
au BufNewFile,BufRead pacman.log setf pacmanlog
@@ -1556,8 +1656,16 @@ au BufNewFile,BufRead *.pas setf pascal
" Pascal or Puppet manifest
au BufNewFile,BufRead *.pp call dist#ft#FTpp()
-" Delphi or Lazarus program file
-au BufNewFile,BufRead *.dpr,*.lpr setf pascal
+" Delphi
+au BufNewFile,BufRead *.dpr setf pascal
+
+" Xilinx labtools project file or Lazarus program file
+au BufNewFile,BufRead *.lpr
+ \ if getline(1) =~# "<?xml" |
+ \ setf xml |
+ \ else |
+ \ setf pascal |
+ \ endif
" Free Pascal makefile definition file
au BufNewFile,BufRead *.fpc setf fpcmake
@@ -1582,6 +1690,9 @@ else
endif
au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl
+" Perl Reply
+au BufNewFile,BufRead .replyrc setf dosini
+
" Perl, XPM or XPM2
au BufNewFile,BufRead *.pm
\ if getline(1) =~ "XPM2" |
@@ -1621,6 +1732,11 @@ au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine
" Pip requirements
au BufNewFile,BufRead *.pip setf requirements
au BufNewFile,BufRead requirements.txt setf requirements
+au BufNewFile,BufRead *-requirements.txt setf requirements
+au BufNewFile,BufRead constraints.txt setf requirements
+au BufNewFile,BufRead requirements.in setf requirements
+au BufNewFile,BufRead requirements/*.txt setf requirements
+au BufNewFile,BufRead requires/*.txt setf requirements
" Pipenv Pipfiles
au BufNewFile,BufRead Pipfile setf toml
@@ -1732,7 +1848,7 @@ au BufNewFile,BufRead *.psl setf psl
" Google protocol buffers
au BufNewFile,BufRead *.proto setf proto
-au BufNewFile,BufRead *.pbtxt setf pbtxt
+au BufNewFile,BufRead *.txtpb,*.textproto,*.textpb,*.pbtxt setf pbtxt
" Poke
au BufNewFile,BufRead *.pk setf poke
@@ -1751,7 +1867,7 @@ au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
" Python, Python Shell Startup and Python Stub Files
" Quixote (Python-based web framework)
-au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc setf python
+au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc,.python_history,.jline-jython.history setf python
au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
" QL
@@ -1797,6 +1913,9 @@ au BufNewFile,BufRead *.rego setf rego
" Rexx
au BufNewFile,BufRead *.rex,*.orx,*.rxo,*.rxj,*.jrexx,*.rexxj,*.rexx,*.testGroup,*.testUnit setf rexx
+" Ripgrep rc
+au BufNewFile,BufRead {.,}ripgreprc setf conf
+
" R Help file
if has("fname_case")
au BufNewFile,BufRead *.rd,*.Rd setf rhelp
@@ -1819,7 +1938,7 @@ else
endif
" R profile file
-au BufNewFile,BufRead .Rprofile,Rprofile,Rprofile.site setf r
+au BufNewFile,BufRead .Rhistory,.Rprofile,Rprofile,Rprofile.site setf r
" RSS looks like XML
au BufNewFile,BufRead *.rss setf xml
@@ -1861,6 +1980,9 @@ au BufNewFile,BufRead *.robot,*.resource setf robot
" Robots.txt
au BufNewFile,BufRead robots.txt setf robots
+" Roc
+au BufNewFile,BufRead *.roc setf roc
+
" RON (Rusty Object Notation)
au BufNewFile,BufRead *.ron setf ron
@@ -1877,7 +1999,7 @@ au BufNewFile,BufRead *.rst setf rst
au BufNewFile,BufRead *.rtf setf rtf
" Interactive Ruby shell
-au BufNewFile,BufRead .irbrc,irbrc setf ruby
+au BufNewFile,BufRead .irbrc,irbrc,.irb_history,irb_history setf ruby
" Ruby
au BufNewFile,BufRead *.rb,*.rbw setf ruby
@@ -2011,7 +2133,7 @@ au BufNewFile,BufRead catalog setf catalog
" Gentoo ebuilds, Arch Linux PKGBUILDs and Alpine Linux APKBUILDs are actually
" bash scripts.
" NOTE: Patterns ending in a star are further down, these have lower priority.
-au BufNewFile,BufRead .bashrc,bashrc,bash.bashrc,.bash[_-]profile,.bash[_-]logout,.bash[_-]aliases,bash-fc[-.],*.ebuild,*.bash,*.eclass,PKGBUILD,APKBUILD,*.bats call dist#ft#SetFileTypeSH("bash")
+au BufNewFile,BufRead .bashrc,bashrc,bash.bashrc,.bash[_-]profile,.bash[_-]logout,.bash[_-]aliases,.bash[_-]history,bash-fc[-.],*.ebuild,*.bash,*.eclass,PKGBUILD,APKBUILD,*.bats call dist#ft#SetFileTypeSH("bash")
au BufNewFile,BufRead .kshrc,*.ksh call dist#ft#SetFileTypeSH("ksh")
au BufNewFile,BufRead */etc/profile,.profile,*.sh,*.env call dist#ft#SetFileTypeSH(getline(1))
@@ -2038,8 +2160,8 @@ au BufNewFile,BufRead *.zs setf zserio
" Z-Shell script (patterns ending in a star further below)
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
-au BufNewFile,BufRead .zshrc,.zshenv,.zlogin,.zlogout,.zcompdump setf zsh
-au BufNewFile,BufRead *.zsh setf zsh
+au BufNewFile,BufRead .zshrc,.zshenv,.zlogin,.zlogout,.zcompdump,.zsh_history setf zsh
+au BufNewFile,BufRead *.zsh,*.zsh-theme,*.zunit setf zsh
" Scheme ("racket" patterns are now separate, see above)
au BufNewFile,BufRead *.scm,*.ss,*.sld setf scheme
@@ -2150,6 +2272,7 @@ au BufNewFile,BufRead *.typ call dist#ft#FTtyp()
" SQL
au BufNewFile,BufRead *.sql call dist#ft#SQL()
+au BufNewFile,BufRead .sqlite_history setf sql
" SQLJ
au BufNewFile,BufRead *.sqlj setf sqlj
@@ -2254,7 +2377,10 @@ au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
au BufRead,BufNewFile *.task setf taskedit
" Tcl (JACL too)
-au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc setf tcl
+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
" Teal
au BufRead,BufNewFile *.tl setf teal
@@ -2282,6 +2408,12 @@ 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
+
+" LaTeX packages will generate some medium LaTeX files during compiling
+" They should be ignored by .gitignore https://github.com/github/gitignore/blob/main/TeX.gitignore
+" Sometime we need to view its content for debugging
+au BufNewFile,BufRead *.{pgf,nlo,nls,out,thm,eps_tex,pygtex,pygstyle,clo,aux,brf,ind,lof,loe,nav,vrb,ins,tikz,bbx,cbx,beamer} setf tex
" ConTeXt
au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi,*.mkxl,*.mklx setf context
@@ -2347,6 +2479,7 @@ au BufNewFile,BufReadPost *.ts
\ else |
\ setf typescript |
\ endif
+au BufNewFile,BufRead .ts_node_repl_history setf typescript
" TypeScript module and common
au BufNewFile,BufRead *.mts,*.cts setf typescript
@@ -2354,6 +2487,9 @@ au BufNewFile,BufRead *.mts,*.cts setf typescript
" TypeScript with React
au BufNewFile,BufRead *.tsx setf typescriptreact
+" TypeSpec files
+au BufNewFile,BufRead *.tsp setf typespec
+
" Motif UIT/UIL files
au BufNewFile,BufRead *.uit,*.uil setf uil
@@ -2427,7 +2563,7 @@ au BufNewFile,BufRead *.tape setf vhs
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst,*.vho setf vhdl
" Vim script
-au BufNewFile,BufRead *.vim,.exrc,_exrc setf vim
+au BufNewFile,BufRead *.vim,.exrc,_exrc,.netrwhist setf vim
" Viminfo file
au BufNewFile,BufRead .viminfo,_viminfo setf viminfo
@@ -2530,9 +2666,18 @@ au BufNewFile,BufRead *.web
" Windows Scripting Host and Windows Script Component
au BufNewFile,BufRead *.ws[fc] setf wsh
+" Xdg-user-dirs
+au BufNewFile,BufRead user-dirs.dirs,user-dirs.defaults setf sh
+
" XHTML
au BufNewFile,BufRead *.xhtml,*.xht setf xhtml
+" X11vnc
+au BufNewFile,BufRead .x11vncrc setf conf
+
+" Xprofile
+au BufNewFile,BufRead .xprofile setf sh
+
" X Pixmap (dynamically sets colors, this used to trigger on BufEnter to make
" it work better, but that breaks setting 'filetype' manually)
au BufNewFile,BufRead *.xpm
@@ -2559,6 +2704,10 @@ au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86conf_xfree86_version = 4 |
" Xinetd conf
au BufNewFile,BufRead */etc/xinetd.conf setf xinetd
+" Xilinx Vivado/Vitis project files and block design files
+au BufNewFile,BufRead *.xpr,*.xpfm,*.spfm,*.bxml setf xml
+au BufNewFile,BufRead *.bd,*.bda,*.xci setf json
+
" XS Perl extension interface language
au BufNewFile,BufRead *.xs setf xs
@@ -2826,6 +2975,9 @@ au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
au BufNewFile,BufRead .neomuttrc*,*/.neomutt/neomuttrc* call s:StarSetf('neomuttrc')
au BufNewFile,BufRead neomuttrc*,Neomuttrc* call s:StarSetf('neomuttrc')
+" Nfs
+au BufNewFile,BufRead nfs.conf,nfsmount.conf setf dosini
+
" Nroff macros
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
@@ -2835,6 +2987,9 @@ au BufNewFile,BufRead */etc/hostname.* call s:StarSetf('config')
" Pam conf
au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf')
+" Pandoc
+au BufNewFile,BufRead,BufFilePost *.pandoc,*.pdk,*.pd,*.pdc setf pandoc
+
" Printcap and Termcap
au BufNewFile,BufRead *printcap*
\ if !did_filetype()
@@ -2878,6 +3033,12 @@ au BufNewFile,BufRead {.,}tmux*.conf* setf tmux
" Universal Scene Description
au BufNewFile,BufRead *.usda,*.usd setf usd
+" UCI
+" UCI files are normally in /etc/config, but that might be mounted over sshfs or similar, so we match more loosely.
+" There was some concern[1] that this pattern would match too much, so now we check the file content as well.
+" [1]: https://github.com/vim/vim/pull/14385#discussion_r1558878741
+au BufNewFile,BufRead */etc/config/* if dist#ft#Detect_UCI_statements() | call s:StarSetf('uci') | endif
+
" VHDL
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
@@ -2925,6 +3086,9 @@ au BufNewFile,BufRead *.txt
" Blueprint markup files
au BufNewFile,BufRead *.blp setf blueprint
+" Blueprint build system file
+au BufNewFile,BufRead *.bp setf bp
+
" Use the filetype detect plugins. They may overrule any of the previously
" detected filetypes.
runtime! ftdetect/*.vim
@@ -2944,6 +3108,11 @@ au filetypedetect BufNewFile,BufRead,StdinReadPost *
\ setf FALLBACK conf |
\ endif
+" Yarn lock
+au BufNewFile,BufRead yarn.lock setf yaml
+
+" Zathurarc
+au BufNewFile,BufRead zathurarc setf zathurarc
" If the GUI is already running, may still need to install the Syntax menu.
" Don't do it when the 'M' flag is included in 'guioptions'.
@@ -2970,3 +3139,5 @@ endfunc
" Restore 'cpoptions'
let &cpo = s:cpo_save
unlet s:cpo_save
+
+" vim: ts=8