xref: /vim-8.2.3635/runtime/syntax/netrw.vim (revision 1d59aa1f)
1b0d45e7fSBram Moolenaar" Language   : Netrw Listing Syntax
28feef4ffSBram Moolenaar" Maintainer : Charles E. Campbell
35ef1c6a4SBram Moolenaar" Last change: Nov 07, 2019
45ef1c6a4SBram Moolenaar" Version    : 20
59e54a0e7SBram Moolenaar" ---------------------------------------------------------------------
689bcfda6SBram Moolenaarif exists("b:current_syntax")
79e54a0e7SBram Moolenaar finish
89e54a0e7SBram Moolenaarendif
99e54a0e7SBram Moolenaar
109e54a0e7SBram Moolenaar" ---------------------------------------------------------------------
119e54a0e7SBram Moolenaar" Directory List Syntax Highlighting: {{{1
12a7241f5fSBram Moolenaarsyn cluster NetrwGroup		contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
13a7241f5fSBram Moolenaarsyn cluster NetrwTreeGroup	contains=netrwDir,netrwSymLink,netrwExe
149e54a0e7SBram Moolenaar
158feef4ffSBram Moolenaarsyn match  netrwPlain		"\(\S\+ \)*\S\+"					contains=netrwLink,@NoSpell
165c73622aSBram Moolenaarsyn match  netrwSpecial		"\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)"		contains=netrwClassify,@NoSpell
175c73622aSBram Moolenaarsyn match  netrwDir		"\.\{1,2}/"						contains=netrwClassify,@NoSpell
188d043171SBram Moolenaarsyn match  netrwDir		"\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)"			contains=netrwClassify,@NoSpell
195c73622aSBram Moolenaarsyn match  netrwSizeDate	"\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s"	skipwhite	contains=netrwDateSep,@NoSpell	nextgroup=netrwTime
205c73622aSBram Moolenaarsyn match  netrwSymLink		"\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)"  			contains=netrwClassify,@NoSpell
211514667aSBram Moolenaarsyn match  netrwExe		"\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" 		contains=netrwClassify,@NoSpell
228feef4ffSBram Moolenaarif has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
238d043171SBram Moolenaarsyn match  netrwTreeBar		"^\%([-+|│] \)\+"					contains=netrwTreeBarSpace	nextgroup=@netrwTreeGroup
248feef4ffSBram Moolenaarelse
258feef4ffSBram Moolenaarsyn match  netrwTreeBar		"^\%([-+|] \)\+"					contains=netrwTreeBarSpace	nextgroup=@netrwTreeGroup
268feef4ffSBram Moolenaarendif
27a7241f5fSBram Moolenaarsyn match  netrwTreeBarSpace	" "					contained
289e54a0e7SBram Moolenaar
299e54a0e7SBram Moolenaarsyn match  netrwClassify	"[*=|@/]\ze\%(\s\{2,}\|$\)"		contained
309964e468SBram Moolenaarsyn match  netrwDateSep		"/"					contained
319964e468SBram Moolenaarsyn match  netrwTime		"\d\{1,2}:\d\{2}:\d\{2}"		contained	contains=netrwTimeSep
329964e468SBram Moolenaarsyn match  netrwTimeSep		":"
339e54a0e7SBram Moolenaar
345c73622aSBram Moolenaarsyn match  netrwComment		'".*\%(\t\|$\)'						contains=@NetrwGroup,@NoSpell
355c73622aSBram Moolenaarsyn match  netrwHide		'^"\s*\(Hid\|Show\)ing:'	skipwhite		contains=@NoSpell		nextgroup=netrwHidePat
369e54a0e7SBram Moolenaarsyn match  netrwSlash		"/"				contained
375c73622aSBram Moolenaarsyn match  netrwHidePat		"[^,]\+"			contained skipwhite	contains=@NoSpell		nextgroup=netrwHideSep
385c73622aSBram Moolenaarsyn match  netrwHideSep		","				contained skipwhite					nextgroup=netrwHidePat
399e54a0e7SBram Moolenaarsyn match  netrwSortBy		"Sorted by"			contained transparent skipwhite				nextgroup=netrwList
409e54a0e7SBram Moolenaarsyn match  netrwSortSeq		"Sort sequence:"		contained transparent skipwhite			 	nextgroup=netrwList
41a7241f5fSBram Moolenaarsyn match  netrwCopyTgt		"Copy/Move Tgt:"		contained transparent skipwhite				nextgroup=netrwList
425c73622aSBram Moolenaarsyn match  netrwList		".*$"				contained		contains=netrwComma,@NoSpell
439e54a0e7SBram Moolenaarsyn match  netrwComma		","				contained
44a6878375SBram Moolenaarsyn region netrwQuickHelp	matchgroup=Comment start="Quick Help:\s\+" end="$"	contains=netrwHelpCmd,netrwQHTopic,@NoSpell	keepend contained
45a6878375SBram Moolenaarsyn match  netrwHelpCmd		"\S\+\ze:"			contained skipwhite	contains=@NoSpell		nextgroup=netrwCmdSep
468feef4ffSBram Moolenaarsyn match  netrwQHTopic		"([a-zA-Z &]\+)"		contained skipwhite
479e54a0e7SBram Moolenaarsyn match  netrwCmdSep		":"				contained nextgroup=netrwCmdNote
485c73622aSBram Moolenaarsyn match  netrwCmdNote		".\{-}\ze  "			contained		contains=@NoSpell
495c73622aSBram Moolenaarsyn match  netrwVersion		"(netrw.*)"			contained		contains=@NoSpell
508feef4ffSBram Moolenaarsyn match  netrwLink		"-->"				contained skipwhite
519e54a0e7SBram Moolenaar
52a7241f5fSBram Moolenaar" -----------------------------
53a7241f5fSBram Moolenaar" Special filetype highlighting {{{1
54a7241f5fSBram Moolenaar" -----------------------------
55b0d45e7fSBram Moolenaarif exists("g:netrw_special_syntax") && g:netrw_special_syntax
56b0d45e7fSBram Moolenaar if exists("+suffixes") && &suffixes != ""
57b0d45e7fSBram Moolenaar  let suflist= join(split(&suffixes,','))
58b0d45e7fSBram Moolenaar  let suflist= escape(substitute(suflist," ",'\\|','g'),'.~')
59b0d45e7fSBram Moolenaar  exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>'  contains=netrwTreeBar,@NoSpell"
60b0d45e7fSBram Moolenaar endif
615c73622aSBram Moolenaar syn match netrwBak		"\(\S\+ \)*\S\+\.bak\>"					contains=netrwTreeBar,@NoSpell
625c73622aSBram Moolenaar syn match netrwCompress	"\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>"		contains=netrwTreeBar,@NoSpell
635c73622aSBram Moolenaar if has("unix")
645c73622aSBram Moolenaar  syn match netrwCoreDump	"\<core\%(\.\d\+\)\=\>"					contains=netrwTreeBar,@NoSpell
655c73622aSBram Moolenaar endif
66ff034194SBram Moolenaar syn match netrwLex		"\(\S\+ \)*\S\+\.\%(l\|lex\)\>"				contains=netrwTreeBar,@NoSpell
67ff034194SBram Moolenaar syn match netrwYacc		"\(\S\+ \)*\S\+\.y\>"					contains=netrwTreeBar,@NoSpell
685c73622aSBram Moolenaar syn match netrwData		"\(\S\+ \)*\S\+\.dat\>"					contains=netrwTreeBar,@NoSpell
69b0d45e7fSBram Moolenaar syn match netrwDoc		"\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>"	contains=netrwTreeBar,@NoSpell
70ff034194SBram Moolenaar syn match netrwHdr		"\(\S\+ \)*\S\+\.\%(h\|hpp\)\>"				contains=netrwTreeBar,@NoSpell
715c73622aSBram Moolenaar syn match netrwLib		"\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>"			contains=netrwTreeBar,@NoSpell
725c73622aSBram Moolenaar syn match netrwMakeFile	"\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>"		contains=netrwTreeBar,@NoSpell
735c73622aSBram Moolenaar syn match netrwObj		"\(\S\+ \)*\S*\.\%(o\|obj\)\>"				contains=netrwTreeBar,@NoSpell
74b0d45e7fSBram Moolenaar syn match netrwPix		"\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>"	contains=netrwTreeBar,@NoSpell
755c73622aSBram Moolenaar syn match netrwTags		"\<\(ANmenu\|ANtags\)\>"				contains=netrwTreeBar,@NoSpell
76ff034194SBram Moolenaar syn match netrwTags    	"\<tags\>"						contains=netrwTreeBar,@NoSpell
771514667aSBram Moolenaar syn match netrwTilde		"\(\S\+ \)*\S\+\~\*\=\>"				contains=netrwTreeBar,@NoSpell
785c73622aSBram Moolenaar syn match netrwTmp		"\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>"		contains=netrwTreeBar,@NoSpell
79a7241f5fSBram Moolenaarendif
80a7241f5fSBram Moolenaar
819e54a0e7SBram Moolenaar" ---------------------------------------------------------------------
829e54a0e7SBram Moolenaar" Highlighting Links: {{{1
83a7241f5fSBram Moolenaarif !exists("did_drchip_netrwlist_syntax")
849e54a0e7SBram Moolenaar let did_drchip_netrwlist_syntax= 1
855c73622aSBram Moolenaar hi default link netrwClassify	Function
865c73622aSBram Moolenaar hi default link netrwCmdSep	Delimiter
875c73622aSBram Moolenaar hi default link netrwComment	Comment
885c73622aSBram Moolenaar hi default link netrwDir	Directory
895c73622aSBram Moolenaar hi default link netrwHelpCmd	Function
90a6878375SBram Moolenaar hi default link netrwQHTopic	Number
915c73622aSBram Moolenaar hi default link netrwHidePat	Statement
925c73622aSBram Moolenaar hi default link netrwHideSep	netrwComment
935c73622aSBram Moolenaar hi default link netrwList	Statement
945c73622aSBram Moolenaar hi default link netrwVersion	Identifier
955c73622aSBram Moolenaar hi default link netrwSymLink	Question
965c73622aSBram Moolenaar hi default link netrwExe	PreProc
975c73622aSBram Moolenaar hi default link netrwDateSep	Delimiter
989e54a0e7SBram Moolenaar
995c73622aSBram Moolenaar hi default link netrwTreeBar	Special
1005c73622aSBram Moolenaar hi default link netrwTimeSep	netrwDateSep
1015c73622aSBram Moolenaar hi default link netrwComma	netrwComment
1025c73622aSBram Moolenaar hi default link netrwHide	netrwComment
103251e1912SBram Moolenaar hi default link netrwMarkFile	TabLineSel
1048feef4ffSBram Moolenaar hi default link netrwLink	Special
105a7241f5fSBram Moolenaar
106a7241f5fSBram Moolenaar " special syntax highlighting (see :he g:netrw_special_syntax)
1075c73622aSBram Moolenaar hi default link netrwCoreDump	WarningMsg
108*1d59aa1fSBram Moolenaar hi default link netrwData	Folded
109ff034194SBram Moolenaar hi default link netrwHdr	netrwPlain
110ff034194SBram Moolenaar hi default link netrwLex	netrwPlain
1115c73622aSBram Moolenaar hi default link netrwLib	DiffChange
1125c73622aSBram Moolenaar hi default link netrwMakefile	DiffChange
113ff034194SBram Moolenaar hi default link netrwYacc	netrwPlain
114b0d45e7fSBram Moolenaar hi default link netrwPix	Special
115b0d45e7fSBram Moolenaar
116b0d45e7fSBram Moolenaar hi default link netrwBak	netrwGray
117b0d45e7fSBram Moolenaar hi default link netrwCompress	netrwGray
118b0d45e7fSBram Moolenaar hi default link netrwSpecFile	netrwGray
119b0d45e7fSBram Moolenaar hi default link netrwObj	netrwGray
120b0d45e7fSBram Moolenaar hi default link netrwTags	netrwGray
121b0d45e7fSBram Moolenaar hi default link netrwTilde	netrwGray
122b0d45e7fSBram Moolenaar hi default link netrwTmp	netrwGray
123b0d45e7fSBram Moolenaarendif
124b0d45e7fSBram Moolenaar
125b0d45e7fSBram Moolenaar " set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those
126b0d45e7fSBram Moolenaar " can be hard/impossible to read). Users may override this in a colorscheme by
127b0d45e7fSBram Moolenaar " specifying netrwGray highlighting.
128b0d45e7fSBram Moolenaar redir => s:netrwgray
129b0d45e7fSBram Moolenaar  sil hi netrwGray
130b0d45e7fSBram Moolenaar redir END
131b0d45e7fSBram Moolenaar if s:netrwgray !~ 'guifg'
132b0d45e7fSBram Moolenaar  if has("gui") && has("gui_running")
133b0d45e7fSBram Moolenaar   if &bg == "dark"
134b0d45e7fSBram Moolenaar    exe "hi netrwGray gui=NONE guifg=gray30"
135b0d45e7fSBram Moolenaar   else
136b0d45e7fSBram Moolenaar    exe "hi netrwGray gui=NONE guifg=gray70"
137b0d45e7fSBram Moolenaar   endif
138b0d45e7fSBram Moolenaar  else
139b0d45e7fSBram Moolenaar   hi link netrwGray	Folded
140b0d45e7fSBram Moolenaar  endif
1419e54a0e7SBram Moolenaar endif
1429e54a0e7SBram Moolenaar
1439e54a0e7SBram Moolenaar" Current Syntax: {{{1
1449e54a0e7SBram Moolenaarlet   b:current_syntax = "netrwlist"
1459e54a0e7SBram Moolenaar" ---------------------------------------------------------------------
1469e54a0e7SBram Moolenaar" vim: ts=8 fdm=marker
147