home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / ftplugin / html.vim < prev    next >
Encoding:
Text File  |  2012-05-31  |  3.0 KB  |  92 lines

  1. " Vim filetype plugin file
  2. " Language:    html
  3. " Maintainer:    Dan Sharp <dwsharp at users dot sourceforge dot net>
  4. " Last Changed: 20 Jan 2009
  5. " URL:        http://dwsharp.users.sourceforge.net/vim/ftplugin
  6.  
  7. if exists("b:did_ftplugin") | finish | endif
  8. let b:did_ftplugin = 1
  9.  
  10. " Make sure the continuation lines below do not cause problems in
  11. " compatibility mode.
  12. let s:save_cpo = &cpo
  13. set cpo-=C
  14.  
  15. setlocal matchpairs+=<:>
  16. setlocal commentstring=<!--%s-->
  17. setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
  18.  
  19. if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1)
  20.     setlocal formatoptions-=t formatoptions+=croql
  21. endif
  22.  
  23.  
  24. if exists('&omnifunc')
  25.     " Distinguish between HTML versions
  26.     " To use with other HTML versions add another
  27.     " elseif condition to match proper DOCTYPE
  28.     setlocal omnifunc=htmlcomplete#CompleteTags
  29.  
  30.     if &filetype == 'xhtml'
  31.             let b:html_omni_flavor = 'xhtml10s'
  32.     else
  33.             let b:html_omni_flavor = 'html401t'
  34.     endif
  35.     let i = 1
  36.     let line = ""
  37.     while i < 10 && i < line("$")
  38.         let line = getline(i)
  39.         if line =~ '<!DOCTYPE.*\<DTD '
  40.             break
  41.         endif
  42.         let i += 1
  43.     endwhile
  44.     if line =~ '<!DOCTYPE.*\<DTD '  " doctype line found above
  45.         if line =~ ' HTML 3\.2'
  46.             let b:html_omni_flavor = 'html32'
  47.         elseif line =~ ' XHTML 1\.1'
  48.             let b:html_omni_flavor = 'xhtml11'
  49.         else    " two-step detection with strict/frameset/transitional
  50.             if line =~ ' XHTML 1\.0'
  51.                 let b:html_omni_flavor = 'xhtml10'
  52.             elseif line =~ ' HTML 4\.01'
  53.                 let b:html_omni_flavor = 'html401'
  54.             elseif line =~ ' HTML 4.0\>'
  55.                 let b:html_omni_flavor = 'html40'
  56.             endif
  57.             if line =~ '\<Transitional\>'
  58.                 let b:html_omni_flavor .= 't'
  59.             elseif line =~ '\<Frameset\>'
  60.                 let b:html_omni_flavor .= 'f'
  61.             else
  62.                 let b:html_omni_flavor .= 's'
  63.             endif
  64.         endif
  65.     endif
  66. endif
  67.  
  68. " HTML:  thanks to Johannes Zellner and Benji Fisher.
  69. if exists("loaded_matchit")
  70.     let b:match_ignorecase = 1
  71.     let b:match_words = '<:>,' .
  72.     \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
  73.     \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
  74.     \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
  75. endif
  76.  
  77. " Change the :browse e filter to primarily show HTML-related files.
  78. if has("gui_win32")
  79.     let  b:browsefilter="HTML Files (*.html,*.htm)\t*.htm;*.html\n" .
  80.         \    "JavaScript Files (*.js)\t*.js\n" .
  81.         \    "Cascading StyleSheets (*.css)\t*.css\n" .
  82.         \    "All Files (*.*)\t*.*\n"
  83. endif
  84.  
  85. " Undo the stuff we changed.
  86. let b:undo_ftplugin = "setlocal commentstring< matchpairs< omnifunc< comments< formatoptions<" .
  87.     \    " | unlet! b:match_ignorecase b:match_skip b:match_words b:browsefilter"
  88.  
  89. " Restore the saved compatibility options.
  90. let &cpo = s:save_cpo
  91. unlet s:save_cpo
  92.