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