mirror of
https://github.com/preservim/nerdtree.git
synced 2024-11-26 02:10:12 +08:00
Call Resolve on the file's path when calling :NERDTreeFind. (#896)
When :NERDTreeFind creates a tree, it resolves the file's path, and makes that its root. See :h resolve() for more info; it basically tracks down links to their ultimate source. Then :NERDTreeFind tries to find the file under that root, so it can be revealed. The problem is that it compares the file's unresolved path against the resolved path in the root. Here is the scenario: /tmp/ is a link to /private/tmp/ :e /tmp/foo will open the file as expected :NERDTreeFind will first create a tree with a root of /private/tmp/ Then it tries to find /tmp/foo, but it can't, because the path names don't match. This commit resolves /tmp/foo to the actual location of /private/tmp/foo; thus, it is able to find the file in the tree.
This commit is contained in:
parent
f98078d3ae
commit
52151fb307
|
@ -255,6 +255,7 @@ function! s:findAndRevealPath(pathStr)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
try
|
try
|
||||||
|
let l:pathStr = g:NERDTreePath.Resolve(l:pathStr)
|
||||||
let l:pathObj = g:NERDTreePath.New(l:pathStr)
|
let l:pathObj = g:NERDTreePath.New(l:pathStr)
|
||||||
catch /^NERDTree.InvalidArgumentsError/
|
catch /^NERDTree.InvalidArgumentsError/
|
||||||
call nerdtree#echoWarning('invalid path')
|
call nerdtree#echoWarning('invalid path')
|
||||||
|
|
Loading…
Reference in New Issue
Block a user