From 4c409a1640ab17a0fdcae98a7d82b7e1d5396106 Mon Sep 17 00:00:00 2001 From: Jason Franklin Date: Sat, 11 Nov 2017 13:23:51 -0500 Subject: [PATCH] Add a note/warning to "TreeDirNode.activate()" This warning makes developers aware of the possibility of overwriting the NERDTree text in a new window when activate is used. --- lib/nerdtree/tree_dir_node.vim | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/nerdtree/tree_dir_node.vim b/lib/nerdtree/tree_dir_node.vim index 62bcf88..03c3545 100644 --- a/lib/nerdtree/tree_dir_node.vim +++ b/lib/nerdtree/tree_dir_node.vim @@ -21,12 +21,19 @@ function! s:TreeDirNode.AbsoluteTreeRoot() endfunction " FUNCTION: TreeDirNode.activate([options]) {{{1 -unlet s:TreeDirNode.activate function! s:TreeDirNode.activate(...) - let opts = a:0 ? a:1 : {} - call self.toggleOpen(opts) - call self.getNerdtree().render() - call self.putCursorHere(0, 0) + let l:options = (a:0 > 0) ? a:1 : {} + + call self.toggleOpen(l:options) + + " Note that we only re-render the NERDTree for this node if we did NOT + " create a new node and render it in a new window or tab. In the latter + " case, rendering the NERDTree for this node could overwrite the text of + " the new NERDTree! + if !has_key(l:options, 'where') || empty(l:options['where']) + call self.getNerdtree().render() + call self.putCursorHere(0, 0) + endif endfunction " FUNCTION: TreeDirNode.addChild(treenode, inOrder) {{{1