1b0d45e7fSBram Moolenaar" Language : Netrw Listing Syntax 28feef4ffSBram Moolenaar" Maintainer : Charles E. Campbell 35ef1c6a4SBram Moolenaar" Last change: Nov 07, 2019 45ef1c6a4SBram Moolenaar" Version : 20 59e54a0e7SBram Moolenaar" --------------------------------------------------------------------- 689bcfda6SBram Moolenaarif exists("b:current_syntax") 79e54a0e7SBram Moolenaar finish 89e54a0e7SBram Moolenaarendif 99e54a0e7SBram Moolenaar 109e54a0e7SBram Moolenaar" --------------------------------------------------------------------- 119e54a0e7SBram Moolenaar" Directory List Syntax Highlighting: {{{1 12a7241f5fSBram Moolenaarsyn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt 13a7241f5fSBram Moolenaarsyn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe 149e54a0e7SBram Moolenaar 158feef4ffSBram Moolenaarsyn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell 165c73622aSBram Moolenaarsyn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 175c73622aSBram Moolenaarsyn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell 188d043171SBram Moolenaarsyn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 195c73622aSBram Moolenaarsyn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime 205c73622aSBram Moolenaarsyn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 211514667aSBram Moolenaarsyn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 228feef4ffSBram Moolenaarif has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4') 238d043171SBram Moolenaarsyn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup 248feef4ffSBram Moolenaarelse 258feef4ffSBram Moolenaarsyn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup 268feef4ffSBram Moolenaarendif 27a7241f5fSBram Moolenaarsyn match netrwTreeBarSpace " " contained 289e54a0e7SBram Moolenaar 299e54a0e7SBram Moolenaarsyn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained 309964e468SBram Moolenaarsyn match netrwDateSep "/" contained 319964e468SBram Moolenaarsyn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep 329964e468SBram Moolenaarsyn match netrwTimeSep ":" 339e54a0e7SBram Moolenaar 345c73622aSBram Moolenaarsyn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell 355c73622aSBram Moolenaarsyn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat 369e54a0e7SBram Moolenaarsyn match netrwSlash "/" contained 375c73622aSBram Moolenaarsyn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep 385c73622aSBram Moolenaarsyn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat 399e54a0e7SBram Moolenaarsyn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList 409e54a0e7SBram Moolenaarsyn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList 41a7241f5fSBram Moolenaarsyn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList 425c73622aSBram Moolenaarsyn match netrwList ".*$" contained contains=netrwComma,@NoSpell 439e54a0e7SBram Moolenaarsyn match netrwComma "," contained 44a6878375SBram Moolenaarsyn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained 45a6878375SBram Moolenaarsyn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep 468feef4ffSBram Moolenaarsyn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite 479e54a0e7SBram Moolenaarsyn match netrwCmdSep ":" contained nextgroup=netrwCmdNote 485c73622aSBram Moolenaarsyn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell 495c73622aSBram Moolenaarsyn match netrwVersion "(netrw.*)" contained contains=@NoSpell 508feef4ffSBram Moolenaarsyn match netrwLink "-->" contained skipwhite 519e54a0e7SBram Moolenaar 52a7241f5fSBram Moolenaar" ----------------------------- 53a7241f5fSBram Moolenaar" Special filetype highlighting {{{1 54a7241f5fSBram Moolenaar" ----------------------------- 55b0d45e7fSBram Moolenaarif exists("g:netrw_special_syntax") && g:netrw_special_syntax 56b0d45e7fSBram Moolenaar if exists("+suffixes") && &suffixes != "" 57b0d45e7fSBram Moolenaar let suflist= join(split(&suffixes,',')) 58b0d45e7fSBram Moolenaar let suflist= escape(substitute(suflist," ",'\\|','g'),'.~') 59b0d45e7fSBram Moolenaar exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell" 60b0d45e7fSBram Moolenaar endif 615c73622aSBram Moolenaar syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell 625c73622aSBram Moolenaar syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell 635c73622aSBram Moolenaar if has("unix") 645c73622aSBram Moolenaar syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell 655c73622aSBram Moolenaar endif 66ff034194SBram Moolenaar syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell 67ff034194SBram Moolenaar syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell 685c73622aSBram Moolenaar syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell 69b0d45e7fSBram Moolenaar syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell 70ff034194SBram Moolenaar syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell 715c73622aSBram Moolenaar syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell 725c73622aSBram Moolenaar syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell 735c73622aSBram Moolenaar syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell 74b0d45e7fSBram Moolenaar syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell 755c73622aSBram Moolenaar syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell 76ff034194SBram Moolenaar syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell 771514667aSBram Moolenaar syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell 785c73622aSBram Moolenaar syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell 79a7241f5fSBram Moolenaarendif 80a7241f5fSBram Moolenaar 819e54a0e7SBram Moolenaar" --------------------------------------------------------------------- 829e54a0e7SBram Moolenaar" Highlighting Links: {{{1 83a7241f5fSBram Moolenaarif !exists("did_drchip_netrwlist_syntax") 849e54a0e7SBram Moolenaar let did_drchip_netrwlist_syntax= 1 855c73622aSBram Moolenaar hi default link netrwClassify Function 865c73622aSBram Moolenaar hi default link netrwCmdSep Delimiter 875c73622aSBram Moolenaar hi default link netrwComment Comment 885c73622aSBram Moolenaar hi default link netrwDir Directory 895c73622aSBram Moolenaar hi default link netrwHelpCmd Function 90a6878375SBram Moolenaar hi default link netrwQHTopic Number 915c73622aSBram Moolenaar hi default link netrwHidePat Statement 925c73622aSBram Moolenaar hi default link netrwHideSep netrwComment 935c73622aSBram Moolenaar hi default link netrwList Statement 945c73622aSBram Moolenaar hi default link netrwVersion Identifier 955c73622aSBram Moolenaar hi default link netrwSymLink Question 965c73622aSBram Moolenaar hi default link netrwExe PreProc 975c73622aSBram Moolenaar hi default link netrwDateSep Delimiter 989e54a0e7SBram Moolenaar 995c73622aSBram Moolenaar hi default link netrwTreeBar Special 1005c73622aSBram Moolenaar hi default link netrwTimeSep netrwDateSep 1015c73622aSBram Moolenaar hi default link netrwComma netrwComment 1025c73622aSBram Moolenaar hi default link netrwHide netrwComment 103251e1912SBram Moolenaar hi default link netrwMarkFile TabLineSel 1048feef4ffSBram Moolenaar hi default link netrwLink Special 105a7241f5fSBram Moolenaar 106a7241f5fSBram Moolenaar " special syntax highlighting (see :he g:netrw_special_syntax) 1075c73622aSBram Moolenaar hi default link netrwCoreDump WarningMsg 108*1d59aa1fSBram Moolenaar hi default link netrwData Folded 109ff034194SBram Moolenaar hi default link netrwHdr netrwPlain 110ff034194SBram Moolenaar hi default link netrwLex netrwPlain 1115c73622aSBram Moolenaar hi default link netrwLib DiffChange 1125c73622aSBram Moolenaar hi default link netrwMakefile DiffChange 113ff034194SBram Moolenaar hi default link netrwYacc netrwPlain 114b0d45e7fSBram Moolenaar hi default link netrwPix Special 115b0d45e7fSBram Moolenaar 116b0d45e7fSBram Moolenaar hi default link netrwBak netrwGray 117b0d45e7fSBram Moolenaar hi default link netrwCompress netrwGray 118b0d45e7fSBram Moolenaar hi default link netrwSpecFile netrwGray 119b0d45e7fSBram Moolenaar hi default link netrwObj netrwGray 120b0d45e7fSBram Moolenaar hi default link netrwTags netrwGray 121b0d45e7fSBram Moolenaar hi default link netrwTilde netrwGray 122b0d45e7fSBram Moolenaar hi default link netrwTmp netrwGray 123b0d45e7fSBram Moolenaarendif 124b0d45e7fSBram Moolenaar 125b0d45e7fSBram Moolenaar " set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those 126b0d45e7fSBram Moolenaar " can be hard/impossible to read). Users may override this in a colorscheme by 127b0d45e7fSBram Moolenaar " specifying netrwGray highlighting. 128b0d45e7fSBram Moolenaar redir => s:netrwgray 129b0d45e7fSBram Moolenaar sil hi netrwGray 130b0d45e7fSBram Moolenaar redir END 131b0d45e7fSBram Moolenaar if s:netrwgray !~ 'guifg' 132b0d45e7fSBram Moolenaar if has("gui") && has("gui_running") 133b0d45e7fSBram Moolenaar if &bg == "dark" 134b0d45e7fSBram Moolenaar exe "hi netrwGray gui=NONE guifg=gray30" 135b0d45e7fSBram Moolenaar else 136b0d45e7fSBram Moolenaar exe "hi netrwGray gui=NONE guifg=gray70" 137b0d45e7fSBram Moolenaar endif 138b0d45e7fSBram Moolenaar else 139b0d45e7fSBram Moolenaar hi link netrwGray Folded 140b0d45e7fSBram Moolenaar endif 1419e54a0e7SBram Moolenaar endif 1429e54a0e7SBram Moolenaar 1439e54a0e7SBram Moolenaar" Current Syntax: {{{1 1449e54a0e7SBram Moolenaarlet b:current_syntax = "netrwlist" 1459e54a0e7SBram Moolenaar" --------------------------------------------------------------------- 1469e54a0e7SBram Moolenaar" vim: ts=8 fdm=marker 147