aboutsummaryrefslogtreecommitdiff
path: root/vim/ftplugin/php.vim
blob: b545e18a12564214b6fb5347ee2ac427ad4e5fed (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"
" Replace Vim's stock PHP filetype plugin, reimplementing only the part I
" actually need (the matchit.vim keyword pairs).
"
" This is mostly because the stock file pulls in HTML's filetype plugins too,
" without providing a variable check to stop it. That causes absurd problems
" with defining HTML checkers/linters in the rest of my files.
"
if exists('b:did_ftplugin')
  finish
endif
let b:did_ftplugin = 1

" Support line continuation for this file
if &compatible
  let s:cpoptions_save = &cpoptions
  set cpoptions-=C
endif

" Define keywords for matchit.vim
if exists('g:loaded_matchit')
  let b:match_words = '<?php:?>'
        \ . ',\<do\>:\<while\>'
        \ . ',\<for\>:\<endfor\>'
        \ . ',\<foreach\>:\<endforeach\>'
        \ . ',\<if\>:\<elseif\>:\<else\>:\<endif\>'
        \ . ',\<switch\>:\<endswitch\>'
        \ . ',\<while\>:\<endwhile\>'
endif

" Define how to undo this plugin's settings
let b:undo_ftplugin = 'unlet b:match_words'

" Restore 'cpoptions' setting if we touched it
if exists('s:cpoptions_save')
  let &cpoptions = s:cpoptions_save
  unlet s:cpoptions_save
endif