mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 9.1.0635: filetype: SuperHTML template files not recognized
Problem: filetype: SuperHTML template files not recognized Solution: Update the filetype detection code to detect '*.shtml' either as HTML (Server Side Includes) or SuperHTML (template files) (EliSauder) related: #15355 related: #15367 Signed-off-by: EliSauder <24995216+EliSauder@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
13032a49b7
commit
e57c9a19ed
6
runtime/autoload/dist/ft.vim
vendored
6
runtime/autoload/dist/ft.vim
vendored
@@ -421,7 +421,6 @@ export def FThtml()
|
|||||||
setf htmlangular
|
setf htmlangular
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Check for XHTML
|
# Check for XHTML
|
||||||
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||||
setf xhtml
|
setf xhtml
|
||||||
@@ -432,6 +431,11 @@ export def FThtml()
|
|||||||
setf htmldjango
|
setf htmldjango
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
# Check for SuperHTML
|
||||||
|
if getline(n) =~ '<extend\|<super>'
|
||||||
|
setf superhtml
|
||||||
|
return
|
||||||
|
endif
|
||||||
n += 1
|
n += 1
|
||||||
endwhile
|
endwhile
|
||||||
setf FALLBACK html
|
setf FALLBACK html
|
||||||
|
@@ -1039,7 +1039,7 @@ au BufNewFile,BufRead *.t.html setf tilde
|
|||||||
" Translate shell
|
" Translate shell
|
||||||
au BufNewFile,BufRead init.trans,*/etc/translate-shell,.trans setf clojure
|
au BufNewFile,BufRead init.trans,*/etc/translate-shell,.trans setf clojure
|
||||||
|
|
||||||
" HTML (.shtml and .stm for server side)
|
" HTML (.stm for server side, .shtml is server-side or superhtml)
|
||||||
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml()
|
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml()
|
||||||
au BufNewFile,BufRead *.cshtml setf html
|
au BufNewFile,BufRead *.cshtml setf html
|
||||||
|
|
||||||
|
@@ -1603,6 +1603,38 @@ func Test_html_file()
|
|||||||
call assert_equal('htmldjango', &filetype)
|
call assert_equal('htmldjango', &filetype)
|
||||||
bwipe!
|
bwipe!
|
||||||
|
|
||||||
|
" Super html layout
|
||||||
|
let content = ['<extend template="base.shtml">',
|
||||||
|
\ '<title id="title" var="$page.title"></title>',
|
||||||
|
\ '<head id="head"></head>',
|
||||||
|
\ '<div id="content">',
|
||||||
|
\ '</div>']
|
||||||
|
call writefile(content, 'Xfile.shtml', 'D')
|
||||||
|
split Xfile.shtml
|
||||||
|
call assert_equal('superhtml', &filetype)
|
||||||
|
bwipe!
|
||||||
|
|
||||||
|
" Super html template
|
||||||
|
let content = ['<!DOCTYPE html>',
|
||||||
|
\ '<html>',
|
||||||
|
\ ' <head id="head">',
|
||||||
|
\ ' <title id="title">',
|
||||||
|
\ ' <super>',
|
||||||
|
\ ' suffix',
|
||||||
|
\ ' </title>',
|
||||||
|
\ ' <super>',
|
||||||
|
\ ' </head>',
|
||||||
|
\ ' <body>',
|
||||||
|
\ ' <div id="content">',
|
||||||
|
\ ' <super>',
|
||||||
|
\ ' </div>',
|
||||||
|
\ ' </body>',
|
||||||
|
\ '</html>']
|
||||||
|
call writefile(content, 'Xfile.shtml', 'D')
|
||||||
|
split Xfile.shtml
|
||||||
|
call assert_equal('superhtml', &filetype)
|
||||||
|
bwipe!
|
||||||
|
|
||||||
" regular HTML
|
" regular HTML
|
||||||
let content = ['<!DOCTYPE html>', '<html>', ' <head>Foobar</head>', ' <body>Content', ' </body>', '</html>']
|
let content = ['<!DOCTYPE html>', '<html>', ' <head>Foobar</head>', ' <body>Content', ' </body>', '</html>']
|
||||||
call writefile(content, 'Xfile.html', 'D')
|
call writefile(content, 'Xfile.html', 'D')
|
||||||
|
@@ -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 */
|
||||||
|
/**/
|
||||||
|
635,
|
||||||
/**/
|
/**/
|
||||||
634,
|
634,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user