mirror of
https://github.com/preservim/nerdtree.git
synced 2024-11-23 03:30:59 +08:00
ffa8be8aa7
* Change the default node delimiter to the BELL character, \x07. * Syntax match by ASCII code, vs. string concatenation. * Document the NERDTreeNodeDelimiter setting. * Clean up the documentation markup. * Remove apostrophes, since the NERDTree settings aren't vim options. * Use backticks to hot-link the referenced vim options. * Add a modeline. * Update the title and the About section of the documentation. * Fix typo, and clarify branches of code in Github. * Fix wrapping to 78, and remove colorcolumn setting from modeline. * Change the ASCI Art title, and give credit for it. * Change the word option to setting, and redo the word wrapping. I want to reserve the word 'option' to mean only Vim options that are changed with the `:set` command. Since we need to use `:let` to establish the values for the NERDTree variables, I choose to call them settings instead. * Realign hot-links with concealed markup tags taken into account. * Text alignment, typo fixes, and wordsmithing the About section.
92 lines
3.9 KiB
VimL
92 lines
3.9 KiB
VimL
let s:tree_up_dir_line = '.. (up a dir)'
|
|
syn match NERDTreeIgnore #\~#
|
|
exec 'syn match NERDTreeIgnore #\['.g:NERDTreeGlyphReadOnly.'\]#'
|
|
|
|
"highlighting for the .. (up dir) line at the top of the tree
|
|
execute "syn match NERDTreeUp #\\V". s:tree_up_dir_line ."#"
|
|
|
|
"quickhelp syntax elements
|
|
syn match NERDTreeHelpKey #" \{1,2\}[^ ]*:#ms=s+2,me=e-1
|
|
syn match NERDTreeHelpKey #" \{1,2\}[^ ]*,#ms=s+2,me=e-1
|
|
syn match NERDTreeHelpTitle #" .*\~$#ms=s+2,me=e-1
|
|
syn match NERDTreeToggleOn #(on)#ms=s+1,he=e-1
|
|
syn match NERDTreeToggleOff #(off)#ms=e-3,me=e-1
|
|
syn match NERDTreeHelpCommand #" :.\{-}\>#hs=s+3
|
|
syn match NERDTreeHelp #^".*# contains=NERDTreeHelpKey,NERDTreeHelpTitle,NERDTreeIgnore,NERDTreeToggleOff,NERDTreeToggleOn,NERDTreeHelpCommand
|
|
|
|
"highlighting for sym links
|
|
syn match NERDTreeLinkTarget #->.*# containedin=NERDTreeDir,NERDTreeFile
|
|
syn match NERDTreeLinkFile #.* ->#me=e-3 containedin=NERDTreeFile
|
|
syn match NERDTreeLinkDir #.*/ ->#me=e-3 containedin=NERDTreeDir
|
|
|
|
"highlighing for directory nodes and file nodes
|
|
syn match NERDTreeDirSlash #/# containedin=NERDTreeDir
|
|
|
|
exec 'syn match NERDTreeClosable #' . escape(g:NERDTreeDirArrowCollapsible, '~') . '\ze .*/# containedin=NERDTreeDir,NERDTreeFile'
|
|
exec 'syn match NERDTreeOpenable #' . escape(g:NERDTreeDirArrowExpandable, '~') . '\ze .*/# containedin=NERDTreeDir,NERDTreeFile'
|
|
|
|
let s:dirArrows = escape(g:NERDTreeDirArrowCollapsible, '~]\-').escape(g:NERDTreeDirArrowExpandable, '~]\-')
|
|
exec 'syn match NERDTreeDir #[^'.s:dirArrows.' ].*/#'
|
|
syn match NERDTreeExecFile #^ .*\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmark
|
|
exec 'syn match NERDTreeFile #^[^"\.'.s:dirArrows.'] *[^'.s:dirArrows.']*# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmark,NERDTreeExecFile'
|
|
|
|
"highlighting for readonly files
|
|
exec 'syn match NERDTreeRO # *\zs.*\ze \['.g:NERDTreeGlyphReadOnly.'\]# contains=NERDTreeIgnore,NERDTreeBookmark,NERDTreeFile'
|
|
|
|
syn match NERDTreeFlags #^ *\zs\[[^\]]*\]# containedin=NERDTreeFile,NERDTreeExecFile
|
|
syn match NERDTreeFlags #\[[^\]]*\]# containedin=NERDTreeDir
|
|
|
|
"highlighing to conceal the delimiter around the file/dir name
|
|
if has("conceal")
|
|
exec 'syn match NERDTreeNodeDelimiters #\%d' . char2nr(g:NERDTreeNodeDelimiter) . '# conceal containedin=ALL'
|
|
setlocal conceallevel=3 concealcursor=nvic
|
|
else
|
|
exec 'syn match NERDTreeNodeDelimiters #\%d' . char2nr(g:NERDTreeNodeDelimiter) . '# containedin=ALL'
|
|
hi! link NERDTreeNodeDelimiters Ignore
|
|
endif
|
|
|
|
syn match NERDTreeCWD #^[</].*$#
|
|
|
|
"highlighting for bookmarks
|
|
syn match NERDTreeBookmark # {.*}#hs=s+1
|
|
|
|
"highlighting for the bookmarks table
|
|
syn match NERDTreeBookmarksLeader #^>#
|
|
syn match NERDTreeBookmarksHeader #^>-\+Bookmarks-\+$# contains=NERDTreeBookmarksLeader
|
|
syn match NERDTreeBookmarkName #^>.\{-} #he=e-1 contains=NERDTreeBookmarksLeader
|
|
syn match NERDTreeBookmark #^>.*$# contains=NERDTreeBookmarksLeader,NERDTreeBookmarkName,NERDTreeBookmarksHeader
|
|
|
|
hi def link NERDTreePart Special
|
|
hi def link NERDTreePartFile Type
|
|
hi def link NERDTreeExecFile Title
|
|
hi def link NERDTreeDirSlash Identifier
|
|
|
|
hi def link NERDTreeBookmarksHeader statement
|
|
hi def link NERDTreeBookmarksLeader ignore
|
|
hi def link NERDTreeBookmarkName Identifier
|
|
hi def link NERDTreeBookmark normal
|
|
|
|
hi def link NERDTreeHelp String
|
|
hi def link NERDTreeHelpKey Identifier
|
|
hi def link NERDTreeHelpCommand Identifier
|
|
hi def link NERDTreeHelpTitle Macro
|
|
hi def link NERDTreeToggleOn Question
|
|
hi def link NERDTreeToggleOff WarningMsg
|
|
|
|
hi def link NERDTreeLinkTarget Type
|
|
hi def link NERDTreeLinkFile Macro
|
|
hi def link NERDTreeLinkDir Macro
|
|
|
|
hi def link NERDTreeDir Directory
|
|
hi def link NERDTreeUp Directory
|
|
hi def link NERDTreeFile Normal
|
|
hi def link NERDTreeCWD Statement
|
|
hi def link NERDTreeOpenable Directory
|
|
hi def link NERDTreeClosable Directory
|
|
hi def link NERDTreeIgnore ignore
|
|
hi def link NERDTreeRO WarningMsg
|
|
hi def link NERDTreeBookmark Statement
|
|
hi def link NERDTreeFlags Number
|
|
|
|
hi def link NERDTreeCurrentNode Search
|