nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
syntax/nerdtree.vim (4630B)
   1 let s:tree_up_dir_line = '.. (up a dir)'
   2 syn match NERDTreeIgnore #\~#
   3 exec 'syn match NERDTreeIgnore #\['.g:NERDTreeGlyphReadOnly.'\]#'
   4 
   5 "highlighting for the .. (up dir) line at the top of the tree
   6 execute "syn match NERDTreeUp #\\V". s:tree_up_dir_line .'#'
   7 
   8 "quickhelp syntax elements
   9 syn match NERDTreeHelpKey #" \{1,2\}[^ ]*:#ms=s+2,me=e-1
  10 syn match NERDTreeHelpKey #" \{1,2\}[^ ]*,#ms=s+2,me=e-1
  11 syn match NERDTreeHelpTitle #" .*\~$#ms=s+2,me=e-1
  12 syn match NERDTreeToggleOn #(on)#ms=s+1,he=e-1
  13 syn match NERDTreeToggleOff #(off)#ms=e-3,me=e-1
  14 syn match NERDTreeHelpCommand #" :.\{-}\>#hs=s+3
  15 syn match NERDTreeHelp  #^".*# contains=NERDTreeHelpKey,NERDTreeHelpTitle,NERDTreeIgnore,NERDTreeToggleOff,NERDTreeToggleOn,NERDTreeHelpCommand
  16 
  17 "highlighting for sym links
  18 syn match NERDTreeLinkTarget #->.*# containedin=NERDTreeDir,NERDTreeFile
  19 syn match NERDTreeLinkFile #.* ->#me=e-3 containedin=NERDTreeFile
  20 syn match NERDTreeLinkDir #.*/ ->#me=e-3 containedin=NERDTreeDir
  21 
  22 "highlighting to conceal the delimiter around the file/dir name
  23 if has('conceal')
  24     exec 'syn match NERDTreeNodeDelimiters #\%d' . char2nr(g:NERDTreeNodeDelimiter) . '# conceal containedin=ALL'
  25     setlocal conceallevel=2 concealcursor=nvic
  26 else
  27     exec 'syn match NERDTreeNodeDelimiters #\%d' . char2nr(g:NERDTreeNodeDelimiter) . '# containedin=ALL'
  28     hi! link NERDTreeNodeDelimiters Ignore
  29 endif
  30 
  31 "highlighting for directory nodes and file nodes
  32 syn match NERDTreeDirSlash #/# containedin=NERDTreeDir
  33 
  34 if g:NERDTreeDirArrowExpandable !=# ''
  35     exec 'syn match NERDTreeClosable #' . escape(g:NERDTreeDirArrowCollapsible, '~') . '\ze .*/# containedin=NERDTreeDir,NERDTreeFile'
  36     exec 'syn match NERDTreeOpenable #' . escape(g:NERDTreeDirArrowExpandable, '~') . '\ze .*/# containedin=NERDTreeDir,NERDTreeFile'
  37     let s:dirArrows = escape(g:NERDTreeDirArrowCollapsible, '~]\-').escape(g:NERDTreeDirArrowExpandable, '~]\-')
  38     exec 'syn match NERDTreeDir #[^'.s:dirArrows.' ].*/#'
  39     exec 'syn match NERDTreeExecFile #^.*'.g:NERDTreeNodeDelimiter.'\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmarkName'
  40     exec 'syn match NERDTreeFile  #^[^"\.'.s:dirArrows.'] *[^'.s:dirArrows.']*# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmarkName,NERDTreeExecFile'
  41 else
  42     exec 'syn match NERDTreeDir #[^'.g:NERDTreeNodeDelimiter.']\{-}/\ze\($\|'.g:NERDTreeNodeDelimiter.'\)#'
  43     exec 'syn match NERDTreeExecFile #[^'.g:NERDTreeNodeDelimiter.']\{-}'.g:NERDTreeNodeDelimiter.'\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmarkName'
  44     exec 'syn match NERDTreeFile     #^.*'.g:NERDTreeNodeDelimiter.'.*[^\/]\($\|'.g:NERDTreeNodeDelimiter.'.*\)# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmarkName,NERDTreeExecFile'
  45 endif
  46 
  47 "highlighting for readonly files
  48 exec 'syn match NERDTreeRO #.*'.g:NERDTreeNodeDelimiter.'\zs.*\ze'.g:NERDTreeNodeDelimiter.'.*\['.g:NERDTreeGlyphReadOnly.'\]# contains=NERDTreeIgnore,NERDTreeBookmarkName,NERDTreeFile'
  49 
  50 exec 'syn match NERDTreeFlags #\[[^\]]*\]\ze'.g:NERDTreeNodeDelimiter.'# containedin=NERDTreeFile,NERDTreeExecFile,NERDTreeLinkFile,NERDTreeRO,NERDTreeDir'
  51 
  52 syn match NERDTreeCWD #^[</].*$#
  53 
  54 "highlighting for bookmarks
  55 syn match NERDTreeBookmarkName # {.*}#hs=s+2,he=e-1
  56 
  57 "highlighting for the bookmarks table
  58 syn match NERDTreeBookmarksLeader #^>#
  59 syn match NERDTreeBookmarksHeader #^>-\+Bookmarks-\+$# contains=NERDTreeBookmarksLeader
  60 syn match NERDTreeBookmarkName #^>.\{-} #he=e-1 contains=NERDTreeBookmarksLeader
  61 syn match NERDTreeBookmark #^>.*$# contains=NERDTreeBookmarksLeader,NERDTreeBookmarkName,NERDTreeBookmarksHeader
  62 
  63 hi def link NERDTreePart Special
  64 hi def link NERDTreePartFile Type
  65 hi def link NERDTreeExecFile Title
  66 hi def link NERDTreeDirSlash Identifier
  67 
  68 hi def link NERDTreeBookmarksHeader statement
  69 hi def link NERDTreeBookmarksLeader ignore
  70 hi def link NERDTreeBookmarkName Identifier
  71 hi def link NERDTreeBookmark normal
  72 
  73 hi def link NERDTreeHelp String
  74 hi def link NERDTreeHelpKey Identifier
  75 hi def link NERDTreeHelpCommand Identifier
  76 hi def link NERDTreeHelpTitle Macro
  77 hi def link NERDTreeToggleOn Question
  78 hi def link NERDTreeToggleOff WarningMsg
  79 
  80 hi def link NERDTreeLinkTarget Type
  81 hi def link NERDTreeLinkFile Macro
  82 hi def link NERDTreeLinkDir Macro
  83 
  84 hi def link NERDTreeDir Directory
  85 hi def link NERDTreeUp Directory
  86 hi def link NERDTreeFile Normal
  87 hi def link NERDTreeCWD Statement
  88 hi def link NERDTreeOpenable Directory
  89 hi def link NERDTreeClosable Directory
  90 hi def link NERDTreeIgnore ignore
  91 hi def link NERDTreeRO WarningMsg
  92 hi def link NERDTreeBookmark Statement
  93 hi def link NERDTreeFlags Number
  94 
  95 hi def link NERDTreeCurrentNode Search
  96 
  97 hi NERDTreeFile ctermbg=NONE guibg=NONE