1" Language : Netrw Remote-Directory Listing Syntax 2" Maintainer : Charles E. Campbell 3" Last change: Oct 06, 2014 4" Version : 19 5" --------------------------------------------------------------------- 6 7" Syntax Clearing: {{{1 8" quit when a syntax file was already loaded 9if exists("b:current_syntax") 10 finish 11endif 12 13" --------------------------------------------------------------------- 14" Directory List Syntax Highlighting: {{{1 15syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt 16syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe 17 18syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell 19syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 20syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell 21syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 22syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime 23syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 24syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell 25if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4') 26syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup 27else 28syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup 29endif 30syn match netrwTreeBarSpace " " contained 31 32syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained 33syn match netrwDateSep "/" contained 34syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep 35syn match netrwTimeSep ":" 36 37syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell 38syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat 39syn match netrwSlash "/" contained 40syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep 41syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat 42syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList 43syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList 44syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList 45syn match netrwList ".*$" contained contains=netrwComma,@NoSpell 46syn match netrwComma "," contained 47syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained 48syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep 49syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite 50syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote 51syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell 52syn match netrwVersion "(netrw.*)" contained contains=@NoSpell 53syn match netrwLink "-->" contained skipwhite 54 55" ----------------------------- 56" Special filetype highlighting {{{1 57" ----------------------------- 58if exists("g:netrw_special_syntax") && netrw_special_syntax 59 syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell 60 syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell 61 if has("unix") 62 syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell 63 endif 64 syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell 65 syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell 66 syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell 67 syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell 68 syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell 69 syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell 70 syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell 71 syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell 72 syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell 73 syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell 74 syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell 75 syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell 76endif 77 78" --------------------------------------------------------------------- 79" Highlighting Links: {{{1 80if !exists("did_drchip_netrwlist_syntax") 81 let did_drchip_netrwlist_syntax= 1 82 hi default link netrwClassify Function 83 hi default link netrwCmdSep Delimiter 84 hi default link netrwComment Comment 85 hi default link netrwDir Directory 86 hi default link netrwHelpCmd Function 87 hi default link netrwQHTopic Number 88 hi default link netrwHidePat Statement 89 hi default link netrwHideSep netrwComment 90 hi default link netrwList Statement 91 hi default link netrwVersion Identifier 92 hi default link netrwSymLink Question 93 hi default link netrwExe PreProc 94 hi default link netrwDateSep Delimiter 95 96 hi default link netrwTreeBar Special 97 hi default link netrwTimeSep netrwDateSep 98 hi default link netrwComma netrwComment 99 hi default link netrwHide netrwComment 100 hi default link netrwMarkFile TabLineSel 101 hi default link netrwLink Special 102 103 " special syntax highlighting (see :he g:netrw_special_syntax) 104 hi default link netrwBak NonText 105 hi default link netrwCompress Folded 106 hi default link netrwCoreDump WarningMsg 107 hi default link netrwData DiffChange 108 hi default link netrwHdr netrwPlain 109 hi default link netrwLex netrwPlain 110 hi default link netrwLib DiffChange 111 hi default link netrwMakefile DiffChange 112 hi default link netrwObj Folded 113 hi default link netrwTilde Folded 114 hi default link netrwTmp Folded 115 hi default link netrwTags Folded 116 hi default link netrwYacc netrwPlain 117endif 118 119" Current Syntax: {{{1 120let b:current_syntax = "netrwlist" 121" --------------------------------------------------------------------- 122" vim: ts=8 fdm=marker 123