commit 47a3a84108397c0a52fef7a936cbf5bce8b8daa5
parent b0bb781fc73ef40365e4c996a16f04368d64fc9d
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date: Thu, 26 Jun 2014 09:18:44 +0100
Merge pull request #340 from netj/sort-hidden-first-option
Option for mixing dot files when sorting
Diffstat:
3 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/doc/NERD_tree.txt b/doc/NERD_tree.txt
@@ -620,6 +620,10 @@ NERD tree. These options should be set in your vimrc.
|'NERDTreeCaseSensitiveSort'| Tells the NERD tree whether to be case
sensitive or not when sorting nodes.
+|'NERDTreeSortHiddenFirst'| Tells the NERD tree whether to take the dot
+ at the beginning of the hidden file names
+ into account when sorting nodes.
+
|'NERDTreeChDirMode'| Tells the NERD tree if/when it should change
vim's current working directory.
diff --git a/lib/nerdtree/path.vim b/lib/nerdtree/path.vim
@@ -103,6 +103,10 @@ function! s:Path.compareTo(path)
elseif thisSS > thatSS
return 1
else
+ if !g:NERDTreeSortHiddenFirst
+ let thisPath = substitute(thisPath, '^[._]', '', '')
+ let thatPath = substitute(thatPath, '^[._]', '', '')
+ endif
"if the sort sequences are the same then compare the paths
"alphabetically
let pathCompare = g:NERDTreeCaseSensitiveSort ? thisPath <# thatPath : thisPath <? thatPath
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -49,6 +49,7 @@ call s:initVariable("g:NERDChristmasTree", 1)
call s:initVariable("g:NERDTreeAutoCenter", 1)
call s:initVariable("g:NERDTreeAutoCenterThreshold", 3)
call s:initVariable("g:NERDTreeCaseSensitiveSort", 0)
+call s:initVariable("g:NERDTreeSortHiddenFirst", 1)
call s:initVariable("g:NERDTreeChDirMode", 0)
call s:initVariable("g:NERDTreeMinimalUI", 0)
if !exists("g:NERDTreeIgnore")