Explorar el Código

Reuse existing plug window

Close #532
Junegunn Choi hace 9 años
padre
commit
a2f1ea481d
Se han modificado 2 ficheros con 27 adiciones y 2 borrados
  1. 6 2
      plug.vim
  2. 21 0
      test/workflow.vader

+ 6 - 2
plug.vim

@@ -726,10 +726,14 @@ function! s:prepare(...)
 
   call s:job_abort()
   if s:switch_in()
-    normal q
+    if b:plug_preview == 1
+      pc
+    endif
+    enew
+  else
+    call s:new_window()
   endif
 
-  call s:new_window()
   nnoremap <silent> <buffer> q  :if b:plug_preview==1<bar>pc<bar>endif<bar>bd<cr>
   if a:0 == 0
     call s:finish_bindings()

+ 21 - 0
test/workflow.vader

@@ -1520,3 +1520,24 @@ Execute (#530 - Comparison of incompatible git URIs):
 
   " Different port
   Assert !CompareURI('https://github.com/junegunn/vim-plug.git', 'https://github.com:12345/junegunn/vim-plug.git')
+
+Execute (#532 - Reuse plug window):
+  PlugDiff
+  AssertEqual 1, winnr()
+  AssertEqual 2, winnr('$')
+
+  " Open preview window
+  execute "normal ]]jo"
+  AssertEqual 2, winnr()
+  AssertEqual 3, winnr('$')
+
+  " Move plug window to the right
+  wincmd L
+  AssertEqual 3, winnr()
+  AssertEqual 3, winnr('$')
+
+  " Reuse plug window. Preview window is closed.
+  PlugStatus
+  AssertEqual 2, winnr()
+  AssertEqual 2, winnr('$')
+  q