From bdad25eefd6526f8130f97edbe25a1179e27aadc Mon Sep 17 00:00:00 2001 From: w0rp Date: Tue, 18 Apr 2017 00:35:53 +0100 Subject: Add a function for getting matches, and use it to simplify a lot of code --- ale_linters/d/dmd.vim | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) (limited to 'ale_linters/d') diff --git a/ale_linters/d/dmd.vim b/ale_linters/d/dmd.vim index c6f8f209..3805e024 100644 --- a/ale_linters/d/dmd.vim +++ b/ale_linters/d/dmd.vim @@ -56,24 +56,12 @@ function! ale_linters#d#dmd#Handle(buffer, lines) abort let l:pattern = '^[^(]\+(\([0-9]\+\)\,\?\([0-9]*\)): \([^:]\+\): \(.\+\)' let l:output = [] - for l:line in a:lines - let l:match = matchlist(l:line, l:pattern) - - if len(l:match) == 0 - break - endif - - let l:line = l:match[1] + 0 - let l:column = l:match[2] + 0 - let l:type = l:match[3] - let l:text = l:match[4] - + for l:match in ale#util#GetMatches(a:lines, l:pattern) call add(l:output, { - \ 'bufnr': bufnr('%'), - \ 'lnum': l:line, - \ 'col': l:column, - \ 'text': l:text, - \ 'type': l:type ==# 'Warning' ? 'W' : 'E', + \ 'lnum': l:match[1], + \ 'col': l:match[2], + \ 'type': l:match[3] ==# 'Warning' ? 'W' : 'E', + \ 'text': l:match[4], \}) endfor -- cgit v1.2.3