aboutsummaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
authorJuan J. Martinez <jjm@usebox.net>2022-05-03 22:18:38 +0100
committerJuan J. Martinez <jjm@usebox.net>2022-05-29 22:57:31 +0100
commit5cf13f79ba1a61aec31b7153660353663a36f6a5 (patch)
treec0274c9ec4a90d5eee2d28e0d90d4422c80c0e8f /autoload
parentd403e4ef204485595f8866a6bf64aa2311fd0b49 (diff)
downloaddotnvim-5cf13f79ba1a61aec31b7153660353663a36f6a5.tar.gz
dotnvim-5cf13f79ba1a61aec31b7153660353663a36f6a5.zip
Upgraded
Diffstat (limited to 'autoload')
-rw-r--r--autoload/plug.vim22
1 files changed, 15 insertions, 7 deletions
diff --git a/autoload/plug.vim b/autoload/plug.vim
index 46416b8..652caa8 100644
--- a/autoload/plug.vim
+++ b/autoload/plug.vim
@@ -352,7 +352,7 @@ function! plug#end()
endif
let lod = { 'ft': {}, 'map': {}, 'cmd': {} }
- if exists('g:did_load_filetypes')
+ if get(g:, 'did_load_filetypes', 0)
filetype off
endif
for name in g:plugs_order
@@ -2621,26 +2621,34 @@ function! s:preview_commit()
let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}')
if empty(sha)
- return
+ let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$')
+ if empty(name)
+ return
+ endif
+ let title = 'HEAD@{1}..'
+ let command = 'git diff --no-color HEAD@{1}'
+ else
+ let title = sha
+ let command = 'git show --no-color --pretty=medium '.sha
+ let name = s:find_name(line('.'))
endif
- let name = s:find_name(line('.'))
if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir)
return
endif
if exists('g:plug_pwindow') && !s:is_preview_window_open()
execute g:plug_pwindow
- execute 'e' sha
+ execute 'e' title
else
- execute 'pedit' sha
+ execute 'pedit' title
wincmd P
endif
- setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable
+ setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable
let batchfile = ''
try
let [sh, shellcmdflag, shrd] = s:chsh(1)
- let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha
+ let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && '.command
if s:is_win
let [batchfile, cmd] = s:batchfile(cmd)
endif