1071d4279SBram Moolenaar" Vim filetype plugin file 2071d4279SBram Moolenaar" Language: php 35c73622aSBram Moolenaar" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net> 45c73622aSBram Moolenaar" Last Changed: 20 Jan 2009 55c73622aSBram Moolenaar" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin 6071d4279SBram Moolenaar 7071d4279SBram Moolenaarif exists("b:did_ftplugin") | finish | endif 8071d4279SBram Moolenaar 9071d4279SBram Moolenaar" Make sure the continuation lines below do not cause problems in 10071d4279SBram Moolenaar" compatibility mode. 11*9a7224b5SBram Moolenaarlet s:keepcpo= &cpo 12*9a7224b5SBram Moolenaarset cpo&vim 13071d4279SBram Moolenaar 14071d4279SBram Moolenaar" Define some defaults in case the included ftplugins don't set them. 15071d4279SBram Moolenaarlet s:undo_ftplugin = "" 168299df96SBram Moolenaarlet s:browsefilter = "HTML Files (*.html, *.htm)\t*.html;*.htm\n" . 17071d4279SBram Moolenaar \ "All Files (*.*)\t*.*\n" 18071d4279SBram Moolenaarlet s:match_words = "" 19071d4279SBram Moolenaar 20071d4279SBram Moolenaarruntime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim 21071d4279SBram Moolenaarlet b:did_ftplugin = 1 22071d4279SBram Moolenaar 23071d4279SBram Moolenaar" Override our defaults if these were set by an included ftplugin. 24071d4279SBram Moolenaarif exists("b:undo_ftplugin") 25071d4279SBram Moolenaar let s:undo_ftplugin = b:undo_ftplugin 26071d4279SBram Moolenaarendif 27071d4279SBram Moolenaarif exists("b:browsefilter") 28071d4279SBram Moolenaar let s:browsefilter = b:browsefilter 29071d4279SBram Moolenaarendif 30071d4279SBram Moolenaarif exists("b:match_words") 31071d4279SBram Moolenaar let s:match_words = b:match_words 32071d4279SBram Moolenaarendif 33c81e5e79SBram Moolenaarif exists("b:match_skip") 34c81e5e79SBram Moolenaar unlet b:match_skip 35c81e5e79SBram Moolenaarendif 36071d4279SBram Moolenaar 37071d4279SBram Moolenaar" Change the :browse e filter to primarily show PHP-related files. 38071d4279SBram Moolenaarif has("gui_win32") 39071d4279SBram Moolenaar let b:browsefilter="PHP Files (*.php)\t*.php\n" . s:browsefilter 40071d4279SBram Moolenaarendif 41071d4279SBram Moolenaar 42071d4279SBram Moolenaar" ### 43071d4279SBram Moolenaar" Provided by Mikolaj Machowski <mikmach at wp dot pl> 44071d4279SBram Moolenaarsetlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\? 45c1a11ed5SBram Moolenaar" Disabled changing 'iskeyword', it breaks a command such as "*" 46c1a11ed5SBram Moolenaar" setlocal iskeyword+=$ 47c1a11ed5SBram Moolenaar 48071d4279SBram Moolenaarif exists("loaded_matchit") 49c81e5e79SBram Moolenaar let b:match_words = '<?php:?>,\<switch\>:\<endswitch\>,' . 50071d4279SBram Moolenaar \ '\<if\>:\<elseif\>:\<else\>:\<endif\>,' . 51071d4279SBram Moolenaar \ '\<while\>:\<endwhile\>,' . 52071d4279SBram Moolenaar \ '\<do\>:\<while\>,' . 53071d4279SBram Moolenaar \ '\<for\>:\<endfor\>,' . 54071d4279SBram Moolenaar \ '\<foreach\>:\<endforeach\>,' . 55c81e5e79SBram Moolenaar \ '(:),[:],{:},' . 56071d4279SBram Moolenaar \ s:match_words 57071d4279SBram Moolenaarendif 58071d4279SBram Moolenaar" ### 59071d4279SBram Moolenaar 60c1a11ed5SBram Moolenaarif exists('&omnifunc') 61c1a11ed5SBram Moolenaar setlocal omnifunc=phpcomplete#CompletePHP 62362e1a30SBram Moolenaarendif 63362e1a30SBram Moolenaar 64c1a11ed5SBram Moolenaar" Section jumping: [[ and ]] provided by Antony Scriven <adscriven at gmail dot com> 65c1a11ed5SBram Moolenaarlet s:function = '\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function' 66c1a11ed5SBram Moolenaarlet s:class = '\(abstract\s\+\|final\s\+\)*class' 67c1a11ed5SBram Moolenaarlet s:interface = 'interface' 68c1a11ed5SBram Moolenaarlet s:section = '\(.*\%#\)\@!\_^\s*\zs\('.s:function.'\|'.s:class.'\|'.s:interface.'\)' 69c1a11ed5SBram Moolenaarexe 'nno <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>' 70c1a11ed5SBram Moolenaarexe 'nno <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>' 71c1a11ed5SBram Moolenaarexe 'ono <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>' 72c1a11ed5SBram Moolenaarexe 'ono <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>' 73362e1a30SBram Moolenaar 74071d4279SBram Moolenaarsetlocal commentstring=/*%s*/ 75071d4279SBram Moolenaar 76071d4279SBram Moolenaar" Undo the stuff we changed. 77c1a11ed5SBram Moolenaarlet b:undo_ftplugin = "setlocal commentstring< include< omnifunc<" . 78071d4279SBram Moolenaar \ " | unlet! b:browsefilter b:match_words | " . 79071d4279SBram Moolenaar \ s:undo_ftplugin 80071d4279SBram Moolenaar 81071d4279SBram Moolenaar" Restore the saved compatibility options. 82*9a7224b5SBram Moolenaarlet &cpo = s:keepcpo 83*9a7224b5SBram Moolenaarunlet s:keepcpo 84