commit 188bd9265892bbd03320e51ad01c253dfd98993f
parent bcf3de4fdffae45fc7c85b6b84a01b37177924aa
Author: Igor Tatarintsev <ietatarin@gmail.com>
Date: Fri, 11 Sep 2015 23:44:06 +0600
Added global variables for changing default arrows
Diffstat:
6 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/README.markdown b/README.markdown
@@ -105,3 +105,11 @@ Stick this in your vimrc:
> Can I have different highlighting for different file extensions?
See here: https://github.com/scrooloose/nerdtree/issues/433#issuecomment-92590696
+
+> How can I change default arrows?
+
+Use these variables in your vimrc. Note that below are default arrow symbols
+
+ let g:NERDTreeDirArrows = 1
+ let g:NERDTreeDirArrowExpandable = '▸'
+ let g:NERDTreeDirArrowCollapsable = '▾'
diff --git a/autoload/nerdtree/ui_glue.vim b/autoload/nerdtree/ui_glue.vim
@@ -312,7 +312,7 @@ function! s:handleLeftClick()
endfor
if currentNode.path.isDirectory
- if startToCur =~# g:NERDTreeUI.MarkupReg() && startToCur =~# '[+~▾▸] \?$'
+ if startToCur =~# g:NERDTreeUI.MarkupReg() && startToCur =~# '[+~'.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsable.'] \?$'
call currentNode.activate()
return
endif
diff --git a/lib/nerdtree/tree_file_node.vim b/lib/nerdtree/tree_file_node.vim
@@ -383,13 +383,13 @@ function! s:TreeFileNode._renderToString(depth, drawText, vertMap, isLastChild)
if self.path.isDirectory
if self.isOpen
if g:NERDTreeDirArrows
- let treeParts = treeParts . '▾ '
+ let treeParts = treeParts . g:NERDTreeDirArrowCollapsable . ' '
else
let treeParts = treeParts . '~'
endif
else
if g:NERDTreeDirArrows
- let treeParts = treeParts . '▸ '
+ let treeParts = treeParts . g:NERDTreeDirArrowExpandable . ' '
else
let treeParts = treeParts . '+'
endif
diff --git a/lib/nerdtree/ui.vim b/lib/nerdtree/ui.vim
@@ -154,7 +154,7 @@ function! s:UI.getPath(ln)
if !g:NERDTreeDirArrows
" in case called from outside the tree
- if line !~# '^ *[|`▸▾ ]' || line =~# '^$'
+ if line !~# '^ *[|`'.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsable.' ]' || line =~# '^$'
return {}
endif
endif
@@ -261,9 +261,9 @@ endfunction
"FUNCTION: s:UI._indentLevelFor(line) {{{1
function! s:UI._indentLevelFor(line)
- let level = match(a:line, '[^ \-+~▸▾`|]') / s:UI.IndentWid()
+ let level = match(a:line, '[^ \-+~'.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsable.'`|]') / s:UI.IndentWid()
" check if line includes arrows
- if match(a:line, '[▸▾]') > -1
+ if match(a:line, '['.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsable.]') > -1
" decrement level as arrow uses 3 ascii chars
let level = level - 1
endif
@@ -278,7 +278,7 @@ endfunction
"FUNCTION: s:UI.MarkupReg() {{{1
function! s:UI.MarkupReg()
if g:NERDTreeDirArrows
- return '^\([▾▸] \| \+[▾▸] \| \+\)'
+ return '^\(['.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsable.'] \| \+['.g:NERDTreeDirArrowExpandable.g:NERDTreeDirArrowCollapsable.'] \| \+\)'
endif
return '^[ `|]*[\-+~]'
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -68,6 +68,8 @@ call s:initVariable("g:NERDTreeShowHidden", 0)
call s:initVariable("g:NERDTreeShowLineNumbers", 0)
call s:initVariable("g:NERDTreeSortDirs", 1)
call s:initVariable("g:NERDTreeDirArrows", !nerdtree#runningWindows())
+call s:initVariable("g:NERDTreeDirArrowExpandable", "▸")
+call s:initVariable("g:NERDTreeDirArrowCollapsable", "▾")
call s:initVariable("g:NERDTreeCascadeOpenSingleChildDir", 1)
if !exists("g:NERDTreeSortOrder")
diff --git a/syntax/nerdtree.vim b/syntax/nerdtree.vim
@@ -23,12 +23,13 @@ syn match NERDTreeLinkDir #.*/ ->#me=e-3 containedin=NERDTreeDir
syn match NERDTreeDirSlash #/# containedin=NERDTreeDir
if g:NERDTreeDirArrows
- syn match NERDTreeClosable #▾# containedin=NERDTreeDir,NERDTreeFile
- syn match NERDTreeOpenable #▸# containedin=NERDTreeDir,NERDTreeFile
+ exec 'syn match NERDTreeClosable #'.g:NERDTreeDirArrowCollapsable.'# containedin=NERDTreeDir,NERDTreeFile'
+ exec 'syn match NERDTreeOpenable #'.g:NERDTreeDirArrowExpandable.'# containedin=NERDTreeDir,NERDTreeFile'
- syn match NERDTreeDir #[^▾▸ ].*/#
+ let s:dirArrows = g:NERDTreeDirArrowCollapsable.g:NERDTreeDirArrowExpandable
+ exec 'syn match NERDTreeDir #[^'.s:dirArrows.' ].*/#'
syn match NERDTreeExecFile #^ .*\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmark
- syn match NERDTreeFile #^[^"\.▾▸] *[^▾▸]*# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmark,NERDTreeExecFile
+ exec 'syn match NERDTreeFile #^[^"\.'.s:dirArrows.'] *[^'.s:dirArrows.']*# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmark,NERDTreeExecFile'
"highlighting for readonly files
syn match NERDTreeRO # *\zs.*\ze \[RO\]# contains=NERDTreeIgnore,NERDTreeBookmark,NERDTreeFile