From ec3dded6dd88d1cf81ec005883be1d440b671137 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Fri, 19 Sep 2025 06:55:00 +0800 Subject: [PATCH] vim-patch:6701480: runtime(filetype): Use s:StarSetf for all patterns ending in * (#35825) Problem: Some filetype autocmds with patterns ending in * do not skip filenames matching g:ignored_patterns. Solution: Move these autocmds to the appropriate section and call s:StarSetf() to set the filetype. - Affected filetypes: dosini, execline, foam, messages, nginx, tmux. - Convert foam filetype patterns to use wildcard matching. closes: vim/vim#17422 https://github.com/vim/vim/commit/6701480c43ce3addff01447b9590260a4fe227f7 Co-authored-by: Doug Kearns --- runtime/lua/vim/filetype.lua | 178 ++++++++++++++++++++++++++++++++--- 1 file changed, 166 insertions(+), 12 deletions(-) diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index 3e516a9a6e..50c6b4d31d 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -2047,7 +2047,7 @@ local pattern = { end), ['/etc/Muttrc%.d/'] = starsetf('muttrc'), ['/etc/nanorc$'] = 'nanorc', - ['/etc/nginx/'] = 'nginx', + ['/etc/nginx/'] = starsetf('nginx'), ['/etc/pam%.conf$'] = 'pamconf', ['/etc/pam%.d/'] = starsetf('pamconf'), ['/etc/passwd%-$'] = 'passwd', @@ -2169,6 +2169,160 @@ local pattern = { ['/log/user%.notice$'] = 'messages', ['/log/user%.warn$'] = 'messages', ['/log/user$'] = 'messages', + ['/log/auth%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/auth%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/auth%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/auth%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/auth%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/auth%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/auth%.[0-9]*$'] = starsetf('messages'), + ['/log/cron%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/cron%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/cron%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/cron%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/cron%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/cron%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/cron%.[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.[0-9]*$'] = starsetf('messages'), + ['/log/debug%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/debug%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/debug%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/debug%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/debug%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/debug%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/debug%.[0-9]*$'] = starsetf('messages'), + ['/log/kern%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/kern%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/kern%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/kern%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/kern%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/kern%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/kern%.[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.[0-9]*$'] = starsetf('messages'), + ['/log/mail%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/mail%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/mail%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/mail%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/mail%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/mail%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/mail%.[0-9]*$'] = starsetf('messages'), + ['/log/messages%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/messages%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/messages%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/messages%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/messages%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/messages%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/messages%.[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.[0-9]*$'] = starsetf('messages'), + ['/log/user%.crit%.[0-9]*$'] = starsetf('messages'), + ['/log/user%.err%.[0-9]*$'] = starsetf('messages'), + ['/log/user%.info%.[0-9]*$'] = starsetf('messages'), + ['/log/user%.log%.[0-9]*$'] = starsetf('messages'), + ['/log/user%.notice%.[0-9]*$'] = starsetf('messages'), + ['/log/user%.warn%.[0-9]*$'] = starsetf('messages'), + ['/log/user%.[0-9]*$'] = starsetf('messages'), + ['/log/auth%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/auth%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/auth%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/auth%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/auth%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/auth%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/auth%-[0-9]*$'] = starsetf('messages'), + ['/log/cron%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/cron%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/cron%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/cron%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/cron%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/cron%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/cron%-[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/daemon%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/daemon%-[0-9]*$'] = starsetf('messages'), + ['/log/debug%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/debug%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/debug%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/debug%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/debug%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/debug%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/debug%-[0-9]*$'] = starsetf('messages'), + ['/log/kern%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/kern%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/kern%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/kern%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/kern%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/kern%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/kern%-[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/lpr%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/lpr%-[0-9]*$'] = starsetf('messages'), + ['/log/mail%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/mail%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/mail%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/mail%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/mail%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/mail%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/mail%-[0-9]*$'] = starsetf('messages'), + ['/log/messages%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/messages%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/messages%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/messages%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/messages%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/messages%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/messages%-[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/news/news%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/news/news%-[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/syslog%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/syslog%-[0-9]*$'] = starsetf('messages'), + ['/log/user%.crit%-[0-9]*$'] = starsetf('messages'), + ['/log/user%.err%-[0-9]*$'] = starsetf('messages'), + ['/log/user%.info%-[0-9]*$'] = starsetf('messages'), + ['/log/user%.log%-[0-9]*$'] = starsetf('messages'), + ['/log/user%.notice%-[0-9]*$'] = starsetf('messages'), + ['/log/user%.warn%-[0-9]*$'] = starsetf('messages'), + ['/log/user%-[0-9]*$'] = starsetf('messages'), }, ['/systemd/'] = { ['/%.config/systemd/user/%.#'] = 'systemd', @@ -2312,7 +2466,7 @@ local pattern = { ['/wireplumber/.*%.conf$'] = 'spajson', ['/%.ssh/.*%.conf$'] = 'sshconfig', ['^%.?tmux.*%.conf$'] = 'tmux', - ['^%.?tmux.*%.conf'] = { 'tmux', { priority = -1 } }, + ['^%.?tmux.*%.conf'] = starsetf('tmux'), ['/containers/containers%.conf$'] = 'toml', ['/containers/containers%.conf%.d/.*%.conf$'] = 'toml', ['/containers/containers%.conf%.modules/.*%.conf$'] = 'toml', @@ -2345,7 +2499,7 @@ local pattern = { }, ['nginx'] = { ['/nginx/.*%.conf$'] = 'nginx', - ['/usr/local/nginx/conf/'] = 'nginx', + ['/usr/local/nginx/conf/'] = starsetf('nginx'), ['nginx%.conf$'] = 'nginx', ['^nginx.*%.conf$'] = 'nginx', }, @@ -2360,7 +2514,7 @@ local pattern = { ['s6.*/finish$'] = 'execline', ['s6.*/run$'] = 'execline', ['s6.*/up$'] = 'execline', - ['^s6%-'] = 'execline', + ['^s6%-'] = starsetf('execline'), }, ['utt'] = { ['^mutt%-.*%-%w+$'] = 'mail', @@ -2451,19 +2605,19 @@ local pattern = { ['^crontab%.'] = starsetf('crontab'), ['^cvs%d+$'] = 'cvs', ['/DEBIAN/control$'] = 'debcontrol', - ['^php%.ini%-'] = 'dosini', - ['^php%-fpm%.conf'] = 'dosini', - ['^www%.conf'] = 'dosini', + ['^php%.ini%-'] = starsetf('dosini'), + ['^php%-fpm%.conf'] = starsetf('dosini'), + ['^www%.conf'] = starsetf('dosini'), ['^drac%.'] = starsetf('dracula'), ['/dtrace/.*%.d$'] = 'dtrace', ['esmtprc$'] = 'esmtprc', - ['/0%.orig/'] = detect.foam, - ['/0/'] = detect.foam, + ['/0%.orig/'] = starsetf(detect.foam), + ['/0/'] = starsetf(detect.foam), ['/constant/g$'] = detect.foam, - ['Transport%.'] = detect.foam, - ['^[a-zA-Z0-9].*Dict%.'] = detect.foam, + ['Transport%.'] = starsetf(detect.foam), + ['^[a-zA-Z0-9].*Dict%.'] = starsetf(detect.foam), ['^[a-zA-Z0-9].*Dict$'] = detect.foam, - ['^[a-zA-Z].*Properties%.'] = detect.foam, + ['^[a-zA-Z].*Properties%.'] = starsetf(detect.foam), ['^[a-zA-Z].*Properties$'] = detect.foam, ['/tmp/lltmp'] = starsetf('gedcom'), ['^gkrellmrc_.$'] = 'gkrellmrc',