nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 6224d20698da46376c25adb264a989962ad242c2
parent 07612557ebb4118ef4a337faa7033d0270773c71
Author: Bouke van der Bijl <i@bou.ke>
Date:   Thu, 20 Feb 2020 10:45:09 +0100

Open the parent directory when revealing a non-existent file

Right now it just reveals the directory but leaves it closed.

Related to #1043

Diffstat:
Mautoload/nerdtree/ui_glue.vim | 4+++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/autoload/nerdtree/ui_glue.vim b/autoload/nerdtree/ui_glue.vim
@@ -284,6 +284,7 @@ endfunction
 " FUNCTION: s:findAndRevealPath(pathStr) {{{1
 function! s:findAndRevealPath(pathStr) abort
     let l:pathStr = !empty(a:pathStr) ? a:pathStr : expand('%:p')
+    let l:revealOpts = {}
 
     if empty(l:pathStr)
         call nerdtree#echoWarning('no file for the current buffer')
@@ -292,6 +293,7 @@ function! s:findAndRevealPath(pathStr) abort
 
     if !filereadable(l:pathStr)
         let l:pathStr = fnamemodify(l:pathStr, ':h')
+        let l:revealOpts["open"] = 1
     endif
 
     try
@@ -327,7 +329,7 @@ function! s:findAndRevealPath(pathStr) abort
         call b:NERDTree.ui.setShowHidden(1)
     endif
 
-    let l:node = b:NERDTree.root.reveal(l:pathObj)
+    let l:node = b:NERDTree.root.reveal(l:pathObj, l:revealOpts)
     call b:NERDTree.render()
     call l:node.putCursorHere(1, 0)
 endfunction