blob: f049c5ba461f17dc1079d65ba743311f44b67bb0 [file] [log] [blame]
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001" Language : Netrw Remote-Directory Listing Syntax
2" Maintainer : Charles E. Campbell, Jr.
Bram Moolenaarff034192013-04-24 18:51:19 +02003" Last change: Dec 18, 2012
4" Version : 17
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
Bram Moolenaar8d043172014-01-23 14:24:41 +010022"syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
23syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010024syn 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
Bram Moolenaar15146672011-10-20 22:22:38 +020026syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
Bram Moolenaar8d043172014-01-23 14:24:41 +010027syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
Bram Moolenaar5c736222010-01-06 20:54:52 +010028syn match netrwTreeBarSpace " " contained
Bram Moolenaar578b49e2005-09-10 19:22:57 +000029
Bram Moolenaar5c736222010-01-06 20:54:52 +010030syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
31syn match netrwDateSep "/" contained
32syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
Bram Moolenaar9964e462007-05-05 17:54:07 +000033syn match netrwTimeSep ":"
Bram Moolenaar578b49e2005-09-10 19:22:57 +000034
Bram Moolenaar5c736222010-01-06 20:54:52 +010035syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
36syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
Bram Moolenaar578b49e2005-09-10 19:22:57 +000037syn match netrwSlash "/" contained
Bram Moolenaar5c736222010-01-06 20:54:52 +010038syn 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
Bram Moolenaar578b49e2005-09-10 19:22:57 +000044syn match netrwComma "," contained
Bram Moolenaar5c736222010-01-06 20:54:52 +010045syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,@NoSpell keepend contained
46syn match netrwHelpCmd "\S\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
Bram Moolenaar578b49e2005-09-10 19:22:57 +000047syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
Bram Moolenaar5c736222010-01-06 20:54:52 +010048syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
49syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000050
Bram Moolenaara7241f52008-06-24 20:39:31 +000051" -----------------------------
52" Special filetype highlighting {{{1
53" -----------------------------
54if exists("g:netrw_special_syntax") && netrw_special_syntax
Bram Moolenaar5c736222010-01-06 20:54:52 +010055 syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
56 syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
57 if has("unix")
58 syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
59 endif
Bram Moolenaarff034192013-04-24 18:51:19 +020060 syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
61 syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010062 syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaarff034192013-04-24 18:51:19 +020063 syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell
64 syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010065 syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
66 syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
67 syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010068 syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaarff034192013-04-24 18:51:19 +020069 syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar15146672011-10-20 22:22:38 +020070 syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010071 syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaara7241f52008-06-24 20:39:31 +000072endif
73
Bram Moolenaard4755bb2004-09-02 19:12:26 +000074" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000075" Highlighting Links: {{{1
Bram Moolenaara7241f52008-06-24 20:39:31 +000076if !exists("did_drchip_netrwlist_syntax")
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000077 let did_drchip_netrwlist_syntax= 1
Bram Moolenaar5c736222010-01-06 20:54:52 +010078 hi default link netrwClassify Function
79 hi default link netrwCmdSep Delimiter
80 hi default link netrwComment Comment
81 hi default link netrwDir Directory
82 hi default link netrwHelpCmd Function
83 hi default link netrwHidePat Statement
84 hi default link netrwHideSep netrwComment
85 hi default link netrwList Statement
86 hi default link netrwVersion Identifier
87 hi default link netrwSymLink Question
88 hi default link netrwExe PreProc
89 hi default link netrwDateSep Delimiter
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000090
Bram Moolenaar5c736222010-01-06 20:54:52 +010091 hi default link netrwTreeBar Special
92 hi default link netrwTimeSep netrwDateSep
93 hi default link netrwComma netrwComment
94 hi default link netrwHide netrwComment
Bram Moolenaar251e1912011-06-19 05:09:16 +020095 hi default link netrwMarkFile TabLineSel
Bram Moolenaara7241f52008-06-24 20:39:31 +000096
97 " special syntax highlighting (see :he g:netrw_special_syntax)
Bram Moolenaar5c736222010-01-06 20:54:52 +010098 hi default link netrwBak NonText
99 hi default link netrwCompress Folded
100 hi default link netrwCoreDump WarningMsg
101 hi default link netrwData DiffChange
Bram Moolenaarff034192013-04-24 18:51:19 +0200102 hi default link netrwHdr netrwPlain
103 hi default link netrwLex netrwPlain
Bram Moolenaar5c736222010-01-06 20:54:52 +0100104 hi default link netrwLib DiffChange
105 hi default link netrwMakefile DiffChange
106 hi default link netrwObj Folded
107 hi default link netrwTilde Folded
108 hi default link netrwTmp Folded
109 hi default link netrwTags Folded
Bram Moolenaarff034192013-04-24 18:51:19 +0200110 hi default link netrwYacc netrwPlain
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000111endif
112
113" Current Syntax: {{{1
114let b:current_syntax = "netrwlist"
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000115" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000116" vim: ts=8 fdm=marker