blob: 3d3aa993bd3da6e35892402329828a5fc1b6b8b1 [file] [log] [blame]
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001" Language : Netrw Remote-Directory Listing Syntax
Bram Moolenaar8feef4f2015-01-07 16:57:10 +01002" Maintainer : Charles E. Campbell
3" Last change: Oct 06, 2014
4" Version : 19
Bram Moolenaard4755bb2004-09-02 19:12:26 +00005" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00006
7" Syntax Clearing: {{{1
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02008" quit when a syntax file was already loaded
9if exists("b:current_syntax")
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000010 finish
11endif
12
Bram Moolenaard4755bb2004-09-02 19:12:26 +000013" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000014" Directory List Syntax Highlighting: {{{1
Bram Moolenaara7241f52008-06-24 20:39:31 +000015syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
16syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
Bram Moolenaar578b49e2005-09-10 19:22:57 +000017
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010018syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010019syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
20syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
Bram Moolenaar8d043172014-01-23 14:24:41 +010021syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010022syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
23syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
Bram Moolenaar15146672011-10-20 22:22:38 +020024syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010025if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
Bram Moolenaar8d043172014-01-23 14:24:41 +010026syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010027else
28syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
29endif
Bram Moolenaar5c736222010-01-06 20:54:52 +010030syn match netrwTreeBarSpace " " contained
Bram Moolenaar578b49e2005-09-10 19:22:57 +000031
Bram Moolenaar5c736222010-01-06 20:54:52 +010032syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
33syn match netrwDateSep "/" contained
34syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
Bram Moolenaar9964e462007-05-05 17:54:07 +000035syn match netrwTimeSep ":"
Bram Moolenaar578b49e2005-09-10 19:22:57 +000036
Bram Moolenaar5c736222010-01-06 20:54:52 +010037syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
38syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
Bram Moolenaar578b49e2005-09-10 19:22:57 +000039syn match netrwSlash "/" contained
Bram Moolenaar5c736222010-01-06 20:54:52 +010040syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
41syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
42syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
43syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
44syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
45syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
Bram Moolenaar578b49e2005-09-10 19:22:57 +000046syn match netrwComma "," contained
Bram Moolenaara6878372014-03-22 21:02:50 +010047syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained
48syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010049syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite
Bram Moolenaar578b49e2005-09-10 19:22:57 +000050syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
Bram Moolenaar5c736222010-01-06 20:54:52 +010051syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
52syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010053syn match netrwLink "-->" contained skipwhite
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000054
Bram Moolenaara7241f52008-06-24 20:39:31 +000055" -----------------------------
56" Special filetype highlighting {{{1
57" -----------------------------
58if exists("g:netrw_special_syntax") && netrw_special_syntax
Bram Moolenaar5c736222010-01-06 20:54:52 +010059 syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
60 syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
61 if has("unix")
62 syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
63 endif
Bram Moolenaarff034192013-04-24 18:51:19 +020064 syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
65 syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010066 syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaarff034192013-04-24 18:51:19 +020067 syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell
68 syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010069 syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
70 syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
71 syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010072 syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaarff034192013-04-24 18:51:19 +020073 syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar15146672011-10-20 22:22:38 +020074 syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010075 syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaara7241f52008-06-24 20:39:31 +000076endif
77
Bram Moolenaard4755bb2004-09-02 19:12:26 +000078" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000079" Highlighting Links: {{{1
Bram Moolenaara7241f52008-06-24 20:39:31 +000080if !exists("did_drchip_netrwlist_syntax")
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000081 let did_drchip_netrwlist_syntax= 1
Bram Moolenaar5c736222010-01-06 20:54:52 +010082 hi default link netrwClassify Function
83 hi default link netrwCmdSep Delimiter
84 hi default link netrwComment Comment
85 hi default link netrwDir Directory
86 hi default link netrwHelpCmd Function
Bram Moolenaara6878372014-03-22 21:02:50 +010087 hi default link netrwQHTopic Number
Bram Moolenaar5c736222010-01-06 20:54:52 +010088 hi default link netrwHidePat Statement
89 hi default link netrwHideSep netrwComment
90 hi default link netrwList Statement
91 hi default link netrwVersion Identifier
92 hi default link netrwSymLink Question
93 hi default link netrwExe PreProc
94 hi default link netrwDateSep Delimiter
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000095
Bram Moolenaar5c736222010-01-06 20:54:52 +010096 hi default link netrwTreeBar Special
97 hi default link netrwTimeSep netrwDateSep
98 hi default link netrwComma netrwComment
99 hi default link netrwHide netrwComment
Bram Moolenaar251e1912011-06-19 05:09:16 +0200100 hi default link netrwMarkFile TabLineSel
Bram Moolenaar8feef4f2015-01-07 16:57:10 +0100101 hi default link netrwLink Special
Bram Moolenaara7241f52008-06-24 20:39:31 +0000102
103 " special syntax highlighting (see :he g:netrw_special_syntax)
Bram Moolenaar5c736222010-01-06 20:54:52 +0100104 hi default link netrwBak NonText
105 hi default link netrwCompress Folded
106 hi default link netrwCoreDump WarningMsg
107 hi default link netrwData DiffChange
Bram Moolenaarff034192013-04-24 18:51:19 +0200108 hi default link netrwHdr netrwPlain
109 hi default link netrwLex netrwPlain
Bram Moolenaar5c736222010-01-06 20:54:52 +0100110 hi default link netrwLib DiffChange
111 hi default link netrwMakefile DiffChange
112 hi default link netrwObj Folded
113 hi default link netrwTilde Folded
114 hi default link netrwTmp Folded
115 hi default link netrwTags Folded
Bram Moolenaarff034192013-04-24 18:51:19 +0200116 hi default link netrwYacc netrwPlain
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000117endif
118
119" Current Syntax: {{{1
120let b:current_syntax = "netrwlist"
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000121" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000122" vim: ts=8 fdm=marker