Merge pull request #832 from lifecrisis/menufix

Clear output when the NERDTree menu is aborted.
This commit is contained in:
Jason Franklin 2018-04-23 17:12:14 -04:00 committed by GitHub
commit ec3c3b0fa1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -16,28 +16,34 @@ function! s:MenuController.New(menuItems)
endfunction endfunction
" FUNCTION: MenuController.showMenu() {{{1 " FUNCTION: MenuController.showMenu() {{{1
"start the main loop of the menu and get the user to choose/execute a menu " Enter the main loop of the NERDTree menu, prompting the user to select
"item " a menu item.
function! s:MenuController.showMenu() function! s:MenuController.showMenu()
call self._saveOptions() call self._saveOptions()
try try
let self.selection = 0 let self.selection = 0
let l:done = 0
let done = 0 while !l:done
while !done
redraw! redraw!
call self._echoPrompt() 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 endwhile
finally finally
call self._restoreOptions() call self._restoreOptions()
" Redraw when "Ctrl-C" or "Esc" is received.
if !l:done || self.selection == -1
redraw!
endif
endtry endtry
if self.selection != -1 if self.selection != -1
let m = self._current() let l:m = self._current()
call m.execute() call l:m.execute()
endif endif
endfunction endfunction