From fd406043bae0ef2d0621606dfbb8ac169ebe1421 Mon Sep 17 00:00:00 2001 From: Eloi Perdereau Date: Sat, 31 Oct 2020 21:55:58 +0100 Subject: [PATCH 1/2] Use [pedit +entry.lnum #entry.bufnr] in qf#preview#PreviewFileUnderCursor() --- autoload/qf/preview.vim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/autoload/qf/preview.vim b/autoload/qf/preview.vim index 27ec033..26cf8d7 100644 --- a/autoload/qf/preview.vim +++ b/autoload/qf/preview.vim @@ -24,8 +24,11 @@ function! qf#preview#PreviewFileUnderCursor() let cur_list = qf#GetList() let cur_line = getline(line('.')) let cur_file = fnameescape(qf#GetEntryPath(cur_line)) + let cur_ntry = get(cur_list, line('.')-1, {}) - if cur_line =~ '|\d\+' + if !empty(cur_ntry) && bufexists(cur_ntry.bufnr) && cur_ntry.bufnr + execute 'pedit +' . cur_ntry.lnum . ' #' . cur_ntry.bufnr + elseif cur_line =~ '|\d\+' let cur_pos = substitute(cur_line, '^\(.\{-}|\)\(\d\+\)\(.*\)', '\2', '') execute "pedit +" . cur_pos . " " . cur_file else From 3a9f9b2473f8f5d31f0409948761bd3c35a92a09 Mon Sep 17 00:00:00 2001 From: Eloi Perdereau Date: Sat, 31 Oct 2020 21:58:38 +0100 Subject: [PATCH 2/2] call the autoload in qf#PreviewFileUnderCursor() duplicate --- autoload/qf.vim | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/autoload/qf.vim b/autoload/qf.vim index 9bc9d2c..6fc872d 100644 --- a/autoload/qf.vim +++ b/autoload/qf.vim @@ -21,15 +21,7 @@ set cpo&vim " open the current entry in th preview window function qf#PreviewFileUnderCursor() - let cur_list = b:qf_isLoc == 1 ? getloclist('.') : getqflist() - let cur_line = getline(line('.')) - let cur_file = fnameescape(substitute(cur_line, '|.*$', '', '')) - if cur_line =~ '|\d\+' - let cur_pos = substitute(cur_line, '^\(.\{-}|\)\(\d\+\)\(.*\)', '\2', '') - execute "pedit +" . cur_pos . " " . cur_file - else - execute "pedit " . cur_file - endif + call qf#preview#PreviewFileUnderCursor() endfunction " helper function