blob: 718cee1429cf85a99ac1677d43770008addc83bb [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
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 Moolenaar8feef4f2015-01-07 16:57:10 +010019syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010020syn 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 +010022syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010023syn 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
Bram Moolenaar15146672011-10-20 22:22:38 +020025syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010026if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
Bram Moolenaar8d043172014-01-23 14:24:41 +010027syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010028else
29syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
30endif
Bram Moolenaar5c736222010-01-06 20:54:52 +010031syn match netrwTreeBarSpace " " contained
Bram Moolenaar578b49e2005-09-10 19:22:57 +000032
Bram Moolenaar5c736222010-01-06 20:54:52 +010033syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
34syn match netrwDateSep "/" contained
35syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
Bram Moolenaar9964e462007-05-05 17:54:07 +000036syn match netrwTimeSep ":"
Bram Moolenaar578b49e2005-09-10 19:22:57 +000037
Bram Moolenaar5c736222010-01-06 20:54:52 +010038syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
39syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
Bram Moolenaar578b49e2005-09-10 19:22:57 +000040syn match netrwSlash "/" contained
Bram Moolenaar5c736222010-01-06 20:54:52 +010041syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
42syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
43syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
44syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
45syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
46syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
Bram Moolenaar578b49e2005-09-10 19:22:57 +000047syn match netrwComma "," contained
Bram Moolenaara6878372014-03-22 21:02:50 +010048syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained
49syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010050syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite
Bram Moolenaar578b49e2005-09-10 19:22:57 +000051syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
Bram Moolenaar5c736222010-01-06 20:54:52 +010052syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
53syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010054syn match netrwLink "-->" contained skipwhite
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000055
Bram Moolenaara7241f52008-06-24 20:39:31 +000056" -----------------------------
57" Special filetype highlighting {{{1
58" -----------------------------
59if exists("g:netrw_special_syntax") && netrw_special_syntax
Bram Moolenaar5c736222010-01-06 20:54:52 +010060 syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
61 syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
62 if has("unix")
63 syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
64 endif
Bram Moolenaarff034192013-04-24 18:51:19 +020065 syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
66 syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010067 syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaarff034192013-04-24 18:51:19 +020068 syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell
69 syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010070 syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
71 syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
72 syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010073 syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaarff034192013-04-24 18:51:19 +020074 syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar15146672011-10-20 22:22:38 +020075 syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010076 syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaara7241f52008-06-24 20:39:31 +000077endif
78
Bram Moolenaard4755bb2004-09-02 19:12:26 +000079" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000080" Highlighting Links: {{{1
Bram Moolenaara7241f52008-06-24 20:39:31 +000081if !exists("did_drchip_netrwlist_syntax")
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000082 let did_drchip_netrwlist_syntax= 1
Bram Moolenaar5c736222010-01-06 20:54:52 +010083 hi default link netrwClassify Function
84 hi default link netrwCmdSep Delimiter
85 hi default link netrwComment Comment
86 hi default link netrwDir Directory
87 hi default link netrwHelpCmd Function
Bram Moolenaara6878372014-03-22 21:02:50 +010088 hi default link netrwQHTopic Number
Bram Moolenaar5c736222010-01-06 20:54:52 +010089 hi default link netrwHidePat Statement
90 hi default link netrwHideSep netrwComment
91 hi default link netrwList Statement
92 hi default link netrwVersion Identifier
93 hi default link netrwSymLink Question
94 hi default link netrwExe PreProc
95 hi default link netrwDateSep Delimiter
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000096
Bram Moolenaar5c736222010-01-06 20:54:52 +010097 hi default link netrwTreeBar Special
98 hi default link netrwTimeSep netrwDateSep
99 hi default link netrwComma netrwComment
100 hi default link netrwHide netrwComment
Bram Moolenaar251e1912011-06-19 05:09:16 +0200101 hi default link netrwMarkFile TabLineSel
Bram Moolenaar8feef4f2015-01-07 16:57:10 +0100102 hi default link netrwLink Special
Bram Moolenaara7241f52008-06-24 20:39:31 +0000103
104 " special syntax highlighting (see :he g:netrw_special_syntax)
Bram Moolenaar5c736222010-01-06 20:54:52 +0100105 hi default link netrwBak NonText
106 hi default link netrwCompress Folded
107 hi default link netrwCoreDump WarningMsg
108 hi default link netrwData DiffChange
Bram Moolenaarff034192013-04-24 18:51:19 +0200109 hi default link netrwHdr netrwPlain
110 hi default link netrwLex netrwPlain
Bram Moolenaar5c736222010-01-06 20:54:52 +0100111 hi default link netrwLib DiffChange
112 hi default link netrwMakefile DiffChange
113 hi default link netrwObj Folded
114 hi default link netrwTilde Folded
115 hi default link netrwTmp Folded
116 hi default link netrwTags Folded
Bram Moolenaarff034192013-04-24 18:51:19 +0200117 hi default link netrwYacc netrwPlain
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000118endif
119
120" Current Syntax: {{{1
121let b:current_syntax = "netrwlist"
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000122" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000123" vim: ts=8 fdm=marker