From c27bfab8c51e77419ee0c4a9c4e3ba359dbc2ad4 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Thu, 25 Jun 2020 16:30:10 +0100 Subject: [PATCH] Make quickfix paths relative to current working directory Closes #715. --- autoload/gitgutter.vim | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/autoload/gitgutter.vim b/autoload/gitgutter.vim index 4bb0872..c8f9e21 100644 --- a/autoload/gitgutter.vim +++ b/autoload/gitgutter.vim @@ -180,9 +180,17 @@ endfunction " - it ignores unsaved changes in buffers " - it does not change to the repo root function! gitgutter#quickfix() + let cmd = g:gitgutter_git_executable.' '.g:gitgutter_git_args.' rev-parse --show-cdup' + let path_to_repo = get(systemlist(cmd), 0, '') + if !empty(path_to_repo) && path_to_repo[-1:] != '/' + let path_to_repo .= '/' + endif + let locations = [] let cmd = g:gitgutter_git_executable.' '.g:gitgutter_git_args.' --no-pager'. - \ ' diff --no-ext-diff --no-color -U0 '.g:gitgutter_diff_args. ' '. g:gitgutter_diff_base + \ ' diff --no-ext-diff --no-color -U0'. + \ ' --src-prefix=a/'.path_to_repo.' --dst-prefix=b/'.path_to_repo.' '. + \ g:gitgutter_diff_args. ' '. g:gitgutter_diff_base let diff = systemlist(cmd) let lnum = 0 for line in diff