commit ec3c3b0fa11ed63fd54603d52bc767d361f35d3f parent 727770147a7589ab3a06722f4852c0237c8b3549 Author: Jason Franklin <lifecrisis@users.noreply.github.com> Date: Mon, 23 Apr 2018 17:12:14 -0400 Merge pull request #832 from lifecrisis/menufix Clear output when the NERDTree menu is aborted. Diffstat:
| M | lib/nerdtree/menu_controller.vim | | | 24 | +++++++++++++++--------- |
1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/nerdtree/menu_controller.vim b/lib/nerdtree/menu_controller.vim @@ -15,29 +15,35 @@ function! s:MenuController.New(menuItems) return newMenuController endfunction -"FUNCTION: MenuController.showMenu() {{{1 -"start the main loop of the menu and get the user to choose/execute a menu -"item +" FUNCTION: MenuController.showMenu() {{{1 +" Enter the main loop of the NERDTree menu, prompting the user to select +" a menu item. function! s:MenuController.showMenu() call self._saveOptions() try let self.selection = 0 + let l:done = 0 - let done = 0 - while !done + while !l:done redraw! call self._echoPrompt() - let key = nr2char(getchar()) - let done = self._handleKeypress(key) + + let l:key = nr2char(getchar()) + let l:done = self._handleKeypress(l:key) endwhile finally call self._restoreOptions() + + " Redraw when "Ctrl-C" or "Esc" is received. + if !l:done || self.selection == -1 + redraw! + endif endtry if self.selection != -1 - let m = self._current() - call m.execute() + let l:m = self._current() + call l:m.execute() endif endfunction
