Преглед на файлове

Print exception from post-update hook with : prefix

Junegunn Choi преди 9 години
родител
ревизия
5d8c4bfc1f
променени са 2 файла, в които са добавени 15 реда и са изтрити 1 реда
  1. 5 1
      plug.vim
  2. 10 0
      test/workflow.vader

+ 5 - 1
plug.vim

@@ -809,7 +809,11 @@ function! s:do(pull, force, todo)
       if type == s:TYPE.string
         if spec.do[0] == ':'
           call s:load_plugin(spec)
-          execute spec.do[1:]
+          try
+            execute spec.do[1:]
+          catch
+            let error = v:exception
+          endtry
           if !s:plug_window_exists()
             cd -
             throw 'Warning: vim-plug was terminated by the post-update hook of '.name

+ 10 - 0
test/workflow.vader

@@ -970,6 +970,16 @@ Execute (Vim command with : prefix closing the window):
   Assert out =~ 'vim-plug was terminated'
   Assert out =~ 'of vim-pseudocl'
 
+Execute (Invalid vim command in post-update hook):
+  call plug#begin()
+  Plug 'junegunn/vim-pseudocl', { 'do': ':nosuchcommand' }
+  call plug#end()
+
+  PlugInstall!
+  Log getline(1, '$')
+  AssertExpect! 'x Post-update hook for vim-pseudocl ... Vim:E492: Not an editor command: nosuchcommand', 1
+  q
+
 **********************************************************************
 ~ Overriding `dir`
 **********************************************************************