diff options
author | zeertzjq <zeertzjq@outlook.com> | 2025-03-13 17:38:30 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-13 17:38:30 +0800 |
commit | 6e588519c8b355599bd6b3dfce822325cee80deb (patch) | |
tree | 50d031879663e26173728cbf3db5778f22ba8918 | |
parent | 543e40624ea58bceacbd0ae62a797a7d22b74ee3 (diff) | |
download | rneovim-6e588519c8b355599bd6b3dfce822325cee80deb.tar.gz rneovim-6e588519c8b355599bd6b3dfce822325cee80deb.tar.bz2 rneovim-6e588519c8b355599bd6b3dfce822325cee80deb.zip |
vim-patch:9.1.1196: filetype: config files for container tools are not recognized (#32873)
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: vim/vim#16852
https://github.com/vim/vim/commit/7546afbf525861f586ea2deabf71e3a2940abd4d
Co-authored-by: David Mandelberg <david@mandelberg.org>
-rw-r--r-- | runtime/lua/vim/filetype.lua | 7 | ||||
-rw-r--r-- | test/old/testdir/test_filetype.vim | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index b2ddd461cc..a642a2a224 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -1583,6 +1583,7 @@ local filename = { ['.gitattributes'] = 'gitattributes', ['.gitignore'] = 'gitignore', ['.ignore'] = 'gitignore', + ['.containerignore'] = 'gitignore', ['.dockerignore'] = 'gitignore', ['.fdignore'] = 'gitignore', ['.npmignore'] = 'gitignore', @@ -2264,6 +2265,12 @@ local pattern = { ['/%.ssh/.*%.conf$'] = 'sshconfig', ['^%.?tmux.*%.conf$'] = 'tmux', ['^%.?tmux.*%.conf'] = { 'tmux', { priority = -1 } }, + ['/containers/containers%.conf$'] = 'toml', + ['/containers/containers%.conf%.d/.*%.conf$'] = 'toml', + ['/containers/containers%.conf%.modules/.*%.conf$'] = 'toml', + ['/containers/registries%.conf$'] = 'toml', + ['/containers/registries%.conf%.d/.*%.conf$'] = 'toml', + ['/containers/storage%.conf$'] = 'toml', ['/%.config/upstart/.*%.conf$'] = 'upstart', ['/%.config/upstart/.*%.override$'] = 'upstart', ['/%.init/.*%.conf$'] = 'upstart', diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 633166c5ce..80fbb8a069 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -306,7 +306,7 @@ func s:GetFilenameChecks() abort \ 'gitattributes': ['file.git/info/attributes', '.gitattributes', '/.config/git/attributes', '/etc/gitattributes', '/usr/local/etc/gitattributes', 'some.git/info/attributes'] + s: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'] + s:WhenConfigHome('$XDG_CONFIG_HOME/git/config'), - \ 'gitignore': ['file.git/info/exclude', '.gitignore', '/.config/git/ignore', 'some.git/info/exclude'] + s: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'] + s: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'], @@ -816,7 +816,11 @@ func s:GetFilenameChecks() abort \ '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'], |