summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/php/phan.vim8
-rw-r--r--test/handler/test_php_phan_handler.vader2
2 files changed, 7 insertions, 3 deletions
diff --git a/ale_linters/php/phan.vim b/ale_linters/php/phan.vim
index 53cb1ea9..50c6d6e6 100644
--- a/ale_linters/php/phan.vim
+++ b/ale_linters/php/phan.vim
@@ -39,7 +39,7 @@ function! ale_linters#php#phan#Handle(buffer, lines) abort
let l:pattern = '^Phan error: \(\w\+\): \(.\+\) in \(.\+\) on line \(\d\+\)$'
else
" /path/to/some-filename.php:18 ERRORTYPE message
- let l:pattern = '^.*:\(\d\+\)\s\(\w\+\)\s\(.\+\)$'
+ let l:pattern = '^\(.*\):\(\d\+\)\s\(\w\+\)\s\(.\+\)$'
endif
let l:output = []
@@ -49,13 +49,15 @@ function! ale_linters#php#phan#Handle(buffer, lines) abort
let l:dict = {
\ 'lnum': l:match[4] + 0,
\ 'text': l:match[2],
+ \ 'filename': l:match[3],
\ 'type': 'W',
\}
else
let l:dict = {
- \ 'lnum': l:match[1] + 0,
- \ 'text': l:match[3],
+ \ 'lnum': l:match[2] + 0,
+ \ 'text': l:match[4],
\ 'type': 'W',
+ \ 'filename': l:match[1],
\}
endif
diff --git a/test/handler/test_php_phan_handler.vader b/test/handler/test_php_phan_handler.vader
index 23747925..bbdae5dd 100644
--- a/test/handler/test_php_phan_handler.vader
+++ b/test/handler/test_php_phan_handler.vader
@@ -11,11 +11,13 @@ Execute(The php static analyzer handler should parse errors from phan):
\ 'lnum': 25,
\ 'type': 'W',
\ 'text': 'Return type of getValidator is undeclared type \Respect\Validation\Validator',
+ \ 'filename': 'example.php',
\ },
\ {
\ 'lnum': 66,
\ 'type': 'W',
\ 'text': 'Call to method string from undeclared class \Respect\Validation\Validator',
+ \ 'filename': 'example.php',
\ },
\ ],
\ ale_linters#php#phan#Handle(347, [