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

@ -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