Mercurial > vim
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