From 76aa5920dba9b05991940f7dc29dc79ad7af0a3e Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Wed, 18 Sep 2019 16:39:38 +0100 Subject: [PATCH] Handle no prefix in GitGutterQuickFix Fixes #649. --- autoload/gitgutter.vim | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/autoload/gitgutter.vim b/autoload/gitgutter.vim index 13f5168..84c89af 100644 --- a/autoload/gitgutter.vim +++ b/autoload/gitgutter.vim @@ -193,9 +193,13 @@ function! gitgutter#quickfix() let lnum = 0 for line in diff if line =~ '^diff --git [^"]' - let fname = matchlist(line, '^diff --git [abciow12]/\(\S\+\) ')[1] + let paths = line[11:] + let mid = (len(paths) - 1) / 2 + let [fnamel, fnamer] = [paths[:mid-1], paths[mid+1:]] + let fname = fnamel ==# fnamer ? fnamel : fnamel[2:] elseif line =~ '^diff --git "' - let fname = matchlist(line, '^diff --git "[abciow12]/\(.\+\)" ')[1] + let [_, fnamel, _, fnamer] = split(line, '"') + let fname = fnamel ==# fnamer ? fnamel : fnamel[2:] elseif line =~ '^@@' let lnum = matchlist(line, '+\(\d\+\)')[1] elseif lnum > 0