blob: 62dab3feb60d9406899c20240109fc0e5e1c3a3a [file] [log] [blame]
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001" Language : Netrw Remote-Directory Listing Syntax
2" Maintainer : Charles E. Campbell, Jr.
Bram Moolenaara7241f52008-06-24 20:39:31 +00003" Last change: Feb 06, 2008
4" Version : 12
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 Moolenaara7241f52008-06-24 20:39:31 +000019syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify
20syn match netrwDir "\.\{1,2}/" contains=netrwClassify
21syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify
22syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" contains=netrwDateSep skipwhite nextgroup=netrwTime
23syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify
24syn match netrwExe "\%(\S\+ \)*\S\+\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify
25syn match netrwTreeBar "^\%(| \)*" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
26syn match netrwTreeBarSpace " " contained
Bram Moolenaar578b49e2005-09-10 19:22:57 +000027
28syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
Bram Moolenaar9964e462007-05-05 17:54:07 +000029syn match netrwDateSep "/" contained
Bram Moolenaara7241f52008-06-24 20:39:31 +000030syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
Bram Moolenaar9964e462007-05-05 17:54:07 +000031syn match netrwTimeSep ":"
Bram Moolenaar578b49e2005-09-10 19:22:57 +000032
Bram Moolenaara7241f52008-06-24 20:39:31 +000033syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup
Bram Moolenaar578b49e2005-09-10 19:22:57 +000034syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite nextgroup=netrwHidePat
35syn match netrwSlash "/" contained
36syn match netrwHidePat "[^,]\+" contained skipwhite nextgroup=netrwHideSep
37syn match netrwHideSep "," contained transparent skipwhite nextgroup=netrwHidePat
38syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
39syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
Bram Moolenaara7241f52008-06-24 20:39:31 +000040syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
41syn match netrwList ".*$" contained contains=netrwComma
Bram Moolenaar578b49e2005-09-10 19:22:57 +000042syn match netrwComma "," contained
Bram Moolenaara7241f52008-06-24 20:39:31 +000043syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd keepend contained
Bram Moolenaar578b49e2005-09-10 19:22:57 +000044syn match netrwHelpCmd "\S\ze:" contained skipwhite nextgroup=netrwCmdSep
45syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
46syn match netrwCmdNote ".\{-}\ze " contained
47syn match netrwVersion "(netrw.*)" contained
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000048
Bram Moolenaara7241f52008-06-24 20:39:31 +000049" -----------------------------
50" Special filetype highlighting {{{1
51" -----------------------------
52if exists("g:netrw_special_syntax") && netrw_special_syntax
53 syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar
54 syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar
55 syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar
56 syn match netrwHdr "\(\S\+ \)*\S\+\.h\>" contains=netrwTreeBar
57 syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar
58 syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar
59 syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar
60 syn match netrwTags "\<tags\>" contains=netrwTreeBar
61 syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar
62 syn match netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar
63 syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar
64endif
65
Bram Moolenaard4755bb2004-09-02 19:12:26 +000066" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000067" Highlighting Links: {{{1
Bram Moolenaara7241f52008-06-24 20:39:31 +000068if !exists("did_drchip_netrwlist_syntax")
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000069 let did_drchip_netrwlist_syntax= 1
Bram Moolenaar843ee412004-06-30 16:16:41 +000070 hi link netrwClassify Function
Bram Moolenaard4755bb2004-09-02 19:12:26 +000071 hi link netrwCmdSep Delimiter
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000072 hi link netrwComment Comment
73 hi link netrwDir Directory
Bram Moolenaard4755bb2004-09-02 19:12:26 +000074 hi link netrwHelpCmd Function
75 hi link netrwHidePat Statement
76 hi link netrwList Statement
77 hi link netrwVersion Identifier
Bram Moolenaara7241f52008-06-24 20:39:31 +000078 hi link netrwSymLink Question
Bram Moolenaar578b49e2005-09-10 19:22:57 +000079 hi link netrwExe PreProc
Bram Moolenaar9964e462007-05-05 17:54:07 +000080 hi link netrwDateSep Delimiter
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000081
Bram Moolenaara7241f52008-06-24 20:39:31 +000082 hi link netrwTreeBar Special
Bram Moolenaar9964e462007-05-05 17:54:07 +000083 hi link netrwTimeSep netrwDateSep
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000084 hi link netrwComma netrwComment
85 hi link netrwHide netrwComment
Bram Moolenaara7241f52008-06-24 20:39:31 +000086 hi link netrwMarkFile Identifier
87
88 " special syntax highlighting (see :he g:netrw_special_syntax)
89 hi link netrwBak NonText
90 hi link netrwCompress Folded
91 hi link netrwData DiffChange
92 hi link netrwLib DiffChange
93 hi link netrwMakefile DiffChange
94 hi link netrwObj Folded
95 hi link netrwTilde Folded
96 hi link netrwTmp Folded
97 hi link netrwTags Folded
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000098endif
99
100" Current Syntax: {{{1
101let b:current_syntax = "netrwlist"
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000102" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000103" vim: ts=8 fdm=marker