2009-07-15 13:57:18 +12:00
"============================================================================
"File: php.vim
"Description: Syntax checking plugin for syntastic.vim
2009-12-16 23:02:36 +13:00
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
2009-07-15 13:57:18 +12:00
"License: This program is free software. It comes without any warranty,
" to the extent permitted by applicable law. You can redistribute
" it and/or modify it under the terms of the Do What The Fuck You
" Want To Public License, Version 2, as published by Sam Hocevar.
" See http://sam.zoy.org/wtfpl/COPYING for more details.
"
"============================================================================
2013-02-21 15:50:41 +00:00
if exists ( "g:loaded_syntastic_php_php_checker" )
finish
endif
let g :loaded_syntastic_php_php_checker = 1
2013-01-27 20:08:30 +00:00
function ! SyntaxCheckers_php_php_IsAvailable ( )
return executable ( "php" )
endfunction
2009-07-15 13:57:18 +12:00
2013-03-02 14:33:04 +02:00
function ! SyntaxCheckers_php_php_GetHighlightRegex ( item )
2011-05-03 15:37:30 +03:00
let unexpected = matchstr ( a :item ['text' ], "unexpected '[^']\\+'" )
2012-03-02 10:05:15 +00:00
if len ( unexpected ) < 1
return ''
endif
2011-05-03 15:37:30 +03:00
return '\V' .split ( unexpected , "'" ) [1 ]
endfunction
2013-01-27 20:08:30 +00:00
function ! SyntaxCheckers_php_php_GetLocList ( )
2013-01-20 13:48:58 +00:00
let makeprg = syntastic #makeprg #build ( {
\ 'exe' : 'php' ,
2013-04-02 11:03:01 +03:00
\ 'args' : '-l -d error_reporting=E_ALL -d display_errors=1 -d log_errors=0 -d xdebug.cli_color=0' ,
2013-01-20 13:48:58 +00:00
\ 'subchecker' : 'php' })
2012-08-14 12:57:53 +01:00
let errorformat = '%-GNo syntax errors detected in%.%#,Parse error: %#syntax %trror\ , %m in %f on line %l,Parse %trror: %m in %f on line %l,Fatal %trror: %m in %f on line %l,%-G\s%#,%-GErrors parsing %.%#'
2013-01-31 17:31:40 +00:00
return SyntasticMake ( { 'makeprg' : makeprg , 'errorformat' : errorformat })
2012-10-27 22:20:25 +02:00
endfunction
2013-01-27 20:08:30 +00:00
call g :SyntasticRegistry .CreateAndRegisterChecker ( {
\ 'filetype' : 'php' ,
\ 'name' : 'php' })