home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / ftplugin / php.vim < prev    next >
Encoding:
Text File  |  2012-05-31  |  2.7 KB  |  84 lines

  1. " Vim filetype plugin file
  2. " Language:    php
  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
  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:keepcpo= &cpo
  12. set cpo&vim
  13.  
  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 = ""
  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
  33. if exists("b:match_skip")
  34.     unlet b:match_skip
  35. endif
  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\\\)\\\?
  45. " Disabled changing 'iskeyword', it breaks a command such as "*"
  46. " setlocal iskeyword+=$
  47.  
  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\>,' .
  55.                       \ '(:),[:],{:},' .
  56.               \ s:match_words
  57. endif
  58. " ###
  59.  
  60. if exists('&omnifunc')
  61.   setlocal omnifunc=phpcomplete#CompletePHP
  62. endif
  63.  
  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>'
  73.  
  74. setlocal commentstring=/*%s*/
  75.  
  76. " Undo the stuff we changed.
  77. let b:undo_ftplugin = "setlocal commentstring< include< omnifunc<" .
  78.         \          " | unlet! b:browsefilter b:match_words | " .
  79.         \          s:undo_ftplugin
  80.  
  81. " Restore the saved compatibility options.
  82. let &cpo = s:keepcpo
  83. unlet s:keepcpo
  84.