summaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2021-03-15 22:30:22 +0000
committerw0rp <devw0rp@gmail.com>2021-03-15 22:30:22 +0000
commitdc40ece3c389804df6d9423e0d52c8da2355ea17 (patch)
tree0a49d6d7fa4461e0ef9d7de736f390fc9ef424e3 /autoload
parentbd808dca3092f1db56b26e22bc23234f97cb6388 (diff)
downloadale-dc40ece3c389804df6d9423e0d52c8da2355ea17.zip
#3632 Add ale#util#MapMatches
Diffstat (limited to 'autoload')
-rw-r--r--autoload/ale/util.vim10
1 files changed, 10 insertions, 0 deletions
diff --git a/autoload/ale/util.vim b/autoload/ale/util.vim
index 5c41ab83..5b2bfcd7 100644
--- a/autoload/ale/util.vim
+++ b/autoload/ale/util.vim
@@ -340,6 +340,16 @@ function! ale#util#GetMatches(lines, patterns) abort
return l:matches
endfunction
+" Given a single line, or a List of lines, and a single pattern, or a List of
+" patterns, and a callback function for mapping the items matches, return the
+" result of mapping all of the matches for the lines from the given patterns,
+" using matchlist()
+"
+" Only the first pattern which matches a line will be returned.
+function! ale#util#MapMatches(lines, patterns, Callback) abort
+ return map(ale#util#GetMatches(a:lines, a:patterns), 'a:Callback(v:val)')
+endfunction
+
function! s:LoadArgCount(function) abort
try
let l:output = execute('function a:function')