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