patch 9.1.1186: filetype: help files in git repos are not detected
Commit:
https://github.com/vim/vim/commit/16d6fff98ed3a9dfd34a41696b005b0c4c7800f8
Author: David Mandelberg <[email protected]>
Date: Sat Mar 8 17:21:16 2025 +0100
patch 9.1.1186: filetype: help files in git repos are not detected
Problem: filetype: help files in git repos are not detected
Solution: detect */doc/*.txt files as help if they end with a help
modeline, even if 'modeline' is off
Here's how I checked that this would still detect vim's own help files
correctly:
$ find . -type f -path '*/doc/*.txt' \
> -exec awk '{ } ENDFILE { print FILENAME ":" $0; }' '{}' + |
> grep -v 'vim:.*\<\(ft\|filetype\)=help\>'
./src/libvterm/doc/seqs.txt: 23 DECSM 42 = DECNRCM,
national/multinational character
closes: #16817
Signed-off-by: David Mandelberg <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9bdcfe0e3..cf9a82ac4 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 9.1. Last change: 2025 Feb 21
+*todo.txt* For Vim version 9.1. Last change: 2025 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6276,5 +6276,4 @@ Far future and "big" extensions:
are reflected in each Vim immediately. Could work with local files but
also over the internet. See http://www.codingmonkeys.de/subethaedit/.
-vim:tw=78:sw=4:sts=4:ts=8:noet:ft=help:norl:
-vim: set fo+=n :
+vim:tw=78:sw=4:sts=4:ts=8:noet:ft=help:norl:fo+=n:
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 8b4091ae7..0ee875ca7 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
-" Last Change: 2025 Mar 06
+" Last Change: 2025 Mar 08
" Former Maintainer: Bram Moolenaar <[email protected]>
" Listen very carefully, I will say this only once
@@ -51,8 +51,11 @@ func s:StarSetf(ft)
endif
endfunc
-" Vim help file
-au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help
+" Vim help file, set ft explicitly, because 'modeline' might be off
+au BufNewFile,BufRead */doc/*.txt
+ \ if getline('$') =~ 'vim:.*\<\(ft\|filetype\)=help\>'
+ \| setf help
+ \| endif
" Abaqus or Trasys
au BufNewFile,BufRead *.inp call dist#ft#Check_inp()
diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim
index b6beb3f5d..521c0f60d 100644
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -919,8 +919,6 @@ def s:GetFilenameChecks(): dict<list<string>>
'.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'],
}
enddef
@@ -1626,6 +1624,23 @@ func Test_haredoc_file()
filetype off
endfunc
+func Test_help_file()
+ 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'], 'doc/nothelp.txt', 'D')
+ split doc/nothelp.txt
+ call assert_notequal('help', &filetype)
+ bwipe!
+
+ filetype off
+endfunc
+
func Test_hook_file()
filetype on
diff --git a/src/version.c b/src/version.c
index 1bfcbcbd0..5536a9b48 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1186,
/**/
1185,
/**/
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1tqx3s-00G3Fg-A5%40256bit.org.