" Vim syntax file
" Language: php PHP 3/4/5
-" Maintainer: Peter Hodge <toomuchphp-vim@yahoo.com>
-" Last Change: June 9, 2006
-" URL: http://www.vim.org/scripts/script.php?script_id=1571
-"
-" Former Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
-" Former URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/php.vim?op=file&rev=0&sc=0
+" Maintainer: Jason Woofenden <jason@jasonwoof.com>
+" Last Change: April 28, 2011
+" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
+" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
+" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
"
" Note: If you are using a colour terminal with dark background, you will probably find
" the 'elflord' colorscheme is much better for PHP's syntax than the default
syn match phpSpecialChar "\\[abcfnrtyv\\]" contained display
syn match phpSpecialChar "\\\d\{3}" contained contains=phpOctalError display
syn match phpSpecialChar "\\x\x\{2}" contained display
+syn match phpDoubleSpecialChar "\\\"" contained display
+syn match phpSingleSpecialChar "\\[\\']" contained display
" Error
syn match phpOctalError "[89]" contained display
" String
if exists("php_parent_error_open")
- syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
+ syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpDoubleSpecialChar contained keepend
syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
- syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings contained keepend
+ syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpSingleSpecialChar contained keepend
else
- syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
+ syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpDoubleSpecialChar contained extend keepend
syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
- syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings contained keepend extend
+ syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpSingleSpecialChar contained keepend extend
endif
" HereDoc
HiLink phpInclude Include
HiLink phpDefine Define
HiLink phpSpecialChar SpecialChar
+ HiLink phpDoubleSpecialChar SpecialChar
+ HiLink phpSingleSpecialChar SpecialChar
HiLink phpParent Delimiter
HiLink phpIdentifierConst Delimiter
HiLink phpParentError Error