Mercurial > vim
view runtime/ftplugin/php.vim @ 13892:eadecbe4e390 v8.0.1817
patch 8.0.1817: a timer may change v:count unexpectedly
commit https://github.com/vim/vim/commit/b0f42ba60d9e6d101d103421ba0c351811615c15
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 12 15:38:26 2018 +0200
patch 8.0.1817: a timer may change v:count unexpectedly
Problem: A timer may change v:count unexpectedly.
Solution: Save and restore v:count and similar variables when a timer
callback is invoked. (closes #2897)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 12 May 2018 15:45:05 +0200 |
parents | d1e4abe8342c |
children | c968191a8557 |
line wrap: on
line source
" Vim filetype plugin file " Language: php " Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net> " Last Changed: 20 Jan 2009 " URL: http://dwsharp.users.sourceforge.net/vim/ftplugin if exists("b:did_ftplugin") | finish | endif " Make sure the continuation lines below do not cause problems in " compatibility mode. let s:keepcpo= &cpo set cpo&vim " Define some defaults in case the included ftplugins don't set them. let s:undo_ftplugin = "" let s:browsefilter = "HTML Files (*.html, *.htm)\t*.html;*.htm\n" . \ "All Files (*.*)\t*.*\n" let s:match_words = "" runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim let b:did_ftplugin = 1 " Override our defaults if these were set by an included ftplugin. if exists("b:undo_ftplugin") let s:undo_ftplugin = b:undo_ftplugin endif if exists("b:browsefilter") let s:browsefilter = b:browsefilter endif if exists("b:match_words") let s:match_words = b:match_words endif if exists("b:match_skip") unlet b:match_skip endif " Change the :browse e filter to primarily show PHP-related files. if has("gui_win32") let b:browsefilter="PHP Files (*.php)\t*.php\n" . s:browsefilter endif " ### " Provided by Mikolaj Machowski <mikmach at wp dot pl> setlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\? " Disabled changing 'iskeyword', it breaks a command such as "*" " setlocal iskeyword+=$ if exists("loaded_matchit") let b:match_words = '<?php:?>,\<switch\>:\<endswitch\>,' . \ '\<if\>:\<elseif\>:\<else\>:\<endif\>,' . \ '\<while\>:\<endwhile\>,' . \ '\<do\>:\<while\>,' . \ '\<for\>:\<endfor\>,' . \ '\<foreach\>:\<endforeach\>,' . \ '(:),[:],{:},' . \ s:match_words endif " ### if exists('&omnifunc') setlocal omnifunc=phpcomplete#CompletePHP endif " Section jumping: [[ and ]] provided by Antony Scriven <adscriven at gmail dot com> let s:function = '\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function' let s:class = '\(abstract\s\+\|final\s\+\)*class' let s:interface = 'interface' let s:section = '\(.*\%#\)\@!\_^\s*\zs\('.s:function.'\|'.s:class.'\|'.s:interface.'\)' exe 'nno <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>' exe 'nno <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>' exe 'ono <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>' exe 'ono <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>' setlocal commentstring=/*%s*/ " Undo the stuff we changed. let b:undo_ftplugin = "setlocal commentstring< include< omnifunc<" . \ " | unlet! b:browsefilter b:match_words | " . \ s:undo_ftplugin " Restore the saved compatibility options. let &cpo = s:keepcpo unlet s:keepcpo