Fix PHP linter to support PHP 7.2 lint output

This commit is contained in:
Stephen Rathbone
2017-12-13 21:23:18 +00:00
parent d2a6d9a915
commit 78d1f5f5df
2 changed files with 16 additions and 2 deletions

View File

@@ -4,12 +4,14 @@
function! ale_linters#php#php#Handle(buffer, lines) abort
" Matches patterns like the following:
"
" Parse error: syntax error, unexpected ';', expecting ']' in - on line 15
let l:pattern = '\v^%(Fatal|Parse) error:\s+(.+unexpected ''(.+)%(expecting.+)@<!''.*|.+) in - on line (\d+)'
" PHP 7.1<= - Parse error: syntax error, unexpected ';', expecting ']' in - on line 15
" PHP 7.2>= - Parse error: syntax error, unexpected ';', expecting ']' in Standard input code on line 15
let l:pattern = '\v^%(Fatal|Parse) error:\s+(.+unexpected ''(.+)%(expecting.+)@<!''.*|.+) in %(-|Standard input code) on line (\d+)'
let l:output = []
for l:match in ale#util#GetMatches(a:lines, l:pattern)
let l:col = empty(l:match[2]) ? 0 : stridx(getline(l:match[3]), l:match[2]) + 1
let l:obj = {
\ 'lnum': l:match[3] + 0,
\ 'col': l:col,