diff options
-rw-r--r-- | runtime/lua/vim/filetype.lua | 2 | ||||
-rw-r--r-- | test/old/testdir/test_filetype.vim | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index 4c6b3b108f..b2ddd461cc 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -2417,7 +2417,7 @@ local pattern = { ['^%.?gtkrc'] = starsetf('gtkrc'), ['/doc/.*%.txt$'] = function(_, bufnr) local line = M._getline(bufnr, -1) - local ml = line:find('vim:') + local ml = line:find('^vim:') or line:find('%svim:') if ml and M._matchregex(line:sub(ml), [[\<\(ft\|filetype\)=help\>]]) then return 'help' end diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 3d8772e477..633166c5ce 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -1628,11 +1628,22 @@ func Test_help_file() call assert_equal('help', &filetype) bwipe! + call writefile(['some text', 'Copyright: |manual-copyright| vim:ft=help:'], + \ 'doc/help1.txt', 'D') + split doc/help1.txt + call assert_equal('help', &filetype) + bwipe! + call writefile(['some text'], 'doc/nothelp.txt', 'D') split doc/nothelp.txt call assert_notequal('help', &filetype) bwipe! + call writefile(['some text', '`vim:ft=help`'], 'doc/nothelp1.txt', 'D') + split doc/nothelp1.txt + call assert_notequal('help', &filetype) + bwipe! + filetype off set modeline& endfunc |