From 8af9f8ab5ecd59df52aed9019e8ecc9f8101ee7d Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Tue, 8 Apr 2025 08:13:12 +0800 Subject: vim-patch:9.1.1286: filetype: help files not detected when 'iskeyword' includes ":" (#33377) Problem: Help files not detected when 'iskeyword' includes ":". Solution: Do not use \< and \> in the pattern (zeertzjq). fixes: vim/vim#17069 closes: vim/vim#17071 https://github.com/vim/vim/commit/e370141bf41919642061ee2e78340dca84678712 --- runtime/lua/vim/filetype.lua | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'runtime/lua/vim') diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index 64d39bab0a..832af32612 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -2429,8 +2429,26 @@ local pattern = { ['^%.?gtkrc'] = starsetf('gtkrc'), ['/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 + if + M._findany(line, { + '^vim:ft=help[:%s]', + '^vim:ft=help$', + '^vim:filetype=help[:%s]', + '^vim:filetype=help$', + '^vim:.*[:%s]ft=help[:%s]', + '^vim:.*[:%s]ft=help$', + '^vim:.*[:%s]filetype=help[:%s]', + '^vim:.*[:%s]filetype=help$', + '%svim:ft=help[:%s]', + '%svim:ft=help$', + '%svim:filetype=help[:%s]', + '%svim:filetype=help$', + '%svim:.*[:%s]ft=help[:%s]', + '%svim:.*[:%s]ft=help$', + '%svim:.*[:%s]filetype=help[:%s]', + '%svim:.*[:%s]filetype=help$', + }) + then return 'help' end end, -- cgit