Merge pull request #878 from scrooloose/autochdir_interference
NERDTreeCWD: reset CWD if changed by NERDTreeFocus
This commit is contained in:
commit
15d06b676d
@ -142,18 +142,9 @@ function! s:chRoot(node)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" FUNCTION: s:nerdtree#ui_glue#chRootCwd() {{{1
|
" FUNCTION: s:nerdtree#ui_glue#chRootCwd() {{{1
|
||||||
" changes the current root to CWD
|
" Change the NERDTree root to match the current working directory.
|
||||||
function! nerdtree#ui_glue#chRootCwd()
|
function! nerdtree#ui_glue#chRootCwd()
|
||||||
try
|
NERDTreeCWD
|
||||||
let cwd = g:NERDTreePath.New(getcwd())
|
|
||||||
catch /^NERDTree.InvalidArgumentsError/
|
|
||||||
call nerdtree#echo("current directory does not exist.")
|
|
||||||
return
|
|
||||||
endtry
|
|
||||||
if cwd.str() == g:NERDTreeFileNode.GetRootForTab().path.str()
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
call s:chRoot(g:NERDTreeDirNode.New(cwd, b:NERDTree))
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" FUNCTION: nnerdtree#ui_glue#clearBookmarks(bookmarks) {{{1
|
" FUNCTION: nnerdtree#ui_glue#clearBookmarks(bookmarks) {{{1
|
||||||
|
@ -142,8 +142,8 @@ The following features and functionality are provided by the NERD tree:
|
|||||||
current tab does not exist, a new one will be initialized.
|
current tab does not exist, a new one will be initialized.
|
||||||
|
|
||||||
:NERDTreeCWD *:NERDTreeCWD*
|
:NERDTreeCWD *:NERDTreeCWD*
|
||||||
Change tree root to current directory. If no NERD tree exists for this
|
Change the NERDTree root to the current working directory. If no
|
||||||
tab, a new tree will be opened.
|
NERDTree exists for this tab, a new one is opened.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
2.2. Bookmarks *NERDTreeBookmarks*
|
2.2. Bookmarks *NERDTreeBookmarks*
|
||||||
@ -522,7 +522,7 @@ Default key: cd
|
|||||||
Map option: NERDTreeMapChdir
|
Map option: NERDTreeMapChdir
|
||||||
Applies to: files and directories.
|
Applies to: files and directories.
|
||||||
|
|
||||||
Change vims current working directory to that of the selected node.
|
Change Vim's current working directory to that of the selected node.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*NERDTree-CD*
|
*NERDTree-CD*
|
||||||
@ -530,7 +530,7 @@ Default key: CD
|
|||||||
Map option: NERDTreeMapCWD
|
Map option: NERDTreeMapCWD
|
||||||
Applies to: no restrictions.
|
Applies to: no restrictions.
|
||||||
|
|
||||||
Change tree root to vims current working directory.
|
Change the NERDTree root to Vim's current working directory.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*NERDTree-I*
|
*NERDTree-I*
|
||||||
|
@ -202,8 +202,28 @@ function! NERDTreeFocus()
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! NERDTreeCWD()
|
function! NERDTreeCWD()
|
||||||
|
|
||||||
|
if empty(getcwd())
|
||||||
|
call nerdtree#echoWarning('current directory does not exist')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
try
|
||||||
|
let l:cwdPath = g:NERDTreePath.New(getcwd())
|
||||||
|
catch /^NERDTree.InvalidArgumentsError/
|
||||||
|
call nerdtree#echoWarning('current directory does not exist')
|
||||||
|
return
|
||||||
|
endtry
|
||||||
|
|
||||||
call NERDTreeFocus()
|
call NERDTreeFocus()
|
||||||
call nerdtree#ui_glue#chRootCwd()
|
|
||||||
|
if b:NERDTree.root.path.equals(l:cwdPath)
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let l:newRoot = g:NERDTreeFileNode.New(l:cwdPath, b:NERDTree)
|
||||||
|
call b:NERDTree.changeRoot(l:newRoot)
|
||||||
|
normal! ^
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! NERDTreeAddPathFilter(callback)
|
function! NERDTreeAddPathFilter(callback)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user