netrw.vim (6960B)
1 " Creator: Charles E Campbell 2 " Previous Maintainer: Luca Saccarola <github.e41mv@aleeas.com> 3 " Maintainer: This runtime file is looking for a new maintainer. 4 " Language: Netrw Listing Syntax 5 6 7 if exists("b:current_syntax") 8 finish 9 endif 10 11 let b:current_syntax = "netrwlist" 12 13 " Directory List Syntax Highlighting: {{{ 14 15 syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt 16 syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe 17 18 syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell 19 syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 20 syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell 21 syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 22 syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime 23 syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 24 syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 25 if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4') 26 syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup 27 else 28 syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup 29 endif 30 syn match netrwTreeBarSpace " " contained 31 32 syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained 33 syn match netrwDateSep "/" contained 34 syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep 35 syn match netrwTimeSep ":" 36 37 syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell 38 syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat 39 syn match netrwSlash "/" contained 40 syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep 41 syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat 42 syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList 43 syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList 44 syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList 45 syn match netrwList ".*$" contained contains=netrwComma,@NoSpell 46 syn match netrwComma "," contained 47 syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained 48 syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep 49 syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite 50 syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote 51 syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell 52 syn match netrwVersion "(netrw.*)" contained contains=@NoSpell 53 syn match netrwLink "-->" contained skipwhite 54 55 " }}} 56 " Special filetype highlighting {{{ 57 58 if exists("g:netrw_special_syntax") && g:netrw_special_syntax 59 if exists("+suffixes") && &suffixes != "" 60 let suflist= join(split(&suffixes,',')) 61 let suflist= escape(substitute(suflist," ",'\\|','g'),'.~') 62 exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell" 63 endif 64 syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell 65 syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell 66 if has("unix") 67 syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell 68 endif 69 syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell 70 syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell 71 syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell 72 syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell 73 syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell 74 syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell 75 syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell 76 syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell 77 syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell 78 syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell 79 syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell 80 syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell 81 syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell 82 endif 83 84 " }}} 85 " Highlighting Links: {{{ 86 87 if !exists("did_drchip_netrwlist_syntax") 88 let did_drchip_netrwlist_syntax= 1 89 hi default link netrwClassify Function 90 hi default link netrwCmdSep Delimiter 91 hi default link netrwComment Comment 92 hi default link netrwDir Directory 93 hi default link netrwHelpCmd Function 94 hi default link netrwQHTopic Number 95 hi default link netrwHidePat Statement 96 hi default link netrwHideSep netrwComment 97 hi default link netrwList Statement 98 hi default link netrwVersion Identifier 99 hi default link netrwSymLink Question 100 hi default link netrwExe PreProc 101 hi default link netrwDateSep Delimiter 102 103 hi default link netrwTreeBar Special 104 hi default link netrwTimeSep netrwDateSep 105 hi default link netrwComma netrwComment 106 hi default link netrwHide netrwComment 107 hi default link netrwMarkFile TabLineSel 108 hi default link netrwLink Special 109 110 " special syntax highlighting (see :he g:netrw_special_syntax) 111 hi default link netrwCoreDump WarningMsg 112 hi default link netrwData Folded 113 hi default link netrwHdr netrwPlain 114 hi default link netrwLex netrwPlain 115 hi default link netrwLib DiffChange 116 hi default link netrwMakefile DiffChange 117 hi default link netrwYacc netrwPlain 118 hi default link netrwPix Special 119 120 hi default link netrwBak netrwGray 121 hi default link netrwCompress netrwGray 122 hi default link netrwSpecFile netrwGray 123 hi default link netrwObj netrwGray 124 hi default link netrwTags netrwGray 125 hi default link netrwTilde netrwGray 126 hi default link netrwTmp netrwGray 127 endif 128 129 " set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those 130 " can be hard/impossible to read). Users may override this in a colorscheme by 131 " specifying netrwGray highlighting. 132 redir => s:netrwgray 133 sil hi netrwGray 134 redir END 135 136 if s:netrwgray !~ 'guifg' 137 if has("gui") && has("gui_running") 138 if &bg == "dark" 139 exe "hi netrwGray gui=NONE guifg=gray30" 140 else 141 exe "hi netrwGray gui=NONE guifg=gray70" 142 endif 143 else 144 hi link netrwGray Folded 145 endif 146 endif 147 148 " }}} 149 150 " vim:ts=8 sts=4 sw=4 et fdm=marker