Merge pull request #32828 from zeertzjq/vim-9.1.1186

vim-patch:9.1.{1186,1191,1194}: filetype: help files in git repos are not detected
This commit is contained in:
zeertzjq
2025-03-11 06:48:17 +08:00
committed by GitHub
3 changed files with 38 additions and 4 deletions

View File

@@ -643,7 +643,7 @@ Also see the 'infercase' option if you want to adjust the case of the match.
When inserting a selected candidate word from the |popup-menu|, the part of
the candidate word that does not match the query is highlighted using
|hl-ComplMatchIns|. If fuzzy is enabled in 'completeopt', highlighting will
|hl-ComplMatchIns|. If fuzzy is enabled in 'completeopt', highlighting will
not be applied.
*complete_CTRL-E*

View File

@@ -2415,7 +2415,13 @@ local pattern = {
['/boot/grub/menu%.lst$'] = 'grub',
-- gtkrc* and .gtkrc*
['^%.?gtkrc'] = starsetf('gtkrc'),
['^${VIMRUNTIME}/doc/.*%.txt$'] = 'help',
['/doc/.*%.txt$'] = function(_, bufnr)
local line = M._getline(bufnr, -1)
local ml = line:find('^vim:') or line:find('%svim:')
if ml and M._matchregex(line:sub(ml), [[\<\(ft\|filetype\)=help\>]]) then
return 'help'
end
end,
['^hg%-editor%-.*%.txt$'] = 'hgcommit',
['%.html%.m4$'] = 'htmlm4',
['^JAM.*%.'] = starsetf('jam'),

View File

@@ -916,8 +916,6 @@ func s:GetFilenameChecks() abort
\ '.zcompdump', '.zlogin', '.zlogout', '.zshenv', '.zshrc', '.zsh_history',
\ '.zcompdump-file', '.zlog', '.zlog-file', '.zsh', '.zsh-file',
\ 'any/etc/zprofile', 'zlog', 'zlog-file', 'zsh', 'zsh-file'],
\
\ 'help': [$VIMRUNTIME .. '/doc/help.txt'],
\ }
endfunc
@@ -1620,6 +1618,36 @@ func Test_haredoc_file()
filetype off
endfunc
func Test_help_file()
set nomodeline
filetype on
call assert_true(mkdir('doc', 'pR'))
call writefile(['some text', 'vim:ft=help:'], 'doc/help.txt', 'D')
split doc/help.txt
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
func Test_hook_file()
filetype on