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