1
0
forked from aniani/vim

patch 8.1.1593: filetype not detected for C++ header files without extension

Problem:    Filetype not detected for C++ header files without extension.
Solution:   Recognize the file by the Emacs file mode. (Dmitry Ilyin,
            closes #4593)
This commit is contained in:
Bram Moolenaar 2019-06-25 21:34:26 +02:00
parent 5c381eb9e7
commit 6a7af8e2db
3 changed files with 13 additions and 4 deletions

View File

@ -195,7 +195,7 @@ else
if s:line1 =~# '^:$' if s:line1 =~# '^:$'
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
" Z shell scripts " Z shell scripts
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' || elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
\ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~# '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>' \ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~# '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
set ft=zsh set ft=zsh
@ -204,15 +204,20 @@ else
elseif s:line1 =~# '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$' elseif s:line1 =~# '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$'
set ft=mail set ft=mail
" Mason " Mason
elseif s:line1 =~# '^<[%&].*>' elseif s:line1 =~# '^<[%&].*>'
set ft=mason set ft=mason
" Vim scripts (must have '" vim' as the first line to trigger this) " Vim scripts (must have '" vim' as the first line to trigger this)
elseif s:line1 =~# '^" *[vV]im$' elseif s:line1 =~# '^" *[vV]im$'
set ft=vim set ft=vim
" MOO " libcxx and libstdc++ standard library headers like "iostream" do not have
" an extension, recognize the Emacs file mode.
elseif s:line1 =~? '-\*-.*C++.*-\*-'
set ft=cpp
" MOO
elseif s:line1 =~# '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$' elseif s:line1 =~# '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$'
set ft=moo set ft=moo

View File

@ -586,6 +586,8 @@ let s:script_checks = {
\ 'cfengine': [['#!/path/cfengine']], \ 'cfengine': [['#!/path/cfengine']],
\ 'erlang': [['#!/path/escript']], \ 'erlang': [['#!/path/escript']],
\ 'haskell': [['#!/path/haskell']], \ 'haskell': [['#!/path/haskell']],
\ 'cpp': [['// Standard iostream objects -*- C++ -*-'],
\ ['// -*- C++ -*-']],
\ } \ }
func Test_script_detection() func Test_script_detection()

View File

@ -777,6 +777,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 */
/**/
1593,
/**/ /**/
1592, 1592,
/**/ /**/