nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 9d9edd03d4351cd3559f4392cada38a2d1aadd06
parent 55a8954c48d94c207facb1a0ba109a427b15bcbf
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date:   Sun, 29 Jun 2014 18:17:19 +0100

separate out syntax matching for Dir Arrows vs old style

Diffstat:
Msyntax/nerdtree.vim | 58+++++++++++++++++++++++++++++++++++-----------------------
1 file changed, 35 insertions(+), 23 deletions(-)
diff --git a/syntax/nerdtree.vim b/syntax/nerdtree.vim
@@ -7,17 +7,6 @@ syn match NERDTreeFlag #\[RO\]#
 "highlighting for the .. (up dir) line at the top of the tree
 execute "syn match NERDTreeUp #\\V". s:tree_up_dir_line ."#"
 
-"highlighting for the ~/+ symbols for the directory nodes
-syn match NERDTreeClosable #\~\<#
-syn match NERDTreeClosable #\~\.#
-syn match NERDTreeOpenable #+\<#
-syn match NERDTreeOpenable #+\.#he=e-1
-
-"highlighting for the tree structural parts
-syn match NERDTreePart #|#
-syn match NERDTreePart #`#
-syn match NERDTreePartFile #[|`]-#hs=s+1 contains=NERDTreePart
-
 "quickhelp syntax elements
 syn match NERDTreeHelpKey #" \{1,2\}[^ ]*:#hs=s+2,he=e-1
 syn match NERDTreeHelpKey #" \{1,2\}[^ ]*,#hs=s+2,he=e-1
@@ -30,15 +19,40 @@ syn match NERDTreeHelp  #^".*# contains=NERDTreeHelpKey,NERDTreeHelpTitle,NERDTr
 "highlighting for readonly files
 syn match NERDTreeRO #.*\[RO\]#hs=s+2 contains=NERDTreeFlag,NERDTreeBookmark,NERDTreePart,NERDTreePartFile
 
-"highlighting for sym links
-syn match NERDTreeLink #[^-| `].* -> # contains=NERDTreeBookmark,NERDTreeOpenable,NERDTreeClosable,NERDTreeDirSlash
-
 "highlighing for directory nodes and file nodes
-syn match NERDTreeDirSlash #/#
-syn match NERDTreeDir #[^-| `].*/# contains=NERDTreeLink,NERDTreeDirSlash,NERDTreeOpenable,NERDTreeClosable
-syn match NERDTreeExecFile  #[|` ].*\*\($\| \)# contains=NERDTreeLink,NERDTreePart,NERDTreeRO,NERDTreePartFile,NERDTreeBookmark
-syn match NERDTreeFile  #|-.*# contains=NERDTreeLink,NERDTreePart,NERDTreeRO,NERDTreePartFile,NERDTreeBookmark,NERDTreeExecFile
-syn match NERDTreeFile  #`-.*# contains=NERDTreeLink,NERDTreePart,NERDTreeRO,NERDTreePartFile,NERDTreeBookmark,NERDTreeExecFile
+syn match NERDTreeDirSlash #/# containedin=NERDTreeDir
+
+if g:NERDTreeDirArrows
+    syn match NERDTreeClosable #▾# containedin=NERDTreeDir,NERDTreeFile
+    syn match NERDTreeOpenable #▸# containedin=NERDTreeDir,NERDTreeFile
+
+    syn match NERDTreeDir #[^▾▸ ].*/# contains=NERDTreeLink
+    syn match NERDTreeExecFile  #^ .*\*\($\| \)# contains=NERDTreeLink,NERDTreeRO,NERDTreePartFile,NERDTreeBookmark
+    syn match NERDTreeFile  #^[^"\.▾▸] *[^▾▸]*# contains=NERDTreeLink,NERDTreeRO,NERDTreePartFile,NERDTreeBookmark,NERDTreeExecFile
+
+    "highlighting for sym links
+    syn match NERDTreeLink #^ *[^▾▸]* -> # contains=NERDTreeBookmark,NERDTreeOpenable,NERDTreeClosable,NERDTreeDirSlash
+else
+    "highlighting for the ~/+ symbols for the directory nodes
+    syn match NERDTreeClosable #\~\<#
+    syn match NERDTreeClosable #\~\.#
+    syn match NERDTreeOpenable #+\<#
+    syn match NERDTreeOpenable #+\.#he=e-1
+
+    "highlighting for the tree structural parts
+    syn match NERDTreePart #|#
+    syn match NERDTreePart #`#
+    syn match NERDTreePartFile #[|`]-#hs=s+1 contains=NERDTreePart
+
+    syn match NERDTreeDir #[^-| `].*/# contains=NERDTreeLink,NERDTreeOpenable,NERDTreeClosable
+    syn match NERDTreeExecFile  #[|` ].*\*\($\| \)# contains=NERDTreeLink,NERDTreePart,NERDTreeRO,NERDTreePartFile,NERDTreeBookmark
+    syn match NERDTreeFile  #|-.*# contains=NERDTreeLink,NERDTreePart,NERDTreeRO,NERDTreePartFile,NERDTreeBookmark,NERDTreeExecFile
+    syn match NERDTreeFile  #`-.*# contains=NERDTreeLink,NERDTreePart,NERDTreeRO,NERDTreePartFile,NERDTreeBookmark,NERDTreeExecFile
+
+    "highlighting for sym links
+    syn match NERDTreeLink #[^-| `].* -> # contains=NERDTreeBookmark,NERDTreeOpenable,NERDTreeClosable,NERDTreeDirSlash
+endif
+
 syn match NERDTreeCWD #^[</].*$#
 
 "highlighting for bookmarks
@@ -53,15 +67,11 @@ syn match NERDTreeBookmark #^>.*$# contains=NERDTreeBookmarksLeader,NERDTreeBook
 if exists("g:NERDChristmasTree") && g:NERDChristmasTree
     hi def link NERDTreePart Special
     hi def link NERDTreePartFile Type
-    hi def link NERDTreeFile Normal
     hi def link NERDTreeExecFile Title
     hi def link NERDTreeDirSlash Identifier
-    hi def link NERDTreeClosable Type
 else
     hi def link NERDTreePart Normal
     hi def link NERDTreePartFile Normal
-    hi def link NERDTreeFile Normal
-    hi def link NERDTreeClosable Title
 endif
 
 hi def link NERDTreeBookmarksHeader statement
@@ -78,9 +88,11 @@ hi def link NERDTreeToggleOff WarningMsg
 
 hi def link NERDTreeDir Directory
 hi def link NERDTreeUp Directory
+hi def link NERDTreeFile Normal
 hi def link NERDTreeCWD Statement
 hi def link NERDTreeLink Macro
 hi def link NERDTreeOpenable Title
+hi def link NERDTreeClosable Title
 hi def link NERDTreeFlag ignore
 hi def link NERDTreeRO WarningMsg
 hi def link NERDTreeBookmark Statement