Commit: patch 9.1.1196: filetype: config files for container tools are not recognized

1 view
Skip to first unread message

Christian Brabandt

unread,
Mar 12, 2025, 4:30:15 PM3/12/25
to vim...@googlegroups.com
patch 9.1.1196: filetype: config files for container tools are not recognized

Commit: https://github.com/vim/vim/commit/7546afbf525861f586ea2deabf71e3a2940abd4d
Author: David Mandelberg <da...@mandelberg.org>
Date: Wed Mar 12 21:23:39 2025 +0100

patch 9.1.1196: filetype: config files for container tools are not recognized

Problem: filetype: config files for container tools are not recognized
Solution: detect the ones that aren't detected yet as toml filetype
(David Mandelberg)

The .containerignore format doesn't look exactly the same as gitignore,
but very close. And .dockerignore is already using gitignore.

References:
https://github.com/containers/common/blob/main/docs/containerignore.5.md
https://github.com/containers/common/blob/main/docs/containers.conf.5.md
https://github.com/containers/storage/blob/main/docs/containers-storage.conf.5.md
https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md
https://github.com/containers/image/blob/main/docs/containers-registries.conf.d.5.md

I wasn't sure exactly how to interpret what containers.conf(5) was
saying about modules, so I looked at
https://github.com/containers/common/tree/main/pkg/config/testdata/modules
to get examples, and based the detection off those.

closes: #16852

Signed-off-by: David Mandelberg <da...@mandelberg.org>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 77ca3a3c7..44dec008f 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
-" Last Change: 2025 Mar 10
+" Last Change: 2025 Mar 12
" Former Maintainer: Bram Moolenaar <Br...@vim.org>

" Listen very carefully, I will say this only once
@@ -395,6 +395,12 @@ au BufNewFile,BufRead *.cdl setf cdl
" 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

@@ -963,7 +969,7 @@ au BufNewFile,BufRead */etc/gitattributes setf gitattributes
au BufNewFile,BufRead .gitignore,*.git/info/exclude setf gitignore
au BufNewFile,BufRead */.config/git/ignore,*.prettierignore setf gitignore
au BufNewFile,BufRead */.config/fd/ignore,.fdignore,.ignore setf gitignore
-au BufNewFile,BufRead .rgignore,.dockerignore 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
diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim
index 84a4864a4..27733953f 100644
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -306,7 +306,7 @@ def s:GetFilenameChecks(): dict<list<string>>
gitattributes: ['file.git/info/attributes', '.gitattributes', '/.config/git/attributes', '/etc/gitattributes', '/usr/local/etc/gitattributes', 'some.git/info/attributes'] + WhenConfigHome('$XDG_CONFIG_HOME/git/attributes'),
gitcommit: ['COMMIT_EDITMSG', 'MERGE_MSG', 'TAG_EDITMSG', 'NOTES_EDITMSG', 'EDIT_DESCRIPTION'],
gitconfig: ['file.git/config', 'file.git/config.worktree', 'file.git/worktrees/x/config.worktree', '.gitconfig', '.gitmodules', 'file.git/modules//config', '/.config/git/config', '/etc/gitconfig', '/usr/local/etc/gitconfig', '/etc/gitconfig.d/file', 'any/etc/gitconfig.d/file', '/.gitconfig.d/file', 'any/.config/git/config', 'any/.gitconfig.d/file', 'some.git/config', 'some.git/modules/any/config'] + WhenConfigHome('$XDG_CONFIG_HOME/git/config'),
- gitignore: ['file.git/info/exclude', '.gitignore', '/.config/git/ignore', 'some.git/info/exclude'] + WhenConfigHome('$XDG_CONFIG_HOME/git/ignore') + ['.prettierignore', '.fdignore', '/.config/fd/ignore', '.ignore', '.rgignore', '.dockerignore', '.npmignore', '.vscodeignore'],
+ gitignore: ['file.git/info/exclude', '.gitignore', '/.config/git/ignore', 'some.git/info/exclude'] + WhenConfigHome('$XDG_CONFIG_HOME/git/ignore') + ['.prettierignore', '.fdignore', '/.config/fd/ignore', '.ignore', '.rgignore', '.dockerignore', '.containerignore', '.npmignore', '.vscodeignore'],
gitolite: ['gitolite.conf', '/gitolite-admin/conf/file', 'any/gitolite-admin/conf/file'],
gitrebase: ['git-rebase-todo'],
gitsendemail: ['.gitsendemail.msg.xxxxxx'],
@@ -819,7 +819,11 @@ def s:GetFilenameChecks(): dict<list<string>>
tla: ['file.tla'],
tli: ['file.tli'],
tmux: ['tmuxfile.conf', '.tmuxfile.conf', '.tmux-file.conf', '.tmux.conf', 'tmux-file.conf', 'tmux.conf', 'tmux.conf.local'],
- toml: ['file.toml', 'Gopkg.lock', 'Pipfile', '/home/user/.cargo/config', '.black'],
+ toml: ['file.toml', 'Gopkg.lock', 'Pipfile', '/home/user/.cargo/config', '.black',
+ 'any/containers/containers.conf', 'any/containers/containers.conf.d/file.conf',
+ 'any/containers/containers.conf.modules/file.conf', 'any/containers/containers.conf.modules/any/file.conf',
+ 'any/containers/registries.conf', 'any/containers/registries.conf.d/file.conf',
+ 'any/containers/storage.conf'],
tpp: ['file.tpp'],
trace32: ['file.cmm', 'file.cmmt', 'file.t32'],
treetop: ['file.treetop'],
diff --git a/src/version.c b/src/version.c
index 6297c2b4a..474d2c7e1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1196,
/**/
1195,
/**/
Reply all
Reply to author
Forward
0 new messages