mirror of
https://github.com/preservim/nerdtree.git
synced 2025-11-08 11:23:48 -05:00
Open the parent directory when revealing a non-existent file
Right now it just reveals the directory but leaves it closed. Related to #1043
This commit is contained in:
@@ -284,6 +284,7 @@ endfunction
|
|||||||
" FUNCTION: s:findAndRevealPath(pathStr) {{{1
|
" FUNCTION: s:findAndRevealPath(pathStr) {{{1
|
||||||
function! s:findAndRevealPath(pathStr) abort
|
function! s:findAndRevealPath(pathStr) abort
|
||||||
let l:pathStr = !empty(a:pathStr) ? a:pathStr : expand('%:p')
|
let l:pathStr = !empty(a:pathStr) ? a:pathStr : expand('%:p')
|
||||||
|
let l:revealOpts = {}
|
||||||
|
|
||||||
if empty(l:pathStr)
|
if empty(l:pathStr)
|
||||||
call nerdtree#echoWarning('no file for the current buffer')
|
call nerdtree#echoWarning('no file for the current buffer')
|
||||||
@@ -292,6 +293,7 @@ function! s:findAndRevealPath(pathStr) abort
|
|||||||
|
|
||||||
if !filereadable(l:pathStr)
|
if !filereadable(l:pathStr)
|
||||||
let l:pathStr = fnamemodify(l:pathStr, ':h')
|
let l:pathStr = fnamemodify(l:pathStr, ':h')
|
||||||
|
let l:revealOpts["open"] = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -327,7 +329,7 @@ function! s:findAndRevealPath(pathStr) abort
|
|||||||
call b:NERDTree.ui.setShowHidden(1)
|
call b:NERDTree.ui.setShowHidden(1)
|
||||||
endif
|
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 b:NERDTree.render()
|
||||||
call l:node.putCursorHere(1, 0)
|
call l:node.putCursorHere(1, 0)
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
Reference in New Issue
Block a user