From e596b6a18d84aa56b5189bb7921feec58279976c Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sun, 28 Jul 2024 22:29:20 +0200 Subject: [PATCH] vim-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: vim/vim#15355 related: vim/vim#15367 https://github.com/vim/vim/commit/e57c9a19edc906a96ccb8821ae33fa6a8b20c3cd Co-authored-by: EliSauder <24995216+EliSauder@users.noreply.github.com> --- runtime/lua/vim/filetype/detect.lua | 2 ++ test/old/testdir/test_filetype.vim | 32 +++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/runtime/lua/vim/filetype/detect.lua b/runtime/lua/vim/filetype/detect.lua index cb953f9d0c..1cc81b177f 100644 --- a/runtime/lua/vim/filetype/detect.lua +++ b/runtime/lua/vim/filetype/detect.lua @@ -735,6 +735,8 @@ function M.html(_, bufnr) ) then return 'htmldjango' + elseif findany(line, { '' }) then + return 'superhtml' end end return 'html' diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 83aff0205b..4daa321ec7 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -1598,6 +1598,38 @@ func Test_html_file() call assert_equal('htmldjango', &filetype) bwipe! + " Super html layout + let content = ['', + \ '', + \ '', + \ '
', + \ '
'] + call writefile(content, 'Xfile.shtml', 'D') + split Xfile.shtml + call assert_equal('superhtml', &filetype) + bwipe! + + " Super html template + let content = ['', + \ '', + \ ' ', + \ ' ', + \ ' <super>', + \ ' suffix', + \ ' ', + \ ' ', + \ ' ', + \ ' ', + \ '
', + \ ' ', + \ '
', + \ ' ', + \ ''] + call writefile(content, 'Xfile.shtml', 'D') + split Xfile.shtml + call assert_equal('superhtml', &filetype) + bwipe! + " regular HTML let content = ['', '', ' Foobar', ' Content', ' ', ''] call writefile(content, 'Xfile.html', 'D')