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