aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/filetype.lua
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-05-24 19:18:11 +0000
committerJosh Rahm <joshuarahm@gmail.com>2024-05-24 19:18:11 +0000
commitff7ed8f586589d620a806c3758fac4a47a8e7e15 (patch)
tree729bbcb92231538fa61dab6c3d890b025484b7f5 /runtime/lua/vim/filetype.lua
parent376914f419eb08fdf4c1a63a77e1f035898a0f10 (diff)
parent28c04948a1c887a1cc0cb64de79fa32631700466 (diff)
downloadrneovim-ff7ed8f586589d620a806c3758fac4a47a8e7e15.tar.gz
rneovim-ff7ed8f586589d620a806c3758fac4a47a8e7e15.tar.bz2
rneovim-ff7ed8f586589d620a806c3758fac4a47a8e7e15.zip
Merge remote-tracking branch 'upstream/master' into mix_20240309
Diffstat (limited to 'runtime/lua/vim/filetype.lua')
-rw-r--r--runtime/lua/vim/filetype.lua204
1 files changed, 184 insertions, 20 deletions
diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua
index fba76f93b2..d1fdd0aa16 100644
--- a/runtime/lua/vim/filetype.lua
+++ b/runtime/lua/vim/filetype.lua
@@ -14,7 +14,8 @@ local M = {}
local function starsetf(ft, opts)
return {
function(path, bufnr)
- local f = type(ft) == 'function' and ft(path, bufnr) or ft
+ -- Note: when `ft` is a function its return value may be nil.
+ local f = type(ft) ~= 'function' and ft or ft(path, bufnr)
if not vim.g.ft_ignore_pat then
return f
end
@@ -236,6 +237,7 @@ local extension = {
bbclass = 'bitbake',
bl = 'blank',
blp = 'blueprint',
+ bp = 'bp',
bsd = 'bsdl',
bsdl = 'bsdl',
bst = 'bst',
@@ -246,13 +248,15 @@ local extension = {
bzl = 'bzl',
bazel = 'bzl',
BUILD = 'bzl',
+ mdh = 'c',
+ epro = 'c',
qc = 'c',
cabal = 'cabal',
cairo = 'cairo',
capnp = 'capnp',
cdc = 'cdc',
cdl = 'cdl',
- toc = 'cdrtoc',
+ toc = detect_line1('\\contentsline', 'tex', 'cdrtoc'),
cfc = 'cf',
cfm = 'cf',
cfi = 'cf',
@@ -282,6 +286,7 @@ local extension = {
cbl = 'cobol',
atg = 'coco',
recipe = 'conaryrecipe',
+ ctags = 'conf',
hook = function(path, bufnr)
return M._getline(bufnr, 1) == '[Trigger]' and 'confini' or nil
end,
@@ -335,6 +340,7 @@ local extension = {
si = 'cuplsim',
cyn = 'cynpp',
cypher = 'cypher',
+ dfy = 'dafny',
dart = 'dart',
drt = 'dart',
ds = 'datascript',
@@ -366,6 +372,7 @@ local extension = {
dtsi = 'dts',
dtso = 'dts',
its = 'dts',
+ keymap = 'dts',
dylan = 'dylan',
intr = 'dylanintr',
lid = 'dylanlid',
@@ -465,6 +472,7 @@ local extension = {
glsl = 'glsl',
gn = 'gn',
gni = 'gn',
+ gnuplot = 'gnuplot',
gpi = 'gnuplot',
go = 'go',
gp = 'gp',
@@ -502,7 +510,16 @@ local extension = {
vc = 'hercules',
heex = 'heex',
hex = 'hex',
+ ['a43'] = 'hex',
+ ['a90'] = 'hex',
['h32'] = 'hex',
+ ['h80'] = 'hex',
+ ['h86'] = 'hex',
+ ihex = 'hex',
+ ihe = 'hex',
+ ihx = 'hex',
+ int = 'hex',
+ mcs = 'hex',
hjson = 'hjson',
m3u = 'hlsplaylist',
m3u8 = 'hlsplaylist',
@@ -530,6 +547,7 @@ local extension = {
inf = 'inform',
INF = 'inform',
ii = 'initng',
+ inko = 'inko',
inp = detect.inp,
ms = detect_seq(detect.nroff, 'xmath'),
iss = 'iss',
@@ -554,6 +572,7 @@ local extension = {
jsx = 'javascriptreact',
clp = 'jess',
jgr = 'jgraph',
+ jjdescription = 'jj',
j73 = 'jovial',
jov = 'jovial',
jovial = 'jovial',
@@ -565,7 +584,14 @@ local extension = {
geojson = 'json',
webmanifest = 'json',
ipynb = 'json',
+ ['jupyterlab-settings'] = 'json',
+ ['sublime-project'] = 'json',
+ ['sublime-settings'] = 'json',
+ ['sublime-workspace'] = 'json',
['json-patch'] = 'json',
+ bd = 'json',
+ bda = 'json',
+ xci = 'json',
json5 = 'json5',
jsonc = 'jsonc',
jsonl = 'jsonl',
@@ -609,12 +635,13 @@ local extension = {
el = 'lisp',
lsp = 'lisp',
asd = 'lisp',
+ stsg = 'lisp',
lt = 'lite',
lite = 'lite',
livemd = 'livebook',
lgt = 'logtalk',
lotos = 'lotos',
- lot = 'lotos',
+ lot = detect_line1('\\contentsline', 'tex', 'lotos'),
lout = 'lout',
lou = 'lout',
ulpc = 'lpc',
@@ -625,6 +652,7 @@ local extension = {
nse = 'lua',
rockspec = 'lua',
lua = 'lua',
+ tlu = 'lua',
luau = 'luau',
lrc = 'lyrics',
m = detect.m,
@@ -644,12 +672,12 @@ local extension = {
mws = 'maple',
mpl = 'maple',
mv = 'maple',
- mkdn = 'markdown',
- md = 'markdown',
- mdwn = 'markdown',
- mkd = 'markdown',
- markdown = 'markdown',
- mdown = 'markdown',
+ mkdn = detect.markdown,
+ md = detect.markdown,
+ mdwn = detect.markdown,
+ mkd = detect.markdown,
+ markdown = detect.markdown,
+ mdown = detect.markdown,
mhtml = 'mason',
comp = 'mason',
mason = 'mason',
@@ -744,12 +772,19 @@ local extension = {
ora = 'ora',
org = 'org',
org_archive = 'org',
+ pandoc = 'pandoc',
+ pdk = 'pandoc',
+ pd = 'pandoc',
+ pdc = 'pandoc',
pxsl = 'papp',
papp = 'papp',
pxml = 'papp',
pas = 'pascal',
- lpr = 'pascal',
+ lpr = detect_line1('<%?xml', 'xml', 'pascal'),
dpr = 'pascal',
+ txtpb = 'pbtxt',
+ textproto = 'pbtxt',
+ textpb = 'pbtxt',
pbtxt = 'pbtxt',
g = 'pccts',
pcmk = 'pcmk',
@@ -810,6 +845,7 @@ local extension = {
psf = 'psf',
psl = 'psl',
pug = 'pug',
+ purs = 'purescript',
arr = 'pyret',
pxd = 'pyrex',
pyx = 'pyrex',
@@ -869,6 +905,7 @@ local extension = {
Snw = 'rnoweb',
robot = 'robot',
resource = 'robot',
+ roc = 'roc',
ron = 'ron',
rsc = 'routeros',
x = 'rpcgen',
@@ -911,11 +948,13 @@ local extension = {
sexp = 'sexplib',
bash = detect.bash,
bats = detect.bash,
+ cygport = detect.bash,
ebuild = detect.bash,
eclass = detect.bash,
env = detect.sh,
ksh = detect.ksh,
sh = detect.sh,
+ mdd = 'sh',
sieve = 'sieve',
siv = 'sieve',
sig = detect.sig,
@@ -933,6 +972,7 @@ local extension = {
cdf = 'skill',
sl = 'slang',
ice = 'slice',
+ slint = 'slint',
score = 'slrnsc',
sol = 'solidity',
smali = 'smali',
@@ -983,6 +1023,8 @@ local extension = {
mata = 'stata',
ado = 'stata',
stp = 'stp',
+ styl = 'stylus',
+ stylus = 'stylus',
quark = 'supercollider',
sface = 'surface',
svelte = 'svelte',
@@ -1005,6 +1047,7 @@ local extension = {
tk = 'tcl',
jacl = 'tcl',
tl = 'teal',
+ templ = 'templ',
tmpl = 'template',
ti = 'terminfo',
dtx = 'tex',
@@ -1012,6 +1055,26 @@ local extension = {
bbl = 'tex',
latex = 'tex',
sty = 'tex',
+ pgf = 'tex',
+ nlo = 'tex',
+ nls = 'tex',
+ thm = 'tex',
+ eps_tex = 'tex',
+ pygtex = 'tex',
+ pygstyle = 'tex',
+ clo = 'tex',
+ aux = 'tex',
+ brf = 'tex',
+ ind = 'tex',
+ lof = 'tex',
+ loe = 'tex',
+ nav = 'tex',
+ vrb = 'tex',
+ ins = 'tex',
+ tikz = 'tex',
+ bbx = 'tex',
+ cbx = 'tex',
+ beamer = 'tex',
cls = detect.cls,
texi = 'texinfo',
txi = 'texinfo',
@@ -1035,6 +1098,7 @@ local extension = {
mts = 'typescript',
cts = 'typescript',
tsx = 'typescriptreact',
+ tsp = 'typespec',
uc = 'uc',
uit = 'uil',
uil = 'uil',
@@ -1062,6 +1126,7 @@ local extension = {
vdmrt = 'vdmrt',
vdmsl = 'vdmsl',
vdm = 'vdmsl',
+ vto = 'vento',
vr = 'vera',
vri = 'vera',
vrh = 'vera',
@@ -1110,6 +1175,14 @@ local extension = {
csproj = 'xml',
wpl = 'xml',
xmi = 'xml',
+ xpr = 'xml',
+ xpfm = 'xml',
+ spfm = 'xml',
+ bxml = 'xml',
+ xcu = 'xml',
+ xlb = 'xml',
+ xlc = 'xml',
+ xba = 'xml',
xpm = detect_line1('XPM2', 'xpm2', 'xpm'),
xpm2 = 'xpm2',
xqy = 'xquery',
@@ -1127,6 +1200,7 @@ local extension = {
yml = 'yaml',
yaml = 'yaml',
eyaml = 'yaml',
+ mplstyle = 'yaml',
yang = 'yang',
yuck = 'yuck',
z8a = 'z8a',
@@ -1136,6 +1210,8 @@ local extension = {
zut = 'zimbutempl',
zs = 'zserio',
zsh = 'zsh',
+ zunit = 'zsh',
+ ['zsh-theme'] = 'zsh',
vala = 'vala',
web = detect.web,
pl = detect.pl,
@@ -1229,7 +1305,12 @@ local filename = {
['/etc/default/cdrdao'] = 'cdrdaoconf',
['/etc/defaults/cdrdao'] = 'cdrdaoconf',
['cfengine.conf'] = 'cfengine',
+ cgdbrc = 'cgdbrc',
+ ['init.trans'] = 'clojure',
+ ['.trans'] = 'clojure',
['CMakeLists.txt'] = 'cmake',
+ ['CMakeCache.txt'] = 'cmakecache',
+ ['.cling_history'] = 'cpp',
['.alias'] = detect.csh,
['.cshrc'] = detect.csh,
['.login'] = detect.csh,
@@ -1237,6 +1318,12 @@ local filename = {
['csh.login'] = detect.csh,
['csh.logout'] = detect.csh,
['auto.master'] = 'conf',
+ ['texdoc.cnf'] = 'conf',
+ ['.x11vncrc'] = 'conf',
+ ['.chktexrc'] = 'conf',
+ ['.ripgreprc'] = 'conf',
+ ripgreprc = 'conf',
+ ['.mbsyncrc'] = 'conf',
['configure.in'] = 'config',
['configure.ac'] = 'config',
crontab = 'crontab',
@@ -1262,12 +1349,31 @@ local filename = {
npmrc = 'dosini',
['/etc/yum.conf'] = 'dosini',
['.npmrc'] = 'dosini',
- ['/etc/pacman.conf'] = 'confini',
+ ['pip.conf'] = 'dosini',
+ ['setup.cfg'] = 'dosini',
+ ['pudb.cfg'] = 'dosini',
+ ['.coveragerc'] = 'dosini',
+ ['.pypirc'] = 'dosini',
+ ['.pylintrc'] = 'dosini',
+ ['pylintrc'] = 'dosini',
+ ['.replyrc'] = 'dosini',
+ ['.gitlint'] = 'dosini',
+ ['.oelint.cfg'] = 'dosini',
+ ['psprint.conf'] = 'dosini',
+ sofficerc = 'dosini',
+ ['mimeapps.list'] = 'dosini',
+ ['.wakatime.cfg'] = 'dosini',
+ ['nfs.conf'] = 'dosini',
+ ['nfsmount.conf'] = 'dosini',
+ ['.notmuch-config'] = 'dosini',
+ ['pacman.conf'] = 'confini',
+ ['paru.conf'] = 'confini',
['mpv.conf'] = 'confini',
dune = 'dune',
jbuild = 'dune',
['dune-workspace'] = 'dune',
['dune-project'] = 'dune',
+ Earthfile = 'earthfile',
['.editorconfig'] = 'editorconfig',
['elinks.conf'] = 'elinks',
['mix.lock'] = 'elixir',
@@ -1302,7 +1408,7 @@ local filename = {
['.gnashpluginrc'] = 'gnash',
gnashpluginrc = 'gnash',
gnashrc = 'gnash',
- ['.gnuplot'] = 'gnuplot',
+ ['.gnuplot_history'] = 'gnuplot',
['go.sum'] = 'gosum',
['go.work.sum'] = 'gosum',
['go.work'] = 'gowork',
@@ -1328,6 +1434,10 @@ local filename = {
['/etc/host.conf'] = 'hostconf',
['/etc/hosts.allow'] = 'hostsaccess',
['/etc/hosts.deny'] = 'hostsaccess',
+ ['hyprland.conf'] = 'hyprlang',
+ ['hyprpaper.conf'] = 'hyprlang',
+ ['hypridle.conf'] = 'hyprlang',
+ ['hyprlock.conf'] = 'hyprlang',
['/.icewm/menu'] = 'icemenu',
['.indent.pro'] = 'indent',
indentrc = 'indent',
@@ -1335,17 +1445,21 @@ local filename = {
['ipf.conf'] = 'ipfilter',
['ipf6.conf'] = 'ipfilter',
['ipf.rules'] = 'ipfilter',
+ ['.node_repl_history'] = 'javascript',
['Pipfile.lock'] = 'json',
['.firebaserc'] = 'json',
['.prettierrc'] = 'json',
['.stylelintrc'] = 'json',
+ ['flake.lock'] = 'json',
['.babelrc'] = 'jsonc',
['.eslintrc'] = 'jsonc',
['.hintrc'] = 'jsonc',
+ ['.jscsrc'] = 'jsonc',
['.jsfmtrc'] = 'jsonc',
['.jshintrc'] = 'jsonc',
['.luaurc'] = 'jsonc',
['.swrc'] = 'jsonc',
+ ['.vsconfig'] = 'jsonc',
['.justfile'] = 'just',
Kconfig = 'kconfig',
['Kconfig.debug'] = 'kconfig',
@@ -1365,10 +1479,14 @@ local filename = {
['.lsl'] = detect.lsl,
['.busted'] = 'lua',
['.luacheckrc'] = 'lua',
+ ['.lua_history'] = 'lua',
+ ['config.ld'] = 'lua',
+ ['rock_manifest'] = 'lua',
['lynx.cfg'] = 'lynx',
['m3overrides'] = 'm3build',
['m3makefile'] = 'm3build',
['cm3.cfg'] = 'm3quake',
+ ['.m4_history'] = 'm4',
['.followup'] = 'mail',
['.article'] = 'mail',
['.letter'] = 'mail',
@@ -1376,6 +1494,7 @@ local filename = {
['/etc/mail/aliases'] = 'mailaliases',
mailcap = 'mailcap',
['.mailcap'] = 'mailcap',
+ Kbuild = 'make',
['/etc/man.conf'] = 'manconf',
['man.config'] = 'manconf',
['maxima-init.mac'] = 'maxima',
@@ -1389,6 +1508,8 @@ local filename = {
['mplayer.conf'] = 'mplayerconf',
mrxvtrc = 'mrxvtrc',
['.mrxvtrc'] = 'mrxvtrc',
+ ['.msmtprc'] = 'msmtp',
+ ['.mysql_history'] = 'mysql',
['/etc/nanorc'] = 'nanorc',
Neomuttrc = 'neomuttrc',
['.netrc'] = 'netrc',
@@ -1397,6 +1518,7 @@ local filename = {
['.octaverc'] = 'octave',
octaverc = 'octave',
['octave.conf'] = 'octave',
+ ['.ondirrc'] = 'ondir',
opam = 'opam',
['pacman.log'] = 'pacmanlog',
['/etc/pam.conf'] = 'pamconf',
@@ -1441,8 +1563,11 @@ local filename = {
['MANIFEST.in'] = 'pymanifest',
['.pythonstartup'] = 'python',
['.pythonrc'] = 'python',
+ ['.python_history'] = 'python',
+ ['.jline-jython.history'] = 'python',
SConstruct = 'python',
qmldir = 'qmldir',
+ ['.Rhistory'] = 'r',
['.Rprofile'] = 'r',
Rprofile = 'r',
['Rprofile.site'] = 'r',
@@ -1452,12 +1577,16 @@ local filename = {
['.inputrc'] = 'readline',
['.reminders'] = 'remind',
['requirements.txt'] = 'requirements',
+ ['constraints.txt'] = 'requirements',
+ ['requirements.in'] = 'requirements',
['resolv.conf'] = 'resolv',
['robots.txt'] = 'robots',
Gemfile = 'ruby',
Puppetfile = 'ruby',
['.irbrc'] = 'ruby',
irbrc = 'ruby',
+ ['.irb_history'] = 'ruby',
+ irb_history = 'ruby',
Vagrantfile = 'ruby',
['smb.conf'] = 'samba',
screenrc = 'screen',
@@ -1467,10 +1596,15 @@ local filename = {
['/etc/services'] = 'services',
['/etc/serial.conf'] = 'setserial',
['/etc/udev/cdsymlinks.conf'] = 'sh',
+ ['.ash_history'] = 'sh',
+ ['makepkg.conf'] = 'sh',
+ ['.makepkg.conf'] = 'sh',
+ ['user-dirs.dirs'] = 'sh',
+ ['user-dirs.defaults'] = 'sh',
+ ['.xprofile'] = 'sh',
['bash.bashrc'] = detect.bash,
bashrc = detect.bash,
['.bashrc'] = detect.bash,
- ['.env'] = detect.sh,
['.kshrc'] = detect.ksh,
['.profile'] = detect.sh,
['/etc/profile'] = detect.sh,
@@ -1484,6 +1618,7 @@ local filename = {
['/etc/slp.spi'] = 'slpspi',
['.slrnrc'] = 'slrnrc',
['sendmail.cf'] = 'sm',
+ ['.sqlite_history'] = 'sql',
['squid.conf'] = 'squid',
['ssh_config'] = 'sshconfig',
['sshd_config'] = 'sshdconfig',
@@ -1496,7 +1631,10 @@ local filename = {
['undo.data'] = 'taskdata',
['.tclshrc'] = 'tcl',
['.wishrc'] = 'tcl',
+ ['.tclsh-history'] = 'tcl',
['tclsh.rc'] = 'tcl',
+ ['.xsctcmdhistory'] = 'tcl',
+ ['.xsdbcmdhistory'] = 'tcl',
['texmf.cnf'] = 'texmf',
COPYING = 'text',
README = 'text',
@@ -1513,13 +1651,17 @@ local filename = {
['Gopkg.lock'] = 'toml',
['/.cargo/credentials'] = 'toml',
['Cargo.lock'] = 'toml',
+ ['.black'] = 'toml',
+ black = detect_line1('tool%.black', 'toml', nil),
['trustees.conf'] = 'trustees',
+ ['.ts_node_repl_history'] = 'typescript',
['/etc/udev/udev.conf'] = 'udevconf',
['/etc/updatedb.conf'] = 'updatedb',
['fdrupstream.log'] = 'upstreamlog',
vgrindefs = 'vgrindefs',
['.exrc'] = 'vim',
['_exrc'] = 'vim',
+ ['.netrwhist'] = 'vim',
['_viminfo'] = 'viminfo',
['.viminfo'] = 'viminfo',
['.wgetrc'] = 'wget',
@@ -1541,15 +1683,20 @@ local filename = {
fglrxrc = 'xml',
['/etc/blkid.tab'] = 'xml',
['/etc/blkid.tab.old'] = 'xml',
+ ['fonts.conf'] = 'xml',
['.clangd'] = 'yaml',
['.clang-format'] = 'yaml',
['.clang-tidy'] = 'yaml',
+ ['yarn.lock'] = 'yaml',
+ matplotlibrc = 'yaml',
+ zathurarc = 'zathurarc',
['/etc/zprofile'] = 'zsh',
['.zlogin'] = 'zsh',
['.zlogout'] = 'zsh',
['.zshrc'] = 'zsh',
['.zprofile'] = 'zsh',
['.zcompdump'] = 'zsh',
+ ['.zsh_history'] = 'zsh',
['.zshenv'] = 'zsh',
['.zfbfmarks'] = 'zsh',
-- END FILENAME
@@ -1599,9 +1746,8 @@ local pattern = {
['.*%.blade%.php'] = 'blade',
['bzr_log%..*'] = 'bzr',
['.*enlightenment/.*%.cfg'] = 'c',
- ['${HOME}/cabal%.config'] = 'cabalconfig',
- ['${HOME}/%.config/cabal/config'] = 'cabalconfig',
- ['${XDG_CONFIG_HOME}/cabal/config'] = 'cabalconfig',
+ ['.*/%.cabal/config'] = 'cabalconfig',
+ ['.*/cabal/config'] = 'cabalconfig',
['cabal%.project%..*'] = starsetf('cabalproject'),
['.*/%.calendar/.*'] = starsetf('calendar'),
['.*/share/calendar/.*/calendar%..*'] = starsetf('calendar'),
@@ -1619,6 +1765,7 @@ local pattern = {
},
['[cC]hange[lL]og.*'] = starsetf(detect.changelog),
['.*%.%.ch'] = 'chill',
+ ['.*/etc/translate%-shell'] = 'clojure',
['.*%.cmake%.in'] = 'cmake',
-- */cmus/rc and */.cmus/rc
['.*/%.?cmus/rc'] = 'cmusrc',
@@ -1653,8 +1800,12 @@ local pattern = {
['php%.ini%-.*'] = 'dosini',
['.*/%.aws/config'] = 'confini',
['.*/%.aws/credentials'] = 'confini',
- ['.*/etc/pacman%.conf'] = 'confini',
['.*/etc/yum%.conf'] = 'dosini',
+ ['.*/lxqt/.*%.conf'] = 'dosini',
+ ['.*/screengrab/.*%.conf'] = 'dosini',
+ ['.*/bpython/config'] = 'dosini',
+ ['.*/mypy/config'] = 'dosini',
+ ['.*/flatpak/repo/config'] = 'dosini',
['.*lvs'] = 'dracula',
['.*lpe'] = 'dracula',
['.*/dtrace/.*%.d'] = 'dtrace',
@@ -1745,12 +1896,14 @@ local pattern = {
['.*%.[Ss][Uu][Bb]'] = 'krl',
['lilo%.conf.*'] = starsetf('lilo'),
['.*/etc/logcheck/.*%.d.*/.*'] = starsetf('logcheck'),
+ ['.*/ldscripts/.*'] = 'ld',
['.*lftp/rc'] = 'lftp',
['.*/%.libao'] = 'libao',
['.*/etc/libao%.conf'] = 'libao',
['.*/etc/.*limits%.conf'] = 'limits',
['.*/etc/limits'] = 'limits',
['.*/etc/.*limits%.d/.*%.conf'] = 'limits',
+ ['.*/supertux2/config'] = 'lisp',
['.*/LiteStep/.*/.*%.rc'] = 'litestep',
['.*/etc/login%.access'] = 'loginaccess',
['.*/etc/login%.defs'] = 'logindefs',
@@ -1889,6 +2042,7 @@ local pattern = {
['.*%.[1-9]'] = detect.nroff,
['.*%.ml%.cppo'] = 'ocaml',
['.*%.mli%.cppo'] = 'ocaml',
+ ['.*/octave/history'] = 'octave',
['.*%.opam%.template'] = 'opam',
['.*/openvpn/.*/.*%.conf'] = 'openvpn',
['.*%.[Oo][Pp][Ll]'] = 'opl',
@@ -1918,6 +2072,9 @@ local pattern = {
['.*/queries/.*%.scm'] = 'query', -- treesitter queries (Neovim only)
['.*,v'] = 'rcs',
['%.reminders.*'] = starsetf('remind'),
+ ['.*%-requirements%.txt'] = 'requirements',
+ ['requirements/.*%.txt'] = 'requirements',
+ ['requires/.*%.txt'] = 'requirements',
['[rR]akefile.*'] = starsetf('ruby'),
['[rR]antfile'] = 'ruby',
['[rR]akefile'] = 'ruby',
@@ -1927,7 +2084,9 @@ local pattern = {
['.*/etc/services'] = 'services',
['.*/etc/serial%.conf'] = 'setserial',
['.*/etc/udev/cdsymlinks%.conf'] = 'sh',
+ ['.*/neofetch/config%.conf'] = 'sh',
['%.bash[_%-]aliases'] = detect.bash,
+ ['%.bash[_%-]history'] = detect.bash,
['%.bash[_%-]logout'] = detect.bash,
['%.bash[_%-]profile'] = detect.bash,
['%.kshrc.*'] = detect.ksh,
@@ -1979,6 +2138,7 @@ local pattern = {
['.*termcap.*'] = starsetf(function(path, bufnr)
return require('vim.filetype.detect').printcap('term')
end),
+ ['.*/tex/latex/.*%.cfg'] = 'tex',
['.*%.t%.html'] = 'tilde',
['%.?tmux.*%.conf'] = 'tmux',
['%.?tmux.*%.conf.*'] = { 'tmux', { priority = -1 } },
@@ -1996,6 +2156,7 @@ local pattern = {
['.*/%.init/.*%.conf'] = 'upstart',
['.*/usr/share/upstart/.*%.override'] = 'upstart',
['.*%.[Ll][Oo][Gg]'] = detect.log,
+ ['.*/etc/config/.*'] = starsetf(detect.uci),
['.*%.vhdl_[0-9].*'] = starsetf('vhdl'),
['.*%.ws[fc]'] = 'wsh',
['.*/Xresources/.*'] = starsetf('xdefaults'),
@@ -2022,6 +2183,7 @@ local pattern = {
-- Increase priority to run before the pattern below
['XF86Config%-4.*'] = starsetf(detect.xfree86_v4, { priority = -math.huge + 1 }),
['XF86Config.*'] = starsetf(detect.xfree86_v3),
+ ['.*/%.bundle/config'] = 'yaml',
['%.zcompdump.*'] = starsetf('zsh'),
-- .zlog* and zlog*
['%.?zlog.*'] = starsetf('zsh'),
@@ -2029,7 +2191,7 @@ local pattern = {
['%.?zsh.*'] = starsetf('zsh'),
-- Ignored extension
['.*~'] = function(path, bufnr)
- local short = path:gsub('~$', '', 1)
+ local short = path:gsub('~+$', '', 1)
if path ~= short and short ~= '' then
return M.match({ buf = bufnr, filename = fn.fnameescape(short) })
end
@@ -2157,7 +2319,6 @@ end
--- vim.filetype.add {
--- pattern = {
--- ['.*'] = {
---- priority = -math.huge,
--- function(path, bufnr)
--- local content = vim.api.nvim_buf_get_lines(bufnr, 0, 1, false)[1] or ''
--- if vim.regex([[^#!.*\\<mine\\>]]):match_str(content) ~= nil then
@@ -2166,6 +2327,7 @@ end
--- return 'drawing'
--- end
--- end,
+--- { priority = -math.huge },
--- },
--- },
--- }
@@ -2385,7 +2547,9 @@ function M.match(args)
end
-- Next, check file extension
- local ext = fn.fnamemodify(name, ':e')
+ -- Don't use fnamemodify() with :e modifier here,
+ -- as that's empty when there is only an extension.
+ local ext = name:match('%.([^.]-)$') or ''
ft, on_detect = dispatch(extension[ext], path, bufnr)
if ft then
return ft, on_detect