X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=php.vim;h=956197d147202152eca272adc5746f6ce5ec4814;hb=f0245bc4897ab12f1a3108c437a8e6217303efd0;hp=4edc29a0f0e47a05056eee96a4536888e1188494;hpb=6282be58adecccdcd86a46fc3296889b22c623cb;p=vim-syntax.git diff --git a/php.vim b/php.vim index 4edc29a..956197d 100644 --- a/php.vim +++ b/php.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: php PHP 3/4/5 " Maintainer: Jason Woofenden -" Last Change: July 29, 2011 +" Last Change: Oct 20, 2011 " URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim " Former Maintainers: Peter Hodge " Debian VIM Maintainers @@ -110,6 +110,10 @@ if exists( "php_htmlInStrings") syn cluster phpAddStrings add=@htmlTop endif +" make sure we can use \ at the begining of the line to do a continuation +let s:cpo_save = &cpo +set cpo&vim + syn case match " Env Variables @@ -295,15 +299,17 @@ syn region phpIdentifierComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained " Interpolated indentifiers (inside strings) + syn match phpBrackets "[][}{]" contained display " errors - syn match phpInterpEmptyKey "\[\]" contained display - syn match phpInterpEmptyKey "->[^a-zA-Z_]" contained display + syn match phpInterpSimpleError "\[[^]]*\]" contained display " fallback (if nothing else matches) + syn match phpInterpSimpleError "->[^a-zA-Z_]" contained display " make sure these stay above the correct DollarCurlies so they don't take priority - syn match phpInterpBogusDollarCurley "${.*}" contained display - syn match phpBrackets "[][}{]" contained display + syn match phpInterpBogusDollarCurley "${[^}]*}" contained display " fallback (if nothing else matches) syn match phpinterpSimpleBracketsInner "\w\+" contained - syn match phpInterpSimpleBrackets "\[\w*]" contained contains=phpBrackets,phpInterpSimpleBracketsInner - syn match phpInterpSimple "\$\h\w*\(\[\w*\]\|->\h\w*\)\?" contained contains=phpInterpSimpleBrackets,phpIdentifier,phpInterpEmptyKey,phpMethods,phpMemberSelector display + syn match phpInterpSimpleBrackets "\[\h\w*]" contained contains=phpBrackets,phpInterpSimpleBracketsInner + syn match phpInterpSimpleBrackets "\[\d\+]" contained contains=phpBrackets,phpInterpSimpleBracketsInner + syn match phpInterpSimpleBrackets "\[0[xX]\x\+]" contained contains=phpBrackets,phpInterpSimpleBracketsInner + syn match phpInterpSimple "\$\h\w*\(\[[^]]*\]\|->\h\w*\)\?" contained contains=phpInterpSimpleBrackets,phpIdentifier,phpInterpSimpleError,phpMethods,phpMemberSelector display syn match phpInterpVarname "\h\w*" contained syn match phpInterpMethodName "\h\w*" contained " default color syn match phpInterpSimpleCurly "\${\h\w*}" contains=phpInterpVarname contained extend @@ -653,7 +659,7 @@ if version >= 508 || !exists("did_php_syn_inits") HiLink phpIdentifierConst Delimiter HiLink phpParentError Error HiLink phpOctalError Error - HiLink phpInterpEmptyKey Error + HiLink phpInterpSimpleError Error HiLink phpInterpBogusDollarCurley Error HiLink phpInterpDollarCurly1 Error HiLink phpInterpDollarCurly2 Error @@ -689,4 +695,8 @@ if main_syntax == 'php' unlet main_syntax endif +" put cpoptions back the way we found it +let &cpo = s:cpo_save +unlet s:cpo_save + " vim: ts=8 sts=2 sw=2 expandtab