7
|
1 " Vim filetype plugin file
|
|
2 " Language: xml
|
|
3 " Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
1698
|
4 " Last Changed: 30 Jun 2008
|
7
|
5 " URL: http://mywebpage.netscape.com/sharppeople/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 commentstring=<!--%s-->
|
1698
|
16 setlocal comments=s:<!--,m:\ \ \ \ \ ,e:-->
|
|
17
|
|
18 setlocal formatoptions-=t
|
|
19 if !exists("g:ft_xml_autocomment") || (g:ft_xml_autocomment == 1)
|
|
20 setlocal formatoptions+=croql
|
|
21 endif
|
|
22
|
7
|
23
|
|
24 " XML: thanks to Johannes Zellner and Akbar Ibrahim
|
|
25 " - case sensitive
|
|
26 " - don't match empty tags <fred/>
|
|
27 " - match <!--, --> style comments (but not --, --)
|
|
28 " - match <!, > inlined dtd's. This is not perfect, as it
|
|
29 " gets confused for example by
|
|
30 " <!ENTITY gt ">">
|
|
31 if exists("loaded_matchit")
|
|
32 let b:match_ignorecase=0
|
|
33 let b:match_words =
|
|
34 \ '<:>,' .
|
|
35 \ '<\@<=!\[CDATA\[:]]>,'.
|
|
36 \ '<\@<=!--:-->,'.
|
|
37 \ '<\@<=?\k\+:?>,'.
|
|
38 \ '<\@<=\([^ \t>/]\+\)\%(\s\+[^>]*\%([^/]>\|$\)\|>\|$\):<\@<=/\1>,'.
|
|
39 \ '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
|
|
40 endif
|
|
41
|
557
|
42 "
|
|
43 " For Omni completion, by Mikolaj Machowski.
|
|
44 if exists('&ofu')
|
|
45 setlocal ofu=xmlcomplete#CompleteTags
|
|
46 endif
|
|
47 command! -nargs=+ XMLns call xmlcomplete#CreateConnection(<f-args>)
|
|
48 command! -nargs=? XMLent call xmlcomplete#CreateEntConnection(<f-args>)
|
|
49
|
|
50
|
7
|
51 " Change the :browse e filter to primarily show xml-related files.
|
|
52 if has("gui_win32")
|
|
53 let b:browsefilter="XML Files (*.xml)\t*.xml\n" .
|
|
54 \ "DTD Files (*.dtd)\t*.dtd\n" .
|
|
55 \ "All Files (*.*)\t*.*\n"
|
|
56 endif
|
|
57
|
|
58 " Undo the stuff we changed.
|
1698
|
59 let b:undo_ftplugin = "setlocal commentstring< comments< formatoptions<" .
|
7
|
60 \ " | unlet! b:match_ignorecase b:match_words b:browsefilter"
|
|
61
|
|
62 " Restore the saved compatibility options.
|
|
63 let &cpo = s:save_cpo
|