diff runtime/autoload/htmlcomplete.vim @ 6009:7b83c190d370

Updated runtime files.
author Bram Moolenaar <bram@vim.org>
date Wed, 25 Jun 2014 18:50:27 +0200
parents 0877b8d6370e
children 03b854983b14
line wrap: on
line diff
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -1,7 +1,49 @@
 " Vim completion script
 " Language:	HTML and XHTML
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2011 Apr 28
+" Last Change:	2014 Jun 20
+
+" Distinguish between HTML versions.
+" To use with other HTML versions add another "elseif" condition to match
+" proper DOCTYPE.
+function! htmlcomplete#DetectOmniFlavor()
+  if &filetype == 'xhtml'
+    let b:html_omni_flavor = 'xhtml10s'
+  else
+    let b:html_omni_flavor = 'html401t'
+  endif
+  let i = 1
+  let line = ""
+  while i < 10 && i < line("$")
+    let line = getline(i)
+    if line =~ '<!DOCTYPE.*\<DTD '
+      break
+    endif
+    let i += 1
+  endwhile
+  if line =~ '<!DOCTYPE.*\<DTD '  " doctype line found above
+    if line =~ ' HTML 3\.2'
+      let b:html_omni_flavor = 'html32'
+    elseif line =~ ' XHTML 1\.1'
+      let b:html_omni_flavor = 'xhtml11'
+    else    " two-step detection with strict/frameset/transitional
+      if line =~ ' XHTML 1\.0'
+	let b:html_omni_flavor = 'xhtml10'
+      elseif line =~ ' HTML 4\.01'
+	let b:html_omni_flavor = 'html401'
+      elseif line =~ ' HTML 4.0\>'
+	let b:html_omni_flavor = 'html40'
+      endif
+      if line =~ '\<Transitional\>'
+	let b:html_omni_flavor .= 't'
+      elseif line =~ '\<Frameset\>'
+	let b:html_omni_flavor .= 'f'
+      else
+	let b:html_omni_flavor .= 's'
+      endif
+    endif
+  endif
+endfunction
 
 function! htmlcomplete#CompleteTags(findstart, base)
   if a:findstart