diff --git a/runtime/ftplugin/gitrevlist.vim b/runtime/ftplugin/gitrevlist.vim new file mode 100644 index 0000000000..6282203556 --- /dev/null +++ b/runtime/ftplugin/gitrevlist.vim @@ -0,0 +1,16 @@ +" Vim filetype plugin file +" Language: Git revision list +" Author: Fionn Fitzmaurice (github.com/fionn) +" Maintainer: Fionn Fitzmaurice (github.com/fionn) +" License: Vim & Apache 2.0 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal comments=:# +setlocal commentstring=#\ %s +setlocal keywordprg=git\ show + +let b:undo_ftplugin = "setl comments< commentstring< keywordprg<" diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index b6b8c7891f..90859c8797 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -1730,6 +1730,7 @@ local filename = { ['.vscodeignore'] = 'gitignore', ['gitolite.conf'] = 'gitolite', ['git-rebase-todo'] = 'gitrebase', + ['.git-blame-ignore-revs'] = 'gitrevlist', gkrellmrc = 'gkrellmrc', ['.gnashrc'] = 'gnash', ['.gnashpluginrc'] = 'gnash', diff --git a/runtime/syntax/gitrevlist.vim b/runtime/syntax/gitrevlist.vim new file mode 100644 index 0000000000..11b4b0a9cc --- /dev/null +++ b/runtime/syntax/gitrevlist.vim @@ -0,0 +1,17 @@ +" Vim syntax file +" Language: Git revision list +" Author: Fionn Fitzmaurice (github.com/fionn) +" Maintainer: Fionn Fitzmaurice (github.com/fionn) +" License: Vim & Apache 2.0 + +if exists("b:current_syntax") + finish +endif + +syn match gitrevlistHash "\<\x\{40}\>\|\<\x\{64}\>" contains=@NoSpell nextgroup=gitrevlistComment skipwhite +syn match gitrevlistComment "#.*$" + +hi def link gitrevlistHash Identifier +hi def link gitrevlistComment Comment + +let b:current_syntax = "gitrevlist" diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 8f37123d07..2302e1c3fd 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -337,6 +337,7 @@ func s:GetFilenameChecks() abort \ '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'], + \ 'gitrevlist': ['.git-blame-ignore-revs'], \ 'gitsendemail': ['.gitsendemail.msg.xxxxxx'], \ 'gkrellmrc': ['gkrellmrc', 'gkrellmrc_x'], \ 'gleam': ['file.gleam'],