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