mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -04:00
patch 9.1.1304: filetype: some man files are not recognized
Problem: filetype: some man files are not recognized (e.g. 1p (POSIX commands)) Solution: update the filetype detection pattern and detect more man files as nroff (Eisuke Kawashima) - sections are revised referring to - debian-12:/etc/manpath.config - fedora-41:/etc/man_db.conf - detection logic is improved - detection test is implemented closes: #17117 Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
d62377386c
commit
babdb0554a
16
runtime/autoload/dist/ft.vim
vendored
16
runtime/autoload/dist/ft.vim
vendored
@ -3,7 +3,7 @@ vim9script
|
|||||||
# Vim functions for file type detection
|
# Vim functions for file type detection
|
||||||
#
|
#
|
||||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||||
# Last Change: 2025 Apr 10
|
# Last Change: 2025 Apr 15
|
||||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
|
||||||
# These functions are moved here from runtime/filetype.vim to make startup
|
# These functions are moved here from runtime/filetype.vim to make startup
|
||||||
@ -595,11 +595,15 @@ enddef
|
|||||||
# This function checks if one of the first five lines start with a dot. In
|
# This function checks if one of the first five lines start with a dot. In
|
||||||
# that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
# that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||||
export def FTnroff(): number
|
export def FTnroff(): number
|
||||||
if getline(1)[0] .. getline(2)[0] .. getline(3)[0]
|
var n = 1
|
||||||
.. getline(4)[0] .. getline(5)[0] =~ '\.'
|
while n < 5
|
||||||
setf nroff
|
var line = getline(n)
|
||||||
return 1
|
if line =~ '^\.\S\S\?'
|
||||||
endif
|
setf nroff
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
n += 1
|
||||||
|
endwhile
|
||||||
return 0
|
return 0
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||||
" Last Change: 2025 Apr 13
|
" Last Change: 2025 Apr 15
|
||||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
@ -1726,7 +1726,7 @@ au BufNewFile,BufRead *.me
|
|||||||
\ setf nroff |
|
\ setf nroff |
|
||||||
\ endif
|
\ endif
|
||||||
au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff
|
au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff
|
||||||
au BufNewFile,BufRead *.[1-9] call dist#ft#FTnroff()
|
au BufNewFile,BufRead *.[0-9],*.[013]p,*.[1-8]x,*.3{am,perl,pm,posix,type},*.[nlop] call dist#ft#FTnroff()
|
||||||
|
|
||||||
" Nroff or Objective C++
|
" Nroff or Objective C++
|
||||||
au BufNewFile,BufRead *.mm call dist#ft#FTmm()
|
au BufNewFile,BufRead *.mm call dist#ft#FTmm()
|
||||||
|
@ -2889,6 +2889,20 @@ func Test_map_file()
|
|||||||
filetype off
|
filetype off
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_nroff_file()
|
||||||
|
filetype on
|
||||||
|
|
||||||
|
call writefile(['.TH vim 1 "YYYY Mth DD"'], 'Xfile.1', 'D')
|
||||||
|
split Xfile.1
|
||||||
|
call assert_equal('nroff', &filetype)
|
||||||
|
bwipe!
|
||||||
|
|
||||||
|
call writefile(['. /etc/profile'], 'Xfile.1', 'D')
|
||||||
|
split Xfile.1
|
||||||
|
call assert_notequal('nroff', &filetype)
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_org_file()
|
func Test_org_file()
|
||||||
filetype on
|
filetype on
|
||||||
|
|
||||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1304,
|
||||||
/**/
|
/**/
|
||||||
1303,
|
1303,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user