Plugin para vim para utilizar la salida de PhpCodeSniffer en la ventana de errores

phpcodesniffer.vim

" php_check_codesniffer.vim -- Check php syntax when saving or reading a file
" @Author:      Eduardo Magrané , basado en phpchecksyntax de Thomas Link (samul@web.de)
" @License:     GPL (see http://www.gnu.org/licenses/gpl.txt)
" @Created:     31-Oct-2009.
" @Last Change: .
" @Revision:    0.2.21
" @todo Aceptar parámetro de standard que se desea

if exists("g:php_check_codesniffer")
finish
endif

let g:php_check_codesniffer = 1

if !exists("g:php_check_codesniffer_cmd")
let g:php_check_codesniffer_cmd='phpcs --standard=Zend --report=emacs'
endif

function! PhpCodeSniffer()
if &filetype == 'php'
let t  = @t
let mp = &makeprg
let sp = &shellpipe
let ef = &errorformat
try
let &makeprg = g:php_check_codesniffer_cmd
set shellpipe=>
" set errorformat=%*[^<]:\ \ %m\ in\ %f\ on\ line\ %l
"set errorformat=%*[^:]:\ %m\ in\ %f\ on\ line\ %l
set errorformat=%f:%l:%c:\ %m
silent make %
redir @t
silent clist
redir END
if @t =~ 'No se han detectado errores '
cclose
else
copen
endif
finally
let @t = t
let &makeprg     = mp
let &shellpipe   = sp
let &errorformat = ef
endtry
endif
endf

noremap   :call PhpCodeSniffer()
inoremap   :call PhpCodeSniffer()

"autocmd BufRead,BufWritePost *.php call PhpCodeSniffer()

finish
Instalación:
Guardar el fichero en la carpeta ~/.vim/plugins
Leave a Reply

Your email address will not be published. Required fields are marked *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

LesOlivex