summaryrefslogtreecommitdiffstats
path: root/runtime/ftplugin/html.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ftplugin/html.vim')
-rw-r--r--runtime/ftplugin/html.vim60
1 files changed, 31 insertions, 29 deletions
diff --git a/runtime/ftplugin/html.vim b/runtime/ftplugin/html.vim
index 3179aa2e88..94cb62653f 100644
--- a/runtime/ftplugin/html.vim
+++ b/runtime/ftplugin/html.vim
@@ -1,16 +1,14 @@
" Vim filetype plugin file
-" Language: html
-"
-" This runtime file is looking for a new maintainer.
-"
-" Former maintainer: Dan Sharp
-" Last Changed: 20 Jan 2009
-
-if exists("b:did_ftplugin") | finish | endif
+" Language: HTML
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainer: Dan Sharp
+" Last Changed: 2022 Jul 20
+
+if exists("b:did_ftplugin")
+ finish
+endif
let b:did_ftplugin = 1
-" Make sure the continuation lines below do not cause problems in
-" compatibility mode.
let s:save_cpo = &cpo
set cpo-=C
@@ -18,36 +16,40 @@ setlocal matchpairs+=<:>
setlocal commentstring=<!--%s-->
setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
-if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1)
- setlocal formatoptions-=t formatoptions+=croql
+let b:undo_ftplugin = "setlocal comments< commentstring< matchpairs<"
+
+if get(g:, "ft_html_autocomment", 0)
+ setlocal formatoptions-=t formatoptions+=croql
+ let b:undo_ftplugin ..= " | setlocal formatoptions<"
endif
if exists('&omnifunc')
setlocal omnifunc=htmlcomplete#CompleteTags
call htmlcomplete#DetectOmniFlavor()
+ let b:undo_ftplugin ..= " | setlocal omnifunc<"
endif
-" HTML: thanks to Johannes Zellner and Benji Fisher.
-if exists("loaded_matchit")
- let b:match_ignorecase = 1
- let b:match_words = '<:>,' .
- \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
- \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
- \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
+" HTML: thanks to Johannes Zellner and Benji Fisher.
+if exists("loaded_matchit") && !exists("b:match_words")
+ let b:match_ignorecase = 1
+ let b:match_words = '<!--:-->,' ..
+ \ '<:>,' ..
+ \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' ..
+ \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' ..
+ \ '<\@<=\([^/!][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
+ let b:html_set_match_words = 1
+ let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:html_set_match_words"
endif
" Change the :browse e filter to primarily show HTML-related files.
-if has("gui_win32")
- let b:browsefilter="HTML Files (*.html,*.htm)\t*.htm;*.html\n" .
- \ "JavaScript Files (*.js)\t*.js\n" .
- \ "Cascading StyleSheets (*.css)\t*.css\n" .
- \ "All Files (*.*)\t*.*\n"
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+ let b:browsefilter = "HTML Files (*.html *.htm)\t*.htm;*.html\n" ..
+ \ "JavaScript Files (*.js)\t*.js\n" ..
+ \ "Cascading StyleSheets (*.css)\t*.css\n" ..
+ \ "All Files (*.*)\t*.*\n"
+ let b:html_set_browsefilter = 1
+ let b:undo_ftplugin ..= " | unlet! b:browsefilter b:html_set_browsefilter"
endif
-" Undo the stuff we changed.
-let b:undo_ftplugin = "setlocal commentstring< matchpairs< omnifunc< comments< formatoptions<" .
- \ " | unlet! b:match_ignorecase b:match_skip b:match_words b:browsefilter"
-
-" Restore the saved compatibility options.
let &cpo = s:save_cpo
unlet s:save_cpo