mirror of
https://github.com/preservim/nerdtree.git
synced 2024-11-23 08:46:52 +08:00
Merge pull request #832 from lifecrisis/menufix
Clear output when the NERDTree menu is aborted.
This commit is contained in:
commit
ec3c3b0fa1
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user