1 " Vim filetype plugin file
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
7 if exists("b:did_ftplugin") | finish | endif
9 " Make sure the continuation lines below do not cause problems in
14 " Define some defaults in case the included ftplugins don't set them.
15 let s:undo_ftplugin = ""
16 let s:browsefilter = "HTML Files (*.html, *.htm)\t*.html;*.htm\n" .
17 \ "All Files (*.*)\t*.*\n"
18 let s:match_words = ""
20 runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
21 let b:did_ftplugin = 1
23 " Override our defaults if these were set by an included ftplugin.
24 if exists("b:undo_ftplugin")
25 let s:undo_ftplugin = b:undo_ftplugin
27 if exists("b:browsefilter")
28 let s:browsefilter = b:browsefilter
30 if exists("b:match_words")
31 let s:match_words = b:match_words
33 if exists("b:match_skip")
37 " Change the :browse e filter to primarily show PHP-related files.
39 let b:browsefilter="PHP Files (*.php)\t*.php\n" . s:browsefilter
43 " Provided by Mikolaj Machowski <mikmach at wp dot pl>
44 setlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\?
45 " Disabled changing 'iskeyword', it breaks a command such as "*"
46 " setlocal iskeyword+=$
48 if exists("loaded_matchit")
49 let b:match_words = '<?php:?>,\<switch\>:\<endswitch\>,' .
50 \ '\<if\>:\<elseif\>:\<else\>:\<endif\>,' .
51 \ '\<while\>:\<endwhile\>,' .
52 \ '\<do\>:\<while\>,' .
53 \ '\<for\>:\<endfor\>,' .
54 \ '\<foreach\>:\<endforeach\>,' .
60 if exists('&omnifunc')
61 setlocal omnifunc=phpcomplete#CompletePHP
64 " Section jumping: [[ and ]] provided by Antony Scriven <adscriven at gmail dot com>
65 let s:function = '\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function'
66 let s:class = '\(abstract\s\+\|final\s\+\)*class'
67 let s:interface = 'interface'
68 let s:section = '\(.*\%#\)\@!\_^\s*\zs\('.s:function.'\|'.s:class.'\|'.s:interface.'\)'
69 exe 'nno <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>'
70 exe 'nno <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>'
71 exe 'ono <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>'
72 exe 'ono <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>'
74 setlocal commentstring=/*%s*/
76 " Undo the stuff we changed.
77 let b:undo_ftplugin = "setlocal commentstring< include< omnifunc<" .
78 \ " | unlet! b:browsefilter b:match_words | " .
81 " Restore the saved compatibility options.