blob: 980fe5dde5e3031db79f307c978107fb8845a2cd [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 +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 Moolenaar8feef4f2015-01-07 16:57:10 +010027if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
Bram Moolenaar8d043172014-01-23 14:24:41 +010028syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010029else
30syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
31endif
Bram Moolenaar5c736222010-01-06 20:54:52 +010032syn match netrwTreeBarSpace " " contained
Bram Moolenaar578b49e2005-09-10 19:22:57 +000033
Bram Moolenaar5c736222010-01-06 20:54:52 +010034syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
35syn match netrwDateSep "/" contained
36syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
Bram Moolenaar9964e462007-05-05 17:54:07 +000037syn match netrwTimeSep ":"
Bram Moolenaar578b49e2005-09-10 19:22:57 +000038
Bram Moolenaar5c736222010-01-06 20:54:52 +010039syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
40syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
Bram Moolenaar578b49e2005-09-10 19:22:57 +000041syn match netrwSlash "/" contained
Bram Moolenaar5c736222010-01-06 20:54:52 +010042syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
43syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
44syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
45syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
46syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
47syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
Bram Moolenaar578b49e2005-09-10 19:22:57 +000048syn match netrwComma "," contained
Bram Moolenaara6878372014-03-22 21:02:50 +010049syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained
50syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010051syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite
Bram Moolenaar578b49e2005-09-10 19:22:57 +000052syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
Bram Moolenaar5c736222010-01-06 20:54:52 +010053syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
54syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
Bram Moolenaar8feef4f2015-01-07 16:57:10 +010055syn match netrwLink "-->" contained skipwhite
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000056
Bram Moolenaara7241f52008-06-24 20:39:31 +000057" -----------------------------
58" Special filetype highlighting {{{1
59" -----------------------------
60if exists("g:netrw_special_syntax") && netrw_special_syntax
Bram Moolenaar5c736222010-01-06 20:54:52 +010061 syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
62 syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
63 if has("unix")
64 syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
65 endif
Bram Moolenaarff034192013-04-24 18:51:19 +020066 syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
67 syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010068 syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaarff034192013-04-24 18:51:19 +020069 syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell
70 syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010071 syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
72 syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
73 syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010074 syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaarff034192013-04-24 18:51:19 +020075 syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar15146672011-10-20 22:22:38 +020076 syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaar5c736222010-01-06 20:54:52 +010077 syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
Bram Moolenaara7241f52008-06-24 20:39:31 +000078endif
79
Bram Moolenaard4755bb2004-09-02 19:12:26 +000080" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000081" Highlighting Links: {{{1
Bram Moolenaara7241f52008-06-24 20:39:31 +000082if !exists("did_drchip_netrwlist_syntax")
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000083 let did_drchip_netrwlist_syntax= 1
Bram Moolenaar5c736222010-01-06 20:54:52 +010084 hi default link netrwClassify Function
85 hi default link netrwCmdSep Delimiter
86 hi default link netrwComment Comment
87 hi default link netrwDir Directory
88 hi default link netrwHelpCmd Function
Bram Moolenaara6878372014-03-22 21:02:50 +010089 hi default link netrwQHTopic Number
Bram Moolenaar5c736222010-01-06 20:54:52 +010090 hi default link netrwHidePat Statement
91 hi default link netrwHideSep netrwComment
92 hi default link netrwList Statement
93 hi default link netrwVersion Identifier
94 hi default link netrwSymLink Question
95 hi default link netrwExe PreProc
96 hi default link netrwDateSep Delimiter
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000097
Bram Moolenaar5c736222010-01-06 20:54:52 +010098 hi default link netrwTreeBar Special
99 hi default link netrwTimeSep netrwDateSep
100 hi default link netrwComma netrwComment
101 hi default link netrwHide netrwComment
Bram Moolenaar251e1912011-06-19 05:09:16 +0200102 hi default link netrwMarkFile TabLineSel
Bram Moolenaar8feef4f2015-01-07 16:57:10 +0100103 hi default link netrwLink Special
Bram Moolenaara7241f52008-06-24 20:39:31 +0000104
105 " special syntax highlighting (see :he g:netrw_special_syntax)
Bram Moolenaar5c736222010-01-06 20:54:52 +0100106 hi default link netrwBak NonText
107 hi default link netrwCompress Folded
108 hi default link netrwCoreDump WarningMsg
109 hi default link netrwData DiffChange
Bram Moolenaarff034192013-04-24 18:51:19 +0200110 hi default link netrwHdr netrwPlain
111 hi default link netrwLex netrwPlain
Bram Moolenaar5c736222010-01-06 20:54:52 +0100112 hi default link netrwLib DiffChange
113 hi default link netrwMakefile DiffChange
114 hi default link netrwObj Folded
115 hi default link netrwTilde Folded
116 hi default link netrwTmp Folded
117 hi default link netrwTags Folded
Bram Moolenaarff034192013-04-24 18:51:19 +0200118 hi default link netrwYacc netrwPlain
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000119endif
120
121" Current Syntax: {{{1
122let b:current_syntax = "netrwlist"
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000123" ---------------------------------------------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000124" vim: ts=8 fdm=marker