blob: f6fd66c224d043285bb92a97e47c89625d178fb1 [file] [log] [blame]
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001" Language : Netrw Remote-Directory Listing Syntax
2" Maintainer : Charles E. Campbell, Jr.
Bram Moolenaar5c736222010-01-06 20:54:52 +01003" Last change: Jan 14, 2009
4" Version : 16
Bram Moolenaard4755bb2004-09-02 19:12:26 +00005" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00006
7" Syntax Clearing: {{{1
8if version < 600
9 syntax clear
10elseif exists("b:current_syntax")
11 finish
12endif
13
Bram Moolenaard4755bb2004-09-02 19:12:26 +000014" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000015" Directory List Syntax Highlighting: {{{1
Bram Moolenaara7241f52008-06-24 20:39:31 +000016syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
17syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
Bram Moolenaar578b49e2005-09-10 19:22:57 +000018
Bram Moolenaar5c736222010-01-06 20:54:52 +010019syn 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
22syn match netrwDir "\%(\S\+ \)*\S\+/" 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
26syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
27syn match netrwTreeBarSpace " " contained
Bram Moolenaar578b49e2005-09-10 19:22:57 +000028
Bram Moolenaar5c736222010-01-06 20:54:52 +010029syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
30syn match netrwDateSep "/" contained
31syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
Bram Moolenaar9964e462007-05-05 17:54:07 +000032syn match netrwTimeSep ":"
Bram Moolenaar578b49e2005-09-10 19:22:57 +000033
Bram Moolenaar5c736222010-01-06 20:54:52 +010034syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
35syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
Bram Moolenaar578b49e2005-09-10 19:22:57 +000036syn match netrwSlash "/" contained
Bram Moolenaar5c736222010-01-06 20:54:52 +010037syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
38syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
39syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
40syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
41syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
42syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
Bram Moolenaar578b49e2005-09-10 19:22:57 +000043syn match netrwComma "," contained
Bram Moolenaar5c736222010-01-06 20:54:52 +010044syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,@NoSpell keepend contained
45syn match netrwHelpCmd "\S\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
Bram Moolenaar578b49e2005-09-10 19:22:57 +000046syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
Bram Moolenaar5c736222010-01-06 20:54:52 +010047syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
48syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000049
Bram Moolenaara7241f52008-06-24 20:39:31 +000050" -----------------------------
51" Special filetype highlighting {{{1
52" -----------------------------
53if exists("g:netrw_special_syntax") && netrw_special_syntax
Bram Moolenaar5c736222010-01-06 20:54:52 +010054 syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
55 syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
56 if has("unix")
57 syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
58 endif
59 syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
60 syn match netrwHdr "\(\S\+ \)*\S\+\.h\>" contains=netrwTreeBar,@NoSpell
61 syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
62 syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
63 syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
64 syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
65 syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
66 syn match netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar,@NoSpell
67 syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaara7241f52008-06-24 20:39:31 +000068endif
69
Bram Moolenaard4755bb2004-09-02 19:12:26 +000070" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000071" Highlighting Links: {{{1
Bram Moolenaara7241f52008-06-24 20:39:31 +000072if !exists("did_drchip_netrwlist_syntax")
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000073 let did_drchip_netrwlist_syntax= 1
Bram Moolenaar5c736222010-01-06 20:54:52 +010074 hi default link netrwClassify Function
75 hi default link netrwCmdSep Delimiter
76 hi default link netrwComment Comment
77 hi default link netrwDir Directory
78 hi default link netrwHelpCmd Function
79 hi default link netrwHidePat Statement
80 hi default link netrwHideSep netrwComment
81 hi default link netrwList Statement
82 hi default link netrwVersion Identifier
83 hi default link netrwSymLink Question
84 hi default link netrwExe PreProc
85 hi default link netrwDateSep Delimiter
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000086
Bram Moolenaar5c736222010-01-06 20:54:52 +010087 hi default link netrwTreeBar Special
88 hi default link netrwTimeSep netrwDateSep
89 hi default link netrwComma netrwComment
90 hi default link netrwHide netrwComment
91 hi default link netrwMarkFile Identifier
Bram Moolenaara7241f52008-06-24 20:39:31 +000092
93 " special syntax highlighting (see :he g:netrw_special_syntax)
Bram Moolenaar5c736222010-01-06 20:54:52 +010094 hi default link netrwBak NonText
95 hi default link netrwCompress Folded
96 hi default link netrwCoreDump WarningMsg
97 hi default link netrwData DiffChange
98 hi default link netrwLib DiffChange
99 hi default link netrwMakefile DiffChange
100 hi default link netrwObj Folded
101 hi default link netrwTilde Folded
102 hi default link netrwTmp Folded
103 hi default link netrwTags Folded
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000104endif
105
106" Current Syntax: {{{1
107let b:current_syntax = "netrwlist"
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000108" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000109" vim: ts=8 fdm=marker