commit 2456500250fde9152130e5a78f5a7d380cac4a3e
parent 7c0a24033f796dea46910d21fd35d7ff58807e7d
Author: Alex Balgavy <a.balgavy@gmail.com>
Date: Wed, 22 Jan 2020 21:36:27 +0100
vim: syntax files for custom filetypes
Former-commit-id: f3b6c7ff9fc4e1583142bf7635ab6b74e5e33e85
Diffstat:
8 files changed, 286 insertions(+), 74 deletions(-)
diff --git a/dot.map b/dot.map
@@ -110,5 +110,6 @@ vim:
- compiler: ~/.vim/compiler
- ftdetect: ~/.vim/ftdetect
- plugin: ~/.vim/plugin
+- syntax: ~/.vim/syntax
- ultisnips: ~/.vim/ultisnips
- vimrc: ~/.vimrc
diff --git a/vim/colors/jokull.vim b/vim/colors/jokull.vim
@@ -6,37 +6,37 @@ if version > 580
endif
let g:colors_name = "jokull"
set background=light
-hi normal guifg=#2c2625 guibg=#e4e4e4 ctermfg=0 ctermbg=254 cterm=NONE gui=NONE
-hi cursorline guifg=NONE guibg=#d0d0d0 ctermfg=NONE ctermbg=252 cterm=NONE gui=NONE
-hi string guifg=#009051 guibg=NONE ctermfg=29 ctermbg=NONE cterm=italic gui=italic
-hi identifier guifg=#112d4e guibg=NONE ctermfg=17 ctermbg=NONE cterm=NONE gui=NONE
-hi function guifg=#0096ff guibg=NONE ctermfg=33 ctermbg=NONE cterm=bold gui=bold
-hi statement guifg=#0050a0 guibg=NONE ctermfg=25 ctermbg=NONE cterm=NONE gui=NONE
-hi include guifg=#2696bf guibg=NONE ctermfg=31 ctermbg=NONE cterm=bold gui=bold
-hi type guifg=#005493 guibg=NONE ctermfg=24 ctermbg=NONE cterm=NONE gui=NONE
-hi search guifg=NONE guibg=#d7f1e0 ctermfg=NONE ctermbg=194 cterm=NONE gui=NONE
-hi incsearch guifg=NONE guibg=#b7d1b0 ctermfg=NONE ctermbg=151 cterm=bold gui=bold
-hi folded guifg=#236dff guibg=#d0d0d0 ctermfg=27 ctermbg=252 cterm=NONE gui=NONE
-hi tablinefill guifg=NONE guibg=#d0d0d0 ctermfg=NONE ctermbg=252 cterm=NONE gui=NONE
-hi tablinesel guifg=NONE guibg=#e5e5e5 ctermfg=NONE ctermbg=7 cterm=NONE gui=NONE
-hi wildmenu guifg=#005493 guibg=#e5e5e5 ctermfg=24 ctermbg=7 cterm=bold gui=bold
-hi linenr guifg=#9b9b4c guibg=NONE ctermfg=101 ctermbg=NONE cterm=NONE gui=NONE
-hi preproc guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE cterm=NONE gui=NONE
-hi vertsplit guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE cterm=NONE gui=NONE
-hi todo guifg=Blue guibg=Yellow ctermfg=0 ctermbg=0 cterm=NONE gui=NONE
-hi nontext guifg=#81A1C1 guibg=NONE ctermfg=109 ctermbg=NONE cterm=NONE gui=NONE
-hi statusline guifg=NONE guibg=#7abecd ctermfg=NONE ctermbg=110 cterm=NONE gui=NONE
-hi statuslinenc guifg=NONE guibg=#a8dbfd ctermfg=NONE ctermbg=153 cterm=NONE gui=NONE
-hi visual guifg=NONE guibg=#a8caff ctermfg=NONE ctermbg=153 cterm=NONE gui=NONE
-hi title guifg=#225555 guibg=NONE ctermfg=23 ctermbg=NONE cterm=bold gui=bold
-hi matchparen guifg=#d7f1e0 guibg=#a8dbfd ctermfg=194 ctermbg=153 cterm=NONE gui=NONE
-hi qfFileName guifg=#0076ff guibg=NONE ctermfg=33 ctermbg=NONE cterm=NONE gui=NONE
-hi delimiter guifg=#5f5f00 guibg=NONE ctermfg=58 ctermbg=NONE cterm=NONE gui=NONE
-hi comment guifg=#5f5f5f guibg=NONE ctermfg=59 ctermbg=NONE cterm=italic gui=italic
-hi diffadd guifg=NONE guibg=#a5ffa5 ctermfg=NONE ctermbg=157 cterm=NONE gui=NONE
-hi diffdelete guifg=NONE guibg=#ffa5a5 ctermfg=NONE ctermbg=217 cterm=NONE gui=NONE
-hi diffchange guifg=#2c2625 guibg=#c0beff ctermfg=0 ctermbg=147 cterm=NONE gui=NONE
-hi difftext guifg=NONE guibg=#a0aeff ctermfg=NONE ctermbg=147 cterm=bold gui=bold
+hi Normal guifg=#2c2625 guibg=#e4e4e4 ctermfg=0 ctermbg=254 cterm=NONE gui=NONE
+hi Cursorline guifg=NONE guibg=#d0d0d0 ctermfg=NONE ctermbg=252 cterm=NONE gui=NONE
+hi String guifg=#009051 guibg=NONE ctermfg=29 ctermbg=NONE cterm=italic gui=italic
+hi Identifier guifg=#112d4e guibg=NONE ctermfg=17 ctermbg=NONE cterm=NONE gui=NONE
+hi Function guifg=#0096ff guibg=NONE ctermfg=33 ctermbg=NONE cterm=bold gui=bold
+hi Statement guifg=#0050a0 guibg=NONE ctermfg=25 ctermbg=NONE cterm=NONE gui=NONE
+hi Include guifg=#2696bf guibg=NONE ctermfg=31 ctermbg=NONE cterm=bold gui=bold
+hi Type guifg=#005493 guibg=NONE ctermfg=24 ctermbg=NONE cterm=NONE gui=NONE
+hi Search guifg=NONE guibg=#d7f1e0 ctermfg=NONE ctermbg=194 cterm=NONE gui=NONE
+hi Incsearch guifg=NONE guibg=#b7d1b0 ctermfg=NONE ctermbg=151 cterm=bold gui=bold
+hi Folded guifg=#236dff guibg=#d0d0d0 ctermfg=27 ctermbg=252 cterm=NONE gui=NONE
+hi Tablinefill guifg=NONE guibg=#d0d0d0 ctermfg=NONE ctermbg=252 cterm=NONE gui=NONE
+hi Tablinesel guifg=NONE guibg=#e5e5e5 ctermfg=NONE ctermbg=7 cterm=NONE gui=NONE
+hi Wildmenu guifg=#005493 guibg=#e5e5e5 ctermfg=24 ctermbg=7 cterm=bold gui=bold
+hi Linenr guifg=#9b9b4c guibg=NONE ctermfg=101 ctermbg=NONE cterm=NONE gui=NONE
+hi Preproc guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE cterm=NONE gui=NONE
+hi Vertsplit guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE cterm=NONE gui=NONE
+hi Todo guifg=Blue guibg=Yellow ctermfg=0 ctermbg=0 cterm=NONE gui=NONE
+hi Nontext guifg=#81A1C1 guibg=NONE ctermfg=109 ctermbg=NONE cterm=NONE gui=NONE
+hi Statusline guifg=NONE guibg=#7abecd ctermfg=NONE ctermbg=110 cterm=NONE gui=NONE
+hi Statuslinenc guifg=NONE guibg=#a8dbfd ctermfg=NONE ctermbg=153 cterm=NONE gui=NONE
+hi Visual guifg=NONE guibg=#a8caff ctermfg=NONE ctermbg=153 cterm=NONE gui=NONE
+hi Title guifg=#225555 guibg=NONE ctermfg=23 ctermbg=NONE cterm=bold gui=bold
+hi Matchparen guifg=#d7f1e0 guibg=#a8dbfd ctermfg=194 ctermbg=153 cterm=NONE gui=NONE
+hi QfFileName guifg=#0076ff guibg=NONE ctermfg=33 ctermbg=NONE cterm=NONE gui=NONE
+hi Delimiter guifg=#5f5f00 guibg=NONE ctermfg=58 ctermbg=NONE cterm=NONE gui=NONE
+hi Comment guifg=#5f5f5f guibg=NONE ctermfg=59 ctermbg=NONE cterm=italic gui=italic
+hi Diffadd guifg=NONE guibg=#a5ffa5 ctermfg=NONE ctermbg=157 cterm=NONE gui=NONE
+hi Diffdelete guifg=NONE guibg=#ffa5a5 ctermfg=NONE ctermbg=217 cterm=NONE gui=NONE
+hi Diffchange guifg=#2c2625 guibg=#c0beff ctermfg=0 ctermbg=147 cterm=NONE gui=NONE
+hi Difftext guifg=NONE guibg=#a0aeff ctermfg=NONE ctermbg=147 cterm=bold gui=bold
hi! link tabline tablinefill
hi! link repeat statement
hi! link conditional statement
diff --git a/vim/colors/jokull.vimcolor b/vim/colors/jokull.vimcolor
@@ -2,33 +2,33 @@
" to create a colorscheme from something a bit more readable.
" Format is 'group fg_hex, bg_hex. attrs'
background light
-normal #2c2625, #e4e4e4
-cursorline NONE, #d0d0d0
-string #009051. italic
-identifier #112d4e
-function #0096ff. bold
-statement #0050a0
-include #2696bf. bold
-type #005493
-search NONE, #d7f1e0
-incsearch NONE, #b7d1b0. bold
-folded #236dff, #d0d0d0
-tablinefill NONE, #d0d0d0
-tablinesel NONE, #e5e5e5
-wildmenu #005493, #e5e5e5. bold
-linenr #9b9b4c, NONE
-preproc NONE
-vertsplit NONE
-todo Blue, Yellow
-nontext #81A1C1
-statusline NONE, #7abecd
-statuslinenc NONE, #a8dbfd
-visual NONE, #a8caff
-title #225555. bold
-matchparen #d7f1e0, #a8dbfd
-qfFileName #0076ff
-delimiter #5f5f00
-comment #5f5f5f. italic
+Normal #2c2625, #e4e4e4
+Cursorline NONE, #d0d0d0
+String #009051. italic
+Identifier #112d4e
+Function #0096ff. bold
+Statement #0050a0
+Include #2696bf. bold
+Type #005493
+Search NONE, #d7f1e0
+Incsearch NONE, #b7d1b0. bold
+Folded #236dff, #d0d0d0
+Tablinefill NONE, #d0d0d0
+Tablinesel NONE, #e5e5e5
+Wildmenu #005493, #e5e5e5. bold
+Linenr #9b9b4c, NONE
+Preproc NONE
+Vertsplit NONE
+Todo Blue, Yellow
+Nontext #81A1C1
+Statusline NONE, #7abecd
+Statuslinenc NONE, #a8dbfd
+Visual NONE, #a8caff
+Title #225555. bold
+Matchparen #d7f1e0, #a8dbfd
+QfFileName #0076ff
+Delimiter #5f5f00
+Comment #5f5f5f. italic
link tabline tablinefill
link repeat,conditional,operator statement
link define,macro,precondit include
@@ -45,7 +45,7 @@ link mkdlink,vimwikilink type
link pmenu statuslinenc
link pmenusel statusline
-diffadd NONE, #a5ffa5
-diffdelete NONE, #ffa5a5
-diffchange #2c2625, #c0beff
-difftext NONE, #a0aeff. bold
+Diffadd NONE, #a5ffa5
+Diffdelete NONE, #ffa5a5
+Diffchange #2c2625, #c0beff
+Difftext NONE, #a0aeff. bold
diff --git a/vim/colors/junipero.vim b/vim/colors/junipero.vim
@@ -6,11 +6,11 @@ if version > 580
endif
let g:colors_name = "junipero"
set background=dark
-hi normal guifg=#969696 guibg=#11121A ctermfg=246 ctermbg=0 cterm=NONE gui=NONE
-hi cursorline guifg=NONE guibg=#222222 ctermfg=NONE ctermbg=234 cterm=NONE gui=NONE
+hi Normal guifg=#969696 guibg=#11121A ctermfg=246 ctermbg=0 cterm=NONE gui=NONE
+hi Cursorline guifg=NONE guibg=#222222 ctermfg=NONE ctermbg=234 cterm=NONE gui=NONE
hi Structure guifg=#0490e8 guibg=NONE ctermfg=32 ctermbg=NONE cterm=bold gui=bold
hi Constant guifg=#5c78f0 guibg=NONE ctermfg=69 ctermbg=NONE cterm=NONE gui=NONE
-hi String guifg=#2de3e6 guibg=NONE ctermfg=6 ctermbg=NONE cterm=NONE gui=NONE
+hi String guifg=#2de3e6 guibg=NONE ctermfg=6 ctermbg=NONE cterm=italic gui=italic
hi Float guifg=#4580b4 guibg=NONE ctermfg=67 ctermbg=NONE cterm=NONE gui=NONE
hi Boolean guifg=#fca8ad guibg=NONE ctermfg=217 ctermbg=NONE cterm=NONE gui=NONE
hi Identifier guifg=#5094c4 guibg=NONE ctermfg=68 ctermbg=NONE cterm=NONE gui=NONE
@@ -26,7 +26,7 @@ hi PreProc guifg=#ae15eb guibg=NONE ctermfg=5 ctermbg=NONE cterm=NONE gui=NONE
hi Include guifg=#ba75cf guibg=NONE ctermfg=140 ctermbg=NONE cterm=NONE gui=NONE
hi Type guifg=#ff3863 guibg=NONE ctermfg=203 ctermbg=NONE cterm=bold gui=bold
hi Delimiter guifg=#aaaaca guibg=NONE ctermfg=146 ctermbg=NONE cterm=NONE gui=NONE
-hi Comment guifg=#349d58 guibg=#11121a ctermfg=71 ctermbg=0 cterm=NONE gui=NONE
+hi Comment guifg=#349d58 guibg=#11121a ctermfg=71 ctermbg=0 cterm=italic gui=italic
hi NonText guifg=#382920 guibg=#11121a ctermfg=1 ctermbg=0 cterm=NONE gui=NONE
hi Ignore guifg=#666666 guibg=NONE ctermfg=241 ctermbg=NONE cterm=NONE gui=NONE
hi SpecialKey guifg=#90dcb0 guibg=NONE ctermfg=115 ctermbg=NONE cterm=NONE gui=NONE
@@ -80,11 +80,11 @@ hi! link TabLine LineNr
hi! link TabLineFill LineNr
hi! link SignColumn LineNr
hi! link netrwDir LineNr
-hi! link netrwExe Title
+hi! link NetrwExe Title
hi! link SpellBad Todo
hi! link SpelLocal String
hi! link SpellRare String
hi! link SpellCap String
-hi! link mkdLink Type
+hi! link MkdLink Type
hi! link adaBegin Function
hi! link adaEnd Function
diff --git a/vim/colors/junipero.vimcolor b/vim/colors/junipero.vimcolor
@@ -1,9 +1,9 @@
background dark
-normal #969696, #11121A
-cursorline NONE, #222222
+Normal #969696, #11121A
+Cursorline NONE, #222222
Structure #0490e8, NONE. bold
Constant #5c78f0, NONE. NONE
-String #2de3e6, NONE. NONE
+String #2de3e6, NONE. italic
Float #4580b4, NONE. NONE
Boolean #fca8ad, NONE. NONE
Identifier #5094c4, NONE. NONE
@@ -19,7 +19,7 @@ PreProc #ae15eb, NONE. NONE
Include #ba75cf, NONE. NONE
Type #ff3863, NONE. bold
Delimiter #aaaaca, NONE. NONE
-Comment #349d58, #11121a. NONE
+Comment #349d58, #11121a. italic
NonText #382920, #11121a. NONE
Ignore #666666, NONE. NONE
SpecialKey #90dcb0, NONE. NONE
@@ -60,8 +60,8 @@ link ConId,Character,VimwikiLink Constant
link Define,Macro,PreCondit Include
link Debug,Special,SpecialChar,SpecialComment,Tag Delimiter
link StatusLineNC,TabLine,TabLineFill,SignColumn,netrwDir LineNr
-link netrwExe Title
+link NetrwExe Title
link SpellBad Todo
link SpelLocal,SpellRare,SpellCap String
-link mkdLink Type
+link MkdLink Type
link adaBegin,adaEnd Function
diff --git a/vim/syntax/map.vim b/vim/syntax/map.vim
@@ -0,0 +1,26 @@
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" Clear the syntax
+syntax clear
+
+" Define highlighting groups
+syntax region mapComment start="^#" end="$"
+syntax match mapDash "\(^ *\)\@<=-"
+syntax match mapSource "[a-zA-Z0-9_\-./]\+:"
+syntax match mapDest "\(: \)\@<=.\+" "have to use lookbehind here, \zs breaks it
+
+" Perform the actual highlighting
+hi def link mapComment Comment
+hi def link mapSource Statement
+hi def link mapDash Function
+hi def link mapDest String
+
+let b:current_syntax = "map"
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/vim/syntax/netrw.vim b/vim/syntax/netrw.vim
@@ -0,0 +1,146 @@
+" Language : Netrw Listing Syntax
+" Maintainer : Charles E. Campbell
+" Last change: Nov 07, 2019
+" Version : 20
+" ---------------------------------------------------------------------
+if exists("b:current_syntax")
+ finish
+endif
+
+" ---------------------------------------------------------------------
+" Directory List Syntax Highlighting: {{{1
+syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
+syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
+
+syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell
+syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
+syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
+syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
+syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
+else
+syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
+endif
+syn match netrwTreeBarSpace " " contained
+
+syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
+syn match netrwDateSep "/" contained
+syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
+syn match netrwTimeSep ":"
+
+syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
+syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
+syn match netrwSlash "/" contained
+syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
+syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
+syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
+syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
+syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
+syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
+syn match netrwComma "," contained
+syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained
+syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
+syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite
+syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
+syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
+syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
+syn match netrwLink "-->" contained skipwhite
+
+" -----------------------------
+" Special filetype highlighting {{{1
+" -----------------------------
+if exists("g:netrw_special_syntax") && g:netrw_special_syntax
+ if exists("+suffixes") && &suffixes != ""
+ let suflist= join(split(&suffixes,','))
+ let suflist= escape(substitute(suflist," ",'\\|','g'),'.~')
+ exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell"
+ endif
+ syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
+ if has("unix")
+ syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
+ endif
+ syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
+endif
+
+" ---------------------------------------------------------------------
+" Highlighting Links: {{{1
+if !exists("did_drchip_netrwlist_syntax")
+ let did_drchip_netrwlist_syntax= 1
+ hi default link netrwClassify Function
+ hi default link netrwCmdSep Delimiter
+ hi default link netrwComment Comment
+ hi default link netrwDir Directory
+ hi default link netrwHelpCmd Function
+ hi default link netrwQHTopic Number
+ hi default link netrwHidePat Statement
+ hi default link netrwHideSep netrwComment
+ hi default link netrwList Statement
+ hi default link netrwVersion Identifier
+ hi default link netrwSymLink Question
+ hi default link netrwExe PreProc
+ hi default link netrwDateSep Delimiter
+
+ hi default link netrwTreeBar Special
+ hi default link netrwTimeSep netrwDateSep
+ hi default link netrwComma netrwComment
+ hi default link netrwHide netrwComment
+ hi default link netrwMarkFile TabLineSel
+ hi default link netrwLink Special
+
+ " special syntax highlighting (see :he g:netrw_special_syntax)
+ hi default link netrwCoreDump WarningMsg
+ hi default link netrwData DiffChange
+ hi default link netrwHdr netrwPlain
+ hi default link netrwLex netrwPlain
+ hi default link netrwLib DiffChange
+ hi default link netrwMakefile DiffChange
+ hi default link netrwYacc netrwPlain
+ hi default link netrwPix Special
+
+ hi default link netrwBak netrwGray
+ hi default link netrwCompress netrwGray
+ hi default link netrwSpecFile netrwGray
+ hi default link netrwObj netrwGray
+ hi default link netrwTags netrwGray
+ hi default link netrwTilde netrwGray
+ hi default link netrwTmp netrwGray
+endif
+
+ " set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those
+ " can be hard/impossible to read). Users may override this in a colorscheme by
+ " specifying netrwGray highlighting.
+ redir => s:netrwgray
+ sil hi netrwGray
+ redir END
+ if s:netrwgray !~ 'guifg'
+ if has("gui") && has("gui_running")
+ if &bg == "dark"
+ exe "hi netrwGray gui=NONE guifg=gray30"
+ else
+ exe "hi netrwGray gui=NONE guifg=gray70"
+ endif
+ else
+ hi link netrwGray Folded
+ endif
+ endif
+
+" Current Syntax: {{{1
+let b:current_syntax = "netrwlist"
+" ---------------------------------------------------------------------
+" vim: ts=8 fdm=marker
diff --git a/vim/syntax/vimcolor.vim b/vim/syntax/vimcolor.vim
@@ -0,0 +1,39 @@
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" Clear the syntax
+syntax clear
+
+" Define highlighting groups
+syntax keyword vimcolorKeyword background
+syntax keyword vimcolorNone NONE
+syntax keyword vimcolorAttrs italic bold dark light
+syntax match vimcolorGroup "[A-Z][^ ]*"
+syntax match vimcolorColor "#[0-9a-fA-F]\+"
+syntax match vimcolorDelims "[,.]" containedin=vimcolorLinkSource
+syntax match vimcolorLinkLine "^link .*$" contains=vimcolorLink,vimcolorLinkSource,vimcolorLinkDest
+syntax keyword vimcolorLink contained link
+syntax match vimcolorLinkSource "\(link \)\@<=[a-zA-Z,]\+" contained
+syntax match vimcolorLinkDest "[a-zA-Z]\+$" contained
+syntax region vimcolorComment start=/^"/ end="$"
+
+" Perform the actual highlighting
+hi def link vimcolorKeyword Keyword
+hi def link vimcolorGroup Statement
+hi def link vimcolorLinkSource Statement
+hi def link vimcolorColor Constant
+hi def link vimcolorNone Include
+hi def link vimcolorDelims Delimiter
+hi def link vimcolorAttrs Type
+hi def link vimcolorLink Operator
+hi def link vimcolorLinkDest Identifier
+hi def link vimcolorComment Comment
+
+let b:current_syntax = "vimcolor"
+let &cpo = s:cpo_save
+unlet s:cpo_save