7
|
1 " Vim filetype plugin file
|
|
2 " Language: php
|
2034
|
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
|
6
|
|
7 if exists("b:did_ftplugin") | finish | endif
|
|
8
|
|
9 " Make sure the continuation lines below do not cause problems in
|
|
10 " compatibility mode.
|
|
11 let s:save_cpo = &cpo
|
|
12 set cpo-=C
|
|
13
|
|
14 " Define some defaults in case the included ftplugins don't set them.
|
|
15 let s:undo_ftplugin = ""
|
15
|
16 let s:browsefilter = "HTML Files (*.html, *.htm)\t*.html;*.htm\n" .
|
7
|
17 \ "All Files (*.*)\t*.*\n"
|
|
18 let s:match_words = ""
|
|
19
|
|
20 runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
|
21 let b:did_ftplugin = 1
|
|
22
|
|
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
|
|
26 endif
|
|
27 if exists("b:browsefilter")
|
|
28 let s:browsefilter = b:browsefilter
|
|
29 endif
|
|
30 if exists("b:match_words")
|
|
31 let s:match_words = b:match_words
|
|
32 endif
|
1125
|
33 if exists("b:match_skip")
|
|
34 unlet b:match_skip
|
|
35 endif
|
7
|
36
|
|
37 " Change the :browse e filter to primarily show PHP-related files.
|
|
38 if has("gui_win32")
|
|
39 let b:browsefilter="PHP Files (*.php)\t*.php\n" . s:browsefilter
|
|
40 endif
|
|
41
|
|
42 " ###
|
|
43 " Provided by Mikolaj Machowski <mikmach at wp dot pl>
|
|
44 setlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\?
|
1622
|
45 " Disabled changing 'iskeyword', it breaks a command such as "*"
|
|
46 " setlocal iskeyword+=$
|
|
47
|
7
|
48 if exists("loaded_matchit")
|
1125
|
49 let b:match_words = '<?php:?>,\<switch\>:\<endswitch\>,' .
|
7
|
50 \ '\<if\>:\<elseif\>:\<else\>:\<endif\>,' .
|
|
51 \ '\<while\>:\<endwhile\>,' .
|
|
52 \ '\<do\>:\<while\>,' .
|
|
53 \ '\<for\>:\<endfor\>,' .
|
|
54 \ '\<foreach\>:\<endforeach\>,' .
|
1125
|
55 \ '(:),[:],{:},' .
|
7
|
56 \ s:match_words
|
|
57 endif
|
|
58 " ###
|
|
59
|
1622
|
60 if exists('&omnifunc')
|
|
61 setlocal omnifunc=phpcomplete#CompletePHP
|
714
|
62 endif
|
|
63
|
1622
|
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>'
|
714
|
73
|
7
|
74 setlocal commentstring=/*%s*/
|
|
75
|
|
76 " Undo the stuff we changed.
|
1622
|
77 let b:undo_ftplugin = "setlocal commentstring< include< omnifunc<" .
|
7
|
78 \ " | unlet! b:browsefilter b:match_words | " .
|
|
79 \ s:undo_ftplugin
|
|
80
|
|
81 " Restore the saved compatibility options.
|
|
82 let &cpo = s:save_cpo
|