diff --git a/doc/NERDTree.txt b/doc/NERDTree.txt index a83c4e1..1cb9856 100644 --- a/doc/NERDTree.txt +++ b/doc/NERDTree.txt @@ -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. :NERDTreeCWD *:NERDTreeCWD* - Change tree root to current directory. If no NERD tree exists for this - tab, a new tree will be opened. + Change the NERDTree root to the current working directory. If no NERDTree + exists for this tab, a new one is opened. ------------------------------------------------------------------------------ 2.2. Bookmarks *NERDTreeBookmarks* diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim index f8700d5..93d299e 100644 --- a/plugin/NERD_tree.vim +++ b/plugin/NERD_tree.vim @@ -202,12 +202,15 @@ function! NERDTreeFocus() endfunction function! NERDTreeCWD() - let l:cwd = getcwd() + let l:cwdPath = g:NERDTreePath.New(getcwd()) call NERDTreeFocus() - if l:cwd != getcwd() - exec 'cd '.l:cwd + + if b:NERDTree.root.path.equals(l:cwdPath) + return endif - call nerdtree#ui_glue#chRootCwd() + + let l:newRoot = g:NERDTreeFileNode.New(l:cwdPath, b:NERDTree) + call b:NERDTree.changeRoot(l:newRoot) endfunction function! NERDTreeAddPathFilter(callback)