From 911b87cb0686b1cb5257358a14410e70eff7f393 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Thu, 6 Feb 2020 09:27:45 +0100 Subject: [PATCH] get maker_name via list --- autoload/neomake.vim | 8 ++++++-- autoload/neomake/list.vim | 5 +---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/autoload/neomake.vim b/autoload/neomake.vim index 52e09e42ac..51dfa6c2ef 100644 --- a/autoload/neomake.vim +++ b/autoload/neomake.vim @@ -2438,7 +2438,9 @@ function! neomake#get_nearest_error() abort \ get(get(w:, '_neomake_info', {}), 'loclist', {})] if !empty(qfloclist) && !empty(qfloclist.entries) call qfloclist._update_locations() - let ln_errors += filter(copy(qfloclist.entries), 'v:val.bufnr == buf && v:val.lnum == ln') + let ln_errors += map( + \ filter(copy(qfloclist.entries), 'v:val.bufnr == buf && v:val.lnum == ln'), + \ 'extend(v:val, {"list": qfloclist}, "error")') endif endfor @@ -2449,7 +2451,9 @@ function! neomake#get_nearest_error() abort if len(ln_errors) > 1 call sort(ln_errors, function('neomake#utils#sort_by_col')) endif - return ln_errors[0] + let entry = ln_errors[0] + let entry.maker_name = entry.list.maker_info_by_jobid[entry.job_id].name + return entry endfunction function! neomake#GetCurrentErrorMsg() abort diff --git a/autoload/neomake/list.vim b/autoload/neomake/list.vim index 3ef1f4dbfc..060c3a984c 100644 --- a/autoload/neomake/list.vim +++ b/autoload/neomake/list.vim @@ -67,13 +67,10 @@ function! s:base_list.add_entries(entries, ...) dict abort if a:0 && !has_key(self.job_entries, a:1.id) let self.job_entries[a:1.id] = [] let self.maker_info_by_jobid[a:1.id] = a:1.maker - let maker_name = a:1.maker.name - else - let maker_name = '' endif for entry in a:entries let idx += 1 - let e = extend(copy(entry), {'nmqfidx': idx, 'maker_name': maker_name}) + let e = extend(copy(entry), {'nmqfidx': idx}) if a:0 call add(self.job_entries[a:1.id], e) let e.job_id = a:1.id