Skip to content
Browse files

Initial commit.

  • Loading branch information...
0 parents commit 7c28fb15b61f44b11310c997e8c3f5c2babda5ad @jgm committed
Showing with 14,175 additions and 0 deletions.
  1. +4 −0 .VimballRecord
  2. +5 −0 abbrevs.vim
  3. +35 −0 after/plugin/snipMate.vim
  4. +155 −0 autoload/haskellmode.vim
  5. +433 −0 autoload/snipMate.vim
  6. +170 −0 autoload/utl_lib.vim
  7. +16 −0 colors/Blue2.vim
  8. +99 −0 colors/billw.vim
  9. +85 −0 colors/biogoo.vim
  10. +115 −0 colors/black_angus.vim
  11. +42 −0 colors/blugrine.vim
  12. +117 −0 colors/darkslategray.vim
  13. +65 −0 colors/dawn.vim
  14. +338 −0 colors/desert256.vim
  15. +69 −0 colors/fruit.vim
  16. +212 −0 colors/inkpot.vim
  17. +188 −0 colors/kib_plastic.vim
  18. +57 −0 colors/lightblue.vim
  19. +86 −0 colors/midnight2.vim
  20. +41 −0 colors/murphy.vim
  21. +74 −0 colors/nightflight.vim
  22. +62 −0 colors/professional.vim
  23. +69 −0 colors/sea.vim
  24. +45 −0 colors/softblue.vim
  25. +67 −0 colors/vibrantink.vim
  26. +299 −0 colors/zenburn.vim
  27. +479 −0 compiler/ghc.vim
  28. +62 −0 dict/english.vim
  29. +47 −0 dict/english_dialects.vim
  30. +48 −0 dict/english_special.vim
  31. +34 −0 dict/english_user.vim
  32. +1,222 −0 doc/NERD_tree.txt
  33. +38 −0 doc/haskell.txt
  34. +456 −0 doc/haskellmode.txt
  35. +116 −0 doc/imaps.txt
  36. +2,430 −0 doc/latexhelp.txt
  37. +774 −0 doc/morevimtips.txt
  38. +204 −0 doc/potwiki.txt
  39. +286 −0 doc/snipMate.txt
  40. +269 −0 doc/spellchecker.txt
  41. +1,225 −0 doc/tags
  42. +2,194 −0 doc/utl_usr.txt
  43. +12 −0 filetype.vim
  44. +3 −0 ftplugin/bib.vim
  45. +14 −0 ftplugin/haskell.vim
  46. +837 −0 ftplugin/haskell_doc.vim
  47. +79 −0 ftplugin/haskell_hpaste.vim
  48. +10 −0 ftplugin/html_snip_helper.vim
  49. +8 −0 ftplugin/tex.vim
  50. +6 −0 ftplugin/todo.vim
  51. +139 −0 indent/tex.vim
  52. +41 −0 nerdtree_plugin/exec_menuitem.vim
  53. +194 −0 nerdtree_plugin/fs_menu.vim
Sorry, we could not display the entire diff because it was too big.
4 .VimballRecord
@@ -0,0 +1,4 @@
+haskellmode-20090407.vba: call delete('/home/jgm/.vim/compiler/ghc.vim')|call delete('/home/jgm/.vim/ftplugin/haskell.vim')|call delete('/home/jgm/.vim/ftplugin/haskell_doc.vim')|call delete('/home/jgm/.vim/ftplugin/haskell_hpaste.vim')|call delete('/home/jgm/.vim/doc/haskellmode.txt')
+Viki.vba: call delete('/home/jgm/.vim/autoload/viki.vim')|call delete('/home/jgm/.vim/autoload/viki_anyword.vim')|call delete('/home/jgm/.vim/autoload/viki_latex.vim')|call delete('/home/jgm/.vim/autoload/viki_viki.vim')|call delete('/home/jgm/.vim/compiler/deplate.vim')|call delete('/home/jgm/.vim/doc/viki.txt')|call delete('/home/jgm/.vim/ftplugin/bib/viki.vim')|call delete('/home/jgm/.vim/ftplugin/viki.vim')|call delete('/home/jgm/.vim/indent/viki.vim')|call delete('/home/jgm/.vim/plugin/viki.vim')|call delete('/home/jgm/.vim/syntax/viki.vim')|call delete('/home/jgm/.vim/syntax/texmath.vim')
+haskellmode-20090430.vba: call delete('/home/jgm/.vim/compiler/ghc.vim')|call delete('/home/jgm/.vim/ftplugin/haskell.vim')|call delete('/home/jgm/.vim/ftplugin/haskell_doc.vim')|call delete('/home/jgm/.vim/ftplugin/haskell_hpaste.vim')|call delete('/home/jgm/.vim/autoload/haskellmode.vim')|call delete('/home/jgm/.vim/doc/haskellmode.txt')
+utl_3_0a.vba: call delete('/Users/jgm/.vim/doc/utl_usr.txt')|call delete('/Users/jgm/.vim/autoload/utl_lib.vim')|call delete('/Users/jgm/.vim/plugin/utl.vim')|call delete('/Users/jgm/.vim/plugin/utl_rc.vim')|call delete('/Users/jgm/.vim/plugin/utl_scm.vim')|call delete('/Users/jgm/.vim/plugin/utl_uri.vim')
5 abbrevs.vim
@@ -0,0 +1,5 @@
+iab teh the
+iab prop proposition
+iab bc because
+iab wrt with respect to
+
35 after/plugin/snipMate.vim
@@ -0,0 +1,35 @@
+" These are the mappings for snipMate.vim. Putting it here ensures that it
+" will be mapped after other plugins such as supertab.vim.
+if !exists('loaded_snips') || exists('s:did_snips_mappings')
+ finish
+endif
+let s:did_snips_mappings = 1
+
+ino <silent> <tab> <c-r>=TriggerSnippet()<cr>
+snor <silent> <tab> <esc>i<right><c-r>=TriggerSnippet()<cr>
+ino <silent> <s-tab> <c-r>=BackwardsSnippet()<cr>
+snor <silent> <s-tab> <esc>i<right><c-r>=BackwardsSnippet()<cr>
+ino <silent> <c-r><tab> <c-r>=ShowAvailableSnips()<cr>
+
+" The default mappings for these are annoying & sometimes break snipMate.
+" You can change them back if you want, I've put them here for convenience.
+snor <bs> b<bs>
+snor <right> <esc>a
+snor <left> <esc>bi
+snor ' b<bs>'
+snor ` b<bs>`
+snor % b<bs>%
+snor U b<bs>U
+snor ^ b<bs>^
+snor \ b<bs>\
+snor <c-x> b<bs><c-x>
+
+" By default load snippets in snippets_dir
+if empty(snippets_dir)
+ finish
+endif
+
+call GetSnippets(snippets_dir, '_') " Get global snippets
+
+au FileType * if &ft != 'help' | call GetSnippets(snippets_dir, &ft) | endif
+" vim:noet:sw=4:ts=4:ft=vim
155 autoload/haskellmode.vim
@@ -0,0 +1,155 @@
+"
+" utility functions for haskellmode plugins
+"
+" (Claus Reinke; last modified: 23/04/2009)
+"
+" part of haskell plugins: http://projects.haskell.org/haskellmode-vim
+" please send patches to <claus.reinke@talk21.com>
+
+
+
+" find start/extent of name/symbol under cursor;
+" return start, symbolic flag, qualifier, unqualified id
+" (this is used in both haskell_doc.vim and in GHC.vim)
+function! haskellmode#GetNameSymbol(line,col,off)
+ let name = "[a-zA-Z0-9_']"
+ let symbol = "[-!#$%&\*\+/<=>\?@\\^|~:.]"
+ "let [line] = getbufline(a:buf,a:lnum)
+ let line = a:line
+
+ " find the beginning of unqualified id or qualified id component
+ let start = (a:col - 1) + a:off
+ if line[start] =~ name
+ let pattern = name
+ elseif line[start] =~ symbol
+ let pattern = symbol
+ else
+ return []
+ endif
+ while start > 0 && line[start - 1] =~ pattern
+ let start -= 1
+ endwhile
+ let id = matchstr(line[start :],pattern.'*')
+ " call confirm(id)
+
+ " expand id to left and right, to get full id
+ let idPos = id[0] == '.' ? start+2 : start+1
+ let posA = match(line,'\<\(\([A-Z]'.name.'*\.\)\+\)\%'.idPos.'c')
+ let start = posA>-1 ? posA+1 : idPos
+ let posB = matchend(line,'\%'.idPos.'c\(\([A-Z]'.name.'*\.\)*\)\('.name.'\+\|'.symbol.'\+\)')
+ let end = posB>-1 ? posB : idPos
+
+ " special case: symbolic ids starting with .
+ if id[0]=='.' && posA==-1
+ let start = idPos-1
+ let end = posB==-1 ? start : end
+ endif
+
+ " classify full id and split into qualifier and unqualified id
+ let fullid = line[ (start>1 ? start-1 : 0) : (end-1) ]
+ let symbolic = fullid[-1:-1] =~ symbol " might also be incomplete qualified id ending in .
+ let qualPos = matchend(fullid, '\([A-Z]'.name.'*\.\)\+')
+ let qualifier = qualPos>-1 ? fullid[ 0 : (qualPos-2) ] : ''
+ let unqualId = qualPos>-1 ? fullid[ qualPos : -1 ] : fullid
+ " call confirm(start.'/'.end.'['.symbolic.']:'.qualifier.' '.unqualId)
+
+ return [start,symbolic,qualifier,unqualId]
+endfunction
+
+function! haskellmode#GatherImports()
+ let imports={0:{},1:{}}
+ let i=1
+ while i<=line('$')
+ let res = haskellmode#GatherImport(i)
+ if !empty(res)
+ let [i,import] = res
+ let prefixPat = '^import\s*\(qualified\)\?\s\+'
+ let modulePat = '\([A-Z][a-zA-Z0-9_''.]*\)'
+ let asPat = '\(\s\+as\s\+'.modulePat.'\)\?'
+ let hidingPat = '\(\s\+hiding\s*\((.*)\)\)\?'
+ let listPat = '\(\s*\((.*)\)\)\?'
+ let importPat = prefixPat.modulePat.asPat.hidingPat.listPat ".'\s*$'
+
+ let ml = matchlist(import,importPat)
+ if ml!=[]
+ let [_,qualified,module,_,as,_,hiding,_,explicit;x] = ml
+ let what = as=='' ? module : as
+ let hidings = split(hiding[1:-2],',')
+ let explicits = split(explicit[1:-2],',')
+ let empty = {'lines':[],'hiding':hidings,'explicit':[],'modules':[]}
+ let entry = has_key(imports[1],what) ? imports[1][what] : deepcopy(empty)
+ let imports[1][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module)
+ if !(qualified=='qualified')
+ let imports[0][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module)
+ endif
+ else
+ echoerr "haskellmode#GatherImports doesn't understand: ".import
+ endif
+ endif
+ let i+=1
+ endwhile
+ if !has_key(imports[1],'Prelude')
+ let imports[0]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
+ let imports[1]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]}
+ endif
+ return imports
+endfunction
+
+function! haskellmode#ListElem(list,elem)
+ for e in a:list | if e==a:elem | return 1 | endif | endfor
+ return 0
+endfunction
+
+function! haskellmode#ListIntersect(list1,list2)
+ let l = []
+ for e in a:list1 | if index(a:list2,e)!=-1 | let l += [e] | endif | endfor
+ return l
+endfunction
+
+function! haskellmode#ListUnion(list1,list2)
+ let l = []
+ for e in a:list2 | if index(a:list1,e)==-1 | let l += [e] | endif | endfor
+ return a:list1 + l
+endfunction
+
+function! haskellmode#ListWithout(list1,list2)
+ let l = []
+ for e in a:list1 | if index(a:list2,e)==-1 | let l += [e] | endif | endfor
+ return l
+endfunction
+
+function! haskellmode#MergeImport(entry,line,hiding,explicit,module)
+ let lines = a:entry['lines'] + [ a:line ]
+ let hiding = a:explicit==[] ? haskellmode#ListIntersect(a:entry['hiding'], a:hiding)
+ \ : haskellmode#ListWithout(a:entry['hiding'],a:explicit)
+ let explicit = haskellmode#ListUnion(a:entry['explicit'], a:explicit)
+ let modules = haskellmode#ListUnion(a:entry['modules'], [ a:module ])
+ return {'lines':lines,'hiding':hiding,'explicit':explicit,'modules':modules}
+endfunction
+
+" collect lines belonging to a single import statement;
+" return number of last line and collected import statement
+" (assume opening parenthesis, if any, is on the first line)
+function! haskellmode#GatherImport(lineno)
+ let lineno = a:lineno
+ let import = getline(lineno)
+ if !(import=~'^import\s') | return [] | endif
+ let open = strlen(substitute(import,'[^(]','','g'))
+ let close = strlen(substitute(import,'[^)]','','g'))
+ while open!=close
+ let lineno += 1
+ let linecont = getline(lineno)
+ let open += strlen(substitute(linecont,'[^(]','','g'))
+ let close += strlen(substitute(linecont,'[^)]','','g'))
+ let import .= linecont
+ endwhile
+ return [lineno,import]
+endfunction
+
+function! haskellmode#UrlEncode(string)
+ let pat = '\([^[:alnum:]]\)'
+ let code = '\=printf("%%%02X",char2nr(submatch(1)))'
+ let url = substitute(a:string,pat,code,'g')
+ return url
+endfunction
+
433 autoload/snipMate.vim
@@ -0,0 +1,433 @@
+fun! Filename(...)
+ let filename = expand('%:t:r')
+ if filename == '' | return a:0 == 2 ? a:2 : '' | endif
+ return !a:0 || a:1 == '' ? filename : substitute(a:1, '$1', filename, 'g')
+endf
+
+fun s:RemoveSnippet()
+ unl! g:snipPos s:curPos s:snipLen s:endCol s:endLine s:prevLen
+ \ s:lastBuf s:oldWord
+ if exists('s:update')
+ unl s:startCol s:origWordLen s:update
+ if exists('s:oldVars') | unl s:oldVars s:oldEndCol | endif
+ endif
+ aug! snipMateAutocmds
+endf
+
+fun snipMate#expandSnip(snip, col)
+ let lnum = line('.') | let col = a:col
+
+ let snippet = s:ProcessSnippet(a:snip)
+ " Avoid error if eval evaluates to nothing
+ if snippet == '' | return '' | endif
+
+ " Expand snippet onto current position with the tab stops removed
+ let snipLines = split(substitute(snippet, '$\d\+\|${\d\+.\{-}}', '', 'g'), "\n", 1)
+
+ let line = getline(lnum)
+ let afterCursor = strpart(line, col - 1)
+ " Keep text after the cursor
+ if afterCursor != "\t" && afterCursor != ' '
+ let line = strpart(line, 0, col - 1)
+ let snipLines[-1] .= afterCursor
+ else
+ let afterCursor = ''
+ " For some reason the cursor needs to move one right after this
+ if line != '' && col == 1 && &ve != 'all' && &ve != 'onemore'
+ let col += 1
+ endif
+ endif
+
+ call setline(lnum, line.snipLines[0])
+
+ " Autoindent snippet according to previous indentation
+ let indent = matchend(line, '^.\{-}\ze\(\S\|$\)') + 1
+ call append(lnum, map(snipLines[1:], "'".strpart(line, 0, indent - 1)."'.v:val"))
+
+ " Open any folds snippet expands into
+ if &fen | sil! exe lnum.','.(lnum + len(snipLines) - 1).'foldopen' | endif
+
+ let [g:snipPos, s:snipLen] = s:BuildTabStops(snippet, lnum, col - indent, indent)
+
+ if s:snipLen
+ aug snipMateAutocmds
+ au CursorMovedI * call s:UpdateChangedSnip(0)
+ au InsertEnter * call s:UpdateChangedSnip(1)
+ aug END
+ let s:lastBuf = bufnr(0) " Only expand snippet while in current buffer
+ let s:curPos = 0
+ let s:endCol = g:snipPos[s:curPos][1]
+ let s:endLine = g:snipPos[s:curPos][0]
+
+ call cursor(g:snipPos[s:curPos][0], g:snipPos[s:curPos][1])
+ let s:prevLen = [line('$'), col('$')]
+ if g:snipPos[s:curPos][2] != -1 | return s:SelectWord() | endif
+ else
+ unl g:snipPos s:snipLen
+ " Place cursor at end of snippet if no tab stop is given
+ let newlines = len(snipLines) - 1
+ call cursor(lnum + newlines, indent + len(snipLines[-1]) - len(afterCursor)
+ \ + (newlines ? 0: col - 1))
+ endif
+ return ''
+endf
+
+" Prepare snippet to be processed by s:BuildTabStops
+fun s:ProcessSnippet(snip)
+ let snippet = a:snip
+ " Evaluate eval (`...`) expressions.
+ " Using a loop here instead of a regex fixes a bug with nested "\=".
+ if stridx(snippet, '`') != -1
+ while match(snippet, '`.\{-}`') != -1
+ let snippet = substitute(snippet, '`.\{-}`',
+ \ substitute(eval(matchstr(snippet, '`\zs.\{-}\ze`')),
+ \ "\n\\%$", '', ''), '')
+ endw
+ let snippet = substitute(snippet, "\r", "\n", 'g')
+ endif
+
+ " Place all text after a colon in a tab stop after the tab stop
+ " (e.g. "${#:foo}" becomes "${:foo}foo").
+ " This helps tell the position of the tab stops later.
+ let snippet = substitute(snippet, '${\d\+:\(.\{-}\)}', '&\1', 'g')
+
+ " Update the a:snip so that all the $# become the text after
+ " the colon in their associated ${#}.
+ " (e.g. "${1:foo}" turns all "$1"'s into "foo")
+ let i = 1
+ while stridx(snippet, '${'.i) != -1
+ let s = matchstr(snippet, '${'.i.':\zs.\{-}\ze}')
+ if s != ''
+ let snippet = substitute(snippet, '$'.i, s.'&', 'g')
+ endif
+ let i += 1
+ endw
+
+ if &et " Expand tabs to spaces if 'expandtab' is set.
+ return substitute(snippet, '\t', repeat(' ', &sts ? &sts : &sw), 'g')
+ endif
+ return snippet
+endf
+
+" Counts occurences of haystack in needle
+fun s:Count(haystack, needle)
+ let counter = 0
+ let index = stridx(a:haystack, a:needle)
+ while index != -1
+ let index = stridx(a:haystack, a:needle, index+1)
+ let counter += 1
+ endw
+ return counter
+endf
+
+" Builds a list of a list of each tab stop in the snippet containing:
+" 1.) The tab stop's line number.
+" 2.) The tab stop's column number
+" (by getting the length of the string between the last "\n" and the
+" tab stop).
+" 3.) The length of the text after the colon for the current tab stop
+" (e.g. "${1:foo}" would return 3). If there is no text, -1 is returned.
+" 4.) If the "${#:}" construct is given, another list containing all
+" the matches of "$#", to be replaced with the placeholder. This list is
+" composed the same way as the parent; the first item is the line number,
+" and the second is the column.
+fun s:BuildTabStops(snip, lnum, col, indent)
+ let snipPos = []
+ let i = 1
+ let withoutVars = substitute(a:snip, '$\d\+', '', 'g')
+ while stridx(a:snip, '${'.i) != -1
+ let beforeTabStop = matchstr(withoutVars, '^.*\ze${'.i.'\D')
+ let withoutOthers = substitute(withoutVars, '${\('.i.'\D\)\@!\d\+.\{-}}', '', 'g')
+
+ let j = i - 1
+ call add(snipPos, [0, 0, -1])
+ let snipPos[j][0] = a:lnum + s:Count(beforeTabStop, "\n")
+ let snipPos[j][1] = a:indent + len(matchstr(withoutOthers, '.*\(\n\|^\)\zs.*\ze${'.i.'\D'))
+ if snipPos[j][0] == a:lnum | let snipPos[j][1] += a:col | endif
+
+ " Get all $# matches in another list, if ${#:name} is given
+ if stridx(withoutVars, '${'.i.':') != -1
+ let snipPos[j][2] = len(matchstr(withoutVars, '${'.i.':\zs.\{-}\ze}'))
+ let dots = repeat('.', snipPos[j][2])
+ call add(snipPos[j], [])
+ let withoutOthers = substitute(a:snip, '${\d\+.\{-}}\|$'.i.'\@!\d\+', '', 'g')
+ while match(withoutOthers, '$'.i.'\(\D\|$\)') != -1
+ let beforeMark = matchstr(withoutOthers, '^.\{-}\ze'.dots.'$'.i.'\(\D\|$\)')
+ call add(snipPos[j][3], [0, 0])
+ let snipPos[j][3][-1][0] = a:lnum + s:Count(beforeMark, "\n")
+ let snipPos[j][3][-1][1] = a:indent + (snipPos[j][3][-1][0] > a:lnum
+ \ ? len(matchstr(beforeMark, '.*\n\zs.*'))
+ \ : a:col + len(beforeMark))
+ let withoutOthers = substitute(withoutOthers, '$'.i.'\ze\(\D\|$\)', '', '')
+ endw
+ endif
+ let i += 1
+ endw
+ return [snipPos, i - 1]
+endf
+
+fun snipMate#jumpTabStop(backwards)
+ let leftPlaceholder = exists('s:origWordLen')
+ \ && s:origWordLen != g:snipPos[s:curPos][2]
+ if leftPlaceholder && exists('s:oldEndCol')
+ let startPlaceholder = s:oldEndCol + 1
+ endif
+
+ if exists('s:update')
+ call s:UpdatePlaceholderTabStops()
+ else
+ call s:UpdateTabStops()
+ endif
+
+ " Don't reselect placeholder if it has been modified
+ if leftPlaceholder && g:snipPos[s:curPos][2] != -1
+ if exists('startPlaceholder')
+ let g:snipPos[s:curPos][1] = startPlaceholder
+ else
+ let g:snipPos[s:curPos][1] = col('.')
+ let g:snipPos[s:curPos][2] = 0
+ endif
+ endif
+
+ let s:curPos += a:backwards ? -1 : 1
+ " Loop over the snippet when going backwards from the beginning
+ if s:curPos < 0 | let s:curPos = s:snipLen - 1 | endif
+
+ if s:curPos == s:snipLen
+ let sMode = s:endCol == g:snipPos[s:curPos-1][1]+g:snipPos[s:curPos-1][2]
+ call s:RemoveSnippet()
+ return sMode ? "\<tab>" : TriggerSnippet()
+ endif
+
+ call cursor(g:snipPos[s:curPos][0], g:snipPos[s:curPos][1])
+
+ let s:endLine = g:snipPos[s:curPos][0]
+ let s:endCol = g:snipPos[s:curPos][1]
+ let s:prevLen = [line('$'), col('$')]
+
+ return g:snipPos[s:curPos][2] == -1 ? '' : s:SelectWord()
+endf
+
+fun s:UpdatePlaceholderTabStops()
+ let changeLen = s:origWordLen - g:snipPos[s:curPos][2]
+ unl s:startCol s:origWordLen s:update
+ if !exists('s:oldVars') | return | endif
+ " Update tab stops in snippet if text has been added via "$#"
+ " (e.g., in "${1:foo}bar$1${2}").
+ if changeLen != 0
+ let curLine = line('.')
+
+ for pos in g:snipPos
+ if pos == g:snipPos[s:curPos] | continue | endif
+ let changed = pos[0] == curLine && pos[1] > s:oldEndCol
+ let changedVars = 0
+ let endPlaceholder = pos[2] - 1 + pos[1]
+ " Subtract changeLen from each tab stop that was after any of
+ " the current tab stop's placeholders.
+ for [lnum, col] in s:oldVars
+ if lnum > pos[0] | break | endif
+ if pos[0] == lnum
+ if pos[1] > col || (pos[2] == -1 && pos[1] == col)
+ let changed += 1
+ elseif col < endPlaceholder
+ let changedVars += 1
+ endif
+ endif
+ endfor
+ let pos[1] -= changeLen * changed
+ let pos[2] -= changeLen * changedVars " Parse variables within placeholders
+ " e.g., "${1:foo} ${2:$1bar}"
+
+ if pos[2] == -1 | continue | endif
+ " Do the same to any placeholders in the other tab stops.
+ for nPos in pos[3]
+ let changed = nPos[0] == curLine && nPos[1] > s:oldEndCol
+ for [lnum, col] in s:oldVars
+ if lnum > nPos[0] | break | endif
+ if nPos[0] == lnum && nPos[1] > col
+ let changed += 1
+ endif
+ endfor
+ let nPos[1] -= changeLen * changed
+ endfor
+ endfor
+ endif
+ unl s:endCol s:oldVars s:oldEndCol
+endf
+
+fun s:UpdateTabStops()
+ let changeLine = s:endLine - g:snipPos[s:curPos][0]
+ let changeCol = s:endCol - g:snipPos[s:curPos][1]
+ if exists('s:origWordLen')
+ let changeCol -= s:origWordLen
+ unl s:origWordLen
+ endif
+ let lnum = g:snipPos[s:curPos][0]
+ let col = g:snipPos[s:curPos][1]
+ " Update the line number of all proceeding tab stops if <cr> has
+ " been inserted.
+ if changeLine != 0
+ let changeLine -= 1
+ for pos in g:snipPos
+ if pos[0] >= lnum
+ if pos[0] == lnum | let pos[1] += changeCol | endif
+ let pos[0] += changeLine
+ endif
+ if pos[2] == -1 | continue | endif
+ for nPos in pos[3]
+ if nPos[0] >= lnum
+ if nPos[0] == lnum | let nPos[1] += changeCol | endif
+ let nPos[0] += changeLine
+ endif
+ endfor
+ endfor
+ elseif changeCol != 0
+ " Update the column of all proceeding tab stops if text has
+ " been inserted/deleted in the current line.
+ for pos in g:snipPos
+ if pos[1] >= col && pos[0] == lnum
+ let pos[1] += changeCol
+ endif
+ if pos[2] == -1 | continue | endif
+ for nPos in pos[3]
+ if nPos[0] > lnum | break | endif
+ if nPos[0] == lnum && nPos[1] >= col
+ let nPos[1] += changeCol
+ endif
+ endfor
+ endfor
+ endif
+endf
+
+fun s:SelectWord()
+ let s:origWordLen = g:snipPos[s:curPos][2]
+ let s:oldWord = strpart(getline('.'), g:snipPos[s:curPos][1] - 1,
+ \ s:origWordLen)
+ let s:prevLen[1] -= s:origWordLen
+ if !empty(g:snipPos[s:curPos][3])
+ let s:update = 1
+ let s:endCol = -1
+ let s:startCol = g:snipPos[s:curPos][1] - 1
+ endif
+ if !s:origWordLen | return '' | endif
+ let l = col('.') != 1 ? 'l' : ''
+ if &sel == 'exclusive'
+ return "\<esc>".l.'v'.s:origWordLen."l\<c-g>"
+ endif
+ return s:origWordLen == 1 ? "\<esc>".l.'gh'
+ \ : "\<esc>".l.'v'.(s:origWordLen - 1)."l\<c-g>"
+endf
+
+" This updates the snippet as you type when text needs to be inserted
+" into multiple places (e.g. in "${1:default text}foo$1bar$1",
+" "default text" would be highlighted, and if the user types something,
+" UpdateChangedSnip() would be called so that the text after "foo" & "bar"
+" are updated accordingly)
+"
+" It also automatically quits the snippet if the cursor is moved out of it
+" while in insert mode.
+fun s:UpdateChangedSnip(entering)
+ if exists('g:snipPos') && bufnr(0) != s:lastBuf
+ call s:RemoveSnippet()
+ elseif exists('s:update') " If modifying a placeholder
+ if !exists('s:oldVars') && s:curPos + 1 < s:snipLen
+ " Save the old snippet & word length before it's updated
+ " s:startCol must be saved too, in case text is added
+ " before the snippet (e.g. in "foo$1${2}bar${1:foo}").
+ let s:oldEndCol = s:startCol
+ let s:oldVars = deepcopy(g:snipPos[s:curPos][3])
+ endif
+ let col = col('.') - 1
+
+ if s:endCol != -1
+ let changeLen = col('$') - s:prevLen[1]
+ let s:endCol += changeLen
+ else " When being updated the first time, after leaving select mode
+ if a:entering | return | endif
+ let s:endCol = col - 1
+ endif
+
+ " If the cursor moves outside the snippet, quit it
+ if line('.') != g:snipPos[s:curPos][0] || col < s:startCol ||
+ \ col - 1 > s:endCol
+ unl! s:startCol s:origWordLen s:oldVars s:update
+ return s:RemoveSnippet()
+ endif
+
+ call s:UpdateVars()
+ let s:prevLen[1] = col('$')
+ elseif exists('g:snipPos')
+ if !a:entering && g:snipPos[s:curPos][2] != -1
+ let g:snipPos[s:curPos][2] = -2
+ endif
+
+ let col = col('.')
+ let lnum = line('.')
+ let changeLine = line('$') - s:prevLen[0]
+
+ if lnum == s:endLine
+ let s:endCol += col('$') - s:prevLen[1]
+ let s:prevLen = [line('$'), col('$')]
+ endif
+ if changeLine != 0
+ let s:endLine += changeLine
+ let s:endCol = col
+ endif
+
+ " Delete snippet if cursor moves out of it in insert mode
+ if (lnum == s:endLine && (col > s:endCol || col < g:snipPos[s:curPos][1]))
+ \ || lnum > s:endLine || lnum < g:snipPos[s:curPos][0]
+ call s:RemoveSnippet()
+ endif
+ endif
+endf
+
+" This updates the variables in a snippet when a placeholder has been edited.
+" (e.g., each "$1" in "${1:foo} $1bar $1bar")
+fun s:UpdateVars()
+ let newWordLen = s:endCol - s:startCol + 1
+ let newWord = strpart(getline('.'), s:startCol, newWordLen)
+ if newWord == s:oldWord || empty(g:snipPos[s:curPos][3])
+ return
+ endif
+
+ let changeLen = g:snipPos[s:curPos][2] - newWordLen
+ let curLine = line('.')
+ let startCol = col('.')
+ let oldStartSnip = s:startCol
+ let updateTabStops = changeLen != 0
+ let i = 0
+
+ for [lnum, col] in g:snipPos[s:curPos][3]
+ if updateTabStops
+ let start = s:startCol
+ if lnum == curLine && col <= start
+ let s:startCol -= changeLen
+ let s:endCol -= changeLen
+ endif
+ for nPos in g:snipPos[s:curPos][3][(i):]
+ " This list is in ascending order, so quit if we've gone too far.
+ if nPos[0] > lnum | break | endif
+ if nPos[0] == lnum && nPos[1] > col
+ let nPos[1] -= changeLen
+ endif
+ endfor
+ if lnum == curLine && col > start
+ let col -= changeLen
+ let g:snipPos[s:curPos][3][i][1] = col
+ endif
+ let i += 1
+ endif
+
+ " "Very nomagic" is used here to allow special characters.
+ call setline(lnum, substitute(getline(lnum), '\%'.col.'c\V'.
+ \ escape(s:oldWord, '\'), escape(newWord, '\&'), ''))
+ endfor
+ if oldStartSnip != s:startCol
+ call cursor(0, startCol + s:startCol - oldStartSnip)
+ endif
+
+ let s:oldWord = newWord
+ let g:snipPos[s:curPos][2] = newWordLen
+endf
+" vim:noet:sw=4:ts=4:ft=vim
170 autoload/utl_lib.vim
@@ -0,0 +1,170 @@
+" ------------------------------------------------------------------------------
+" File: autoload/utl_lib.vim -- Finish installation and
+" data migration support
+" Part of the Utl plugin, see ../plugin/utl.vim
+" Author: Stefan Bittner <stb@bf-consulting.de>
+" Licence: This program is free software; you can redistribute it and/or
+" modify it under the terms of the GNU General Public License.
+" See http://www.gnu.org/copyleft/gpl.txt
+" Version: utl 3.0a
+" ------------------------------------------------------------------------------
+
+
+
+"-------------------------------------------------------------------------------
+" Intended to finish installation after Utl 3.0a files have been installed
+" by UseVimball. Will automatically be called after UseVimball in
+" utl_3_0a.vba. But can be called at any later time or can be called multiple
+" times. As an autoload function it can be called directly from within
+" :so utl_3_0a.vba without starting a new Vim instance.
+"
+" - Deletes any existing obsolete files: plugin/utl_arr.vim, doc/utl_ref.txt
+" - Data migration: Checks for utl_2.0 configuration variables and print
+" instructions to user how to migrate them.
+"
+" Note: Utl 3.0a installation saved file plugin/utl_rc.vim to
+" plugin/utl_old_rc.vim prior to Utl 3.0a installation (Preinstall). So the
+" old variables remain and will be visible in new Vim instance.
+"
+function! utl_lib#Postinstall()
+
+ echo "----------------------------------------------------------------------"
+ echo "Info: Start of Utl 3.0a post installation."
+ echo " This will handle relicts of any previously installed Utl version"
+ echo "\n"
+
+ if ! exists("g:utl_vim")
+ echo "Info: No previously installed Utl version found (variable g:utl_vim)"
+ echo " does not exist). Nothing to do at all."
+ if exists("g:utl_rc_vim")
+ echo "\n"
+ echo "Warning: But file ".g:utl_rc_vim." still exists"
+ echo " You should remove it from the plugin directory"
+ endif
+ echo "\n"
+ echo " To start with Utl open a new Vim, type:"
+ echo " :help utl"
+ echo " and follow the live examples"
+ echo "\n"
+ echo " End of Utl 3.0a post installation"
+ echo "----------------------------------------------------------------------\n"
+ call input("<Hit Return to continue>")
+ return
+ endif
+
+ "--- 2. Delete obsolete Utl 2.0 files
+ if exists("g:utl_arr_vim")
+ if filereadable(g:utl_arr_vim)
+ if delete(g:utl_arr_vim)==0
+ echo "Info: obsolete Utl 2.0 file ".g:utl_arr_vim." deleted successfully"
+ else
+ echohl WarningMsg
+ echo "Warning: Could not delete obsolete Utl 2.0 file".g:utl_arr_vim."."
+ echo " This does not affect proper function but you might want to"
+ echo " delete it manually in order to cleanup your plugin directory"
+ echohl None
+ endif
+ else
+ echo "Warning: no obsolete Utl 2.0 file ".g:utl_arr_vim." found"
+ endif
+ else
+ echo "Warning: variable g:utl_arr_vim not found. Inconsistent installation"
+ endif
+
+ if exists("g:utl_vim") " no variable for utl_ref, so start from utl.vim
+ let utl_ref_txt = fnamemodify(g:utl_vim, ":p:h:h") . "/doc/utl_ref.txt"
+ if filereadable(utl_ref_txt)
+ if delete(utl_ref_txt)==0
+ echo "Info: obsolete Utl 2.0 file ".utl_ref_txt." deleted successfully"
+ else
+ echohl WarningMsg
+ echo "Warning: Could not delete obsolete Utl 2.0 file ".utl_ref_txt
+ echo " but you might want to delete it manually to avoid garbage"
+ echo " docs / help tags"
+ echohl None
+ endif
+ else
+ echo "Warning: no obsolete Utl 2.0 file ".utl_ref_txt." found"
+ endif
+ endif
+
+ "--- 3. Check for Utl V2.0 variables
+ " The user might want to migrate these to Utl 2.1 variable names
+ " g:utl_rc_xxx -> g:utl_cfg_xxx
+ " g:utl_config_highl_urls -> g:utl_opt_highlight_urls
+ " g:utl_mt_xxx -> utl_cfg_mth__xxx
+ let varMap = {}
+
+ if exists("g:utl_rc_app_mailer")
+ let varMap['g:utl_rc_app_mailer'] = 'g:utl_cfg_hdl_scm_mailto'
+ endif
+
+ if exists("g:utl_rc_app_browser")
+ let varMap['g:utl_rc_app_browser'] = 'g:utl_cfg_hdl_scm_http'
+ endif
+
+ if exists("g:utl_config_highl")
+ let varMap['g:utl_config_highl'] = 'g:utl_opt_highlight_urls'
+ endif
+
+ " All utl_mt_ variables. Get them by capturing the ':let' output
+ redir => redirBuf
+ silent let
+ redir END
+
+ let line=split(redirBuf)
+ let prefix='utl_mt_'
+ for item in line
+ if item=~ '^'.prefix
+ let suffix = strpart(item, strlen(prefix))
+ let newName = 'utl_cfg_hdl_mt_'.suffix
+
+ let varMap['utl_mt_'.suffix] = newName
+
+ endif
+ endfor
+
+ if ! empty(varMap)
+ echo "\n"
+ echohl WarningMsg
+ echo "Warning: The following Vim variable(s) from a previously installed"
+ echo " Utl version have been detected. You might a) want to rename"
+ echo " them to the new Utl version 3.0a names as given in the table below."
+ echo " Or you might b) want just delete the old variables."
+ echo "\n"
+ echo " If you don't care, then choose b), i.e. just remove those variables"
+ echo " from your vimrc or delete utl_rc_old.vim (which possibly has been"
+ echo " created during preinstall (see second line in utl_3_0a.vba)). This is"
+ echo " not a bad choice since Utl 3.0 provides a generic handler variable"
+ echo " which discharges you from maintaining specific handler variables for"
+ echo " each file type."
+ echohl None
+ else
+ echo "Info: No variables of a previous Utl installation detected."
+ echo " So nothing no further instructions for moving them away needed."
+ endif
+ for key in sort(keys(varMap))
+ echo printf(" %-40s -> %s", key, varMap[key])
+ endfor
+ if ! empty(varMap)
+ echo "\n"
+ endif
+
+ echo "\n"
+ echo "Info: You can perform post installation again anytime with the command:"
+ echo " :call utl_lib#Postinstall()\n"
+ echo " You can also just install again by :source'ing Utl_3_0a.vba"
+ echo "\n"
+ echo " You should move the possibly created file plugin/utl_old_rc.vim out of"
+ echo " the way when done with data migration. I.e. delete it or rename it to"
+ echo " other file name extension than .vim or move it away from the plugin"
+ echo " directory."
+ echo "\n"
+ echo " To start with Utl open a new Vim and type:"
+ echo " :help utl"
+ echo "\n"
+ echo "Info: End of Utl 3.0a post installation"
+ echo "----------------------------------------------------------------------\n"
+ call input("<Hit Return to continue>")
+
+endfunction
16 colors/Blue2.vim
@@ -0,0 +1,16 @@
+
+" It's based on:
+runtime colors/Dark.vim
+
+let g:colors_name = "Blue"
+
+" hi Normal guibg=#000070 guifg=GhostWhite
+hi Normal guibg=#000050 guifg=GhostWhite
+"hi Normal guibg=#000040 guifg=GhostWhite
+"hi NonText guibg=#000040
+hi NonText guibg=#000038
+"hi NonText guibg=#000030
+hi Visual guifg=grey40
+
+" Experimental:
+hi Cursor guibg=yellow guifg=bg
99 colors/billw.vim
@@ -0,0 +1,99 @@
+" vim: set tw=0 sw=4 sts=4 et:
+
+" Vim color file
+" Maintainer: Datila Carvalho <datila@saci.homeip.net>
+" Last Change: November, 3, 2003
+" Version: 0.1
+
+" This is a VIM's version of the emacs color theme
+" _Billw_ created by Bill White.
+
+set background=dark
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+
+let g:colors_name = "billw"
+
+
+""" Colors
+
+" GUI colors
+hi Cursor guifg=fg guibg=cornsilk
+hi CursorIM guifg=NONE guibg=cornsilk
+"hi Directory
+"hi DiffAdd
+"hi DiffChange
+"hi DiffDelete
+"hi DiffText
+hi ErrorMsg gui=bold guifg=White guibg=Red
+"hi VertSplit
+"hi Folded
+"hi FoldColumn
+"hi IncSearch
+"hi LineNr
+hi ModeMsg gui=bold
+"hi MoreMsg
+"hi NonText
+hi Normal guibg=black guifg=cornsilk
+"hi Question
+hi Search gui=bold guifg=Black guibg=cornsilk
+"hi SpecialKey
+hi StatusLine guifg=orange1
+hi StatusLineNC guifg=yellow4
+"hi Title
+hi Visual guifg=gray35 guibg=fg
+hi VisualNOS gui=bold guifg=black guibg=fg
+hi WarningMsg guifg=White guibg=Tomato
+"hi WildMenu
+
+" Colors for syntax highlighting
+hi Comment guifg=gold
+
+hi Constant guifg=mediumspringgreen
+ hi String guifg=orange
+ hi Character guifg=orange
+ hi Number guifg=mediumspringgreen
+ hi Boolean guifg=mediumspringgreen
+ hi Float guifg=mediumspringgreen
+
+hi Identifier guifg=yellow
+ hi Function guifg=mediumspringgreen
+
+hi Statement gui=bold guifg=cyan1
+ hi Conditional gui=bold guifg=cyan1
+ hi Repeat gui=bold guifg=cyan1
+ hi Label guifg=cyan1
+ hi Operator guifg=cyan1
+ "hi Keyword
+ "hi Exception
+
+hi PreProc guifg=LightSteelBlue
+ hi Include guifg=LightSteelBlue
+ hi Define guifg=LightSteelBlue
+ hi Macro guifg=LightSteelBlue
+ hi PreCondit guifg=LightSteelBlue
+
+hi Type guifg=yellow
+ hi StorageClass guifg=cyan1
+ hi Structure gui=bold guifg=cyan1
+ hi Typedef guifg=cyan1
+
+"hi Special
+ ""Underline Character
+ "hi SpecialChar gui=underline
+ "hi Tag gui=bold,underline
+ ""Statement
+ "hi Delimiter gui=bold
+ ""Bold comment (in Java at least)
+ "hi SpecialComment gui=bold
+ "hi Debug gui=bold
+
+hi Underlined gui=underline
+
+hi Ignore guifg=bg
+
+hi Error gui=bold guifg=White guibg=Red
+
+"hi Todo
85 colors/biogoo.vim
@@ -0,0 +1,85 @@
+" Vim color File
+" Name: biogoo
+" Maintainer: Benjamin Esham <bdesham@iname.com>
+" Last Change: 2004-02-03
+" Version: 1.2
+"
+" A fairly simple gray-background scheme. Feedback is greatly appreciated!
+"
+" Installation:
+" Copy to ~/.vim/colors; do :color biogoo
+"
+" Customization Options:
+" Use a 'normal' cursor color:
+" let g:biogoo_normal_cursor = 1
+"
+" Props:
+" Jani Nurminen's zenburn.vim as an example file.
+" Scott and Matt for feature suggestions.
+"
+" Version History:
+" 1.2: added `SpellErrors' group for use with vimspell.
+" 1.1: added `IncSearch' group for improved visibility in incremental searches.
+" 1.0: minor tweaks
+" 0.95: initial release
+"
+" TODO: Possibly add some more groups -- please email me if I've left any out.
+
+set background=light
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+let g:colors_name = "biogoo"
+
+hi Comment guifg=#0000c3
+hi Constant guifg=#0000ff
+hi Delimiter guifg=#00007f
+hi DiffAdd guifg=#007f00 guibg=#e5e5e5
+hi DiffChange guifg=#00007f guibg=#e5e5e5
+hi DiffDelete guifg=#7f0000 guibg=#e5e5e5
+hi DiffText guifg=#ee0000 guibg=#e5e5e5
+hi Directory guifg=#b85d00
+hi Error guifg=#d6d6d6 guibg=#7f0000
+hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=bold
+hi Float guifg=#b85d00
+hi FoldColumn guifg=#00007f guibg=#e5e5e5
+hi Folded guifg=#00007f guibg=#e5e5e5
+hi Function guifg=#7f0000
+hi Identifier guifg=#004000
+hi Include guifg=#295498 gui=bold
+hi IncSearch guifg=#ffffff guibg=#0000ff gui=bold
+hi LineNr guifg=#303030 guibg=#e5e5e5 gui=underline
+hi Keyword guifg=#00007f
+hi Macro guifg=#295498
+hi ModeMsg guifg=#00007f
+hi MoreMsg guifg=#00007f
+hi NonText guifg=#007f00
+hi Normal guifg=#000000 guibg=#d6d6d6
+hi Number guifg=#b85d00
+hi Operator guifg=#00007f
+hi PreCondit guifg=#295498 gui=bold
+hi PreProc guifg=#0c3b6b gui=bold
+hi Question guifg=#00007f
+hi Search guibg=#ffff00
+hi Special guifg=#007f00
+hi SpecialKey guifg=#00007f
+hi SpellErrors guifg=#7f0000 gui=underline
+hi Statement guifg=#00007f gui=none
+hi StatusLine guifg=#00007f guibg=#ffffff
+hi StatusLineNC guifg=#676767 guibg=#ffffff
+hi String guifg=#d10000
+hi Title guifg=#404040 gui=bold
+hi Todo guifg=#00007f guibg=#e5e5e5 gui=underline
+hi Type guifg=#540054 gui=bold
+hi Underlined guifg=#b85d00
+hi VertSplit guifg=#676767 guibg=#ffffff
+hi Visual guifg=#7f7f7f guibg=#ffffff
+hi VisualNOS guifg=#007f00 guibg=#e5e5e5
+hi WarningMsg guifg=#500000
+hi WildMenu guifg=#540054
+
+if !exists("g:biogoo_normal_cursor")
+ " use a gray-on-blue cursor
+ hi Cursor guifg=#ffffff guibg=#00007f
+endif
115 colors/black_angus.vim
@@ -0,0 +1,115 @@
+" Vim color file
+" Maintainer: Angus Salkeld
+" Last Change: 14 September 2004
+" Version: 1.0
+" mainly green on black
+
+set background=dark
+highlight clear
+if exists("syntax_on")
+ syntax reset
+endif
+
+let g:colors_name = "black_angus"
+
+" GUI
+" -----------------------------------------------------------------------
+highlight Normal guifg=Grey80 guibg=Black
+highlight Search guifg=brown gui=reverse
+highlight Visual guifg=Grey25 gui=bold
+highlight Cursor guifg=Yellow guibg=DarkGreen gui=bold
+highlight DiffAdd guibg=#000080 gui=NONE
+highlight DiffChange guibg=#800080 gui=NONE
+highlight DiffDelete guifg=#80c0e0 guibg=#404040 gui=NONE
+highlight DiffText guifg=Black guibg=#c0e080 gui=NONE
+
+" Console
+" -----------------------------------------------------------------------
+highlight Normal ctermfg=LightGrey ctermbg=Black
+highlight Search ctermfg=Brown cterm=reverse
+highlight Visual cterm=reverse
+highlight Cursor ctermfg=Yellow ctermbg=Green cterm=bold
+
+" both
+" -----------------------------------------------------------------------
+highlight StatusLine guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
+highlight VertSplit guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
+highlight Folded guifg=#aaDDaa guibg=#333333 gui=none ctermfg=LightGray ctermbg=DarkGray term=none
+highlight FoldColumn guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
+highlight SignColumn guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
+highlight WildMenu guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none
+
+highlight LineNr guifg=DarkGreen guibg=Black gui=none ctermfg=DarkGreen ctermbg=Black term=none
+highlight Directory guifg=LightGreen ctermfg=LightGreen
+highlight Comment guifg=DarkGrey ctermfg=DarkGray
+
+highlight Special guifg=Orange ctermfg=Brown
+highlight Title guifg=Orange ctermfg=Brown
+highlight Tag guifg=DarkRed ctermfg=DarkRed
+highlight link Delimiter Special
+highlight link SpecialChar Special
+highlight link SpecialComment Special
+highlight link SpecialKey Special
+highlight link NonText Special
+
+highlight Error guifg=White guibg=DarkRed gui=none ctermfg=White ctermbg=DarkRed cterm=none
+highlight Debug guifg=White guibg=DarkGreen gui=none ctermfg=White ctermbg=DarkRed cterm=none
+highlight ErrorMsg guifg=White guibg=DarkBlue gui=none ctermfg=White ctermbg=DarkRed cterm=none
+highlight WarningMsg guifg=White guibg=DarkBlue gui=none ctermfg=White ctermbg=DarkBlue cterm=none
+highlight Todo guifg=White guibg=DarkYellow gui=none ctermfg=White ctermbg=DarkBlue cterm=none
+highlight link cCommentStartError WarningMsg
+highlight link cCommentError Debug
+
+" Preprocesor
+highlight PreCondit guifg=Cyan3 ctermfg=Cyan
+highlight PreProc guifg=Magenta ctermfg=Magenta
+highlight Include guifg=DarkCyan ctermfg=DarkCyan
+highlight ifdefIfOut guifg=DarkGray ctermfg=DarkGray
+highlight link Macro Include
+highlight link Define Include
+
+" lang
+highlight Function guifg=#AAEEAA gui=none ctermfg=LightGreen
+highlight Identifier guifg=#bbccbb gui=none ctermfg=Grey
+highlight Statement guifg=LightGreen gui=underline ctermfg=LightGreen
+highlight Operator guifg=Yellow gui=none ctermfg=Yellow
+highlight Conditional guifg=lightslateblue gui=none ctermfg=LightBlue
+
+highlight link Exception Statement
+highlight link Label Statement
+highlight link Repeat Conditional
+
+highlight link Keyword Label
+
+highlight Constant guifg=LightGreen ctermfg=LightGreen gui=none
+highlight link Character Constant
+highlight link Number Constant
+highlight link Boolean Constant
+highlight link String Constant
+highlight link Float Constant
+
+highlight Type guifg=DarkGreen ctermfg=DarkGreen gui=none
+highlight link StorageClass Type
+highlight link Structure Type
+highlight link Typedef Type
+
+" ------------------------------------------------------------------------------
+" Common groups that link to other highlighting definitions.
+highlight link Search IncSearch
+highlight link Question Statement
+highlight link VisualNOS Visual
+" ------------------------------------------------------------------------------
+
+" only for vim 5
+if has("unix")
+ if v:version<600
+ highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE
+ highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold
+ highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=Grey25 gui=bold
+ highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue
+ highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue
+ endif
+endif
+
+
+
42 colors/blugrine.vim
@@ -0,0 +1,42 @@
+" author Helder Correia < helder (dot) correia (at) netcabo (dot) pt>
+" version 2004.0
+" based on bluegreen colorscheme by Joao Estevao
+" feel free to modify / redistribute this file
+
+set background=dark
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+let g:colors_name="blugrine"
+
+hi Normal guifg=White guibg=#000000
+
+" highlight groups
+hi Cursor guibg=#D74141 guifg=#e3e3e3
+hi VertSplit guibg=#C0FFFF guifg=#075554 gui=none
+hi Folded guibg=#FFC0C0 guifg=black
+hi FoldColumn guibg=#800080 guifg=tan
+hi ModeMsg guifg=#404040 guibg=#C0C0C0
+hi MoreMsg guifg=darkturquoise guibg=#188F90
+hi NonText guibg=#334C75 guifg=#9FADC5
+hi Question guifg=#F4BB7E
+hi Search guibg=fg guifg=bg
+hi SpecialKey guifg=#BF9261
+hi StatusLine guibg=#004443 guifg=#c0ffff gui=none
+hi StatusLineNC guibg=#067C7B guifg=#004443 gui=bold
+hi Title guifg=#8DB8C3
+hi Visual gui=bold guifg=black guibg=#C0FFC0
+hi WarningMsg guifg=#F60000 gui=underline
+
+" syntax highlighting groups
+hi Comment guifg=#DABEA2
+hi Constant guifg=#72A5E4 gui=bold
+hi Identifier guifg=#ADCBF1
+hi Statement guifg=#7E75B5
+hi PreProc guifg=#14F07C
+hi Type guifg=#A9EE8A
+hi Special guifg=#EEBABA
+hi Ignore guifg=grey60
+hi Todo guibg=#9C8C84 guifg=#244C0A
+
117 colors/darkslategray.vim
@@ -0,0 +1,117 @@
+" vim: set tw=0 sw=4 sts=4 et:
+
+" Vim color file
+" Maintainer: Tuomas Susi <tsusi@cc.hut.fi>
+" Last Change: 2004 October 05
+" Version: 1.7
+
+" Emacs in RedHat Linux used to have (still does?) a kind of 'Wheat on
+" DarkSlateGray' color scheme by default. This color scheme is created in the
+" same spirit.
+"
+" Darkslategray is intended to be nice to your eyes (low contrast) and to take
+" advantage of syntax hilighting as much as possible.
+"
+" This color scheme is for the GUI only, I'm happy with default console colors.
+" Needs at least vim 6.0.
+
+
+" Init stuff
+
+set background=dark
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+
+let g:colors_name = "darkslategray"
+
+
+" GUI colors
+
+hi Cursor guifg=fg guibg=#da70d6
+hi CursorIM guifg=NONE guibg=#ff83fa
+hi Directory guifg=#e0ffff
+hi DiffAdd guibg=#528b8b
+hi DiffChange guibg=#8b636c
+hi DiffDelete gui=bold guifg=fg guibg=#000000
+hi DiffText gui=bold guibg=#6959cd
+hi ErrorMsg gui=bold guifg=#ffffff guibg=#ff0000
+hi VertSplit gui=bold guifg=#bdb76b guibg=#000000
+hi Folded guifg=#000000 guibg=#bdb76b
+hi FoldColumn guifg=#000000 guibg=#bdb76b
+hi SignColumn gui=bold guifg=#bdb76b guibg=#20b2aa
+hi IncSearch gui=bold guifg=#000000 guibg=#ffffff
+hi LineNr gui=bold guifg=#bdb76b guibg=#528b8b
+hi ModeMsg gui=bold
+hi MoreMsg gui=bold guifg=#20b2aa
+hi NonText gui=bold guifg=#ffffff
+hi Normal guibg=#2f4f4f guifg=#f5deb3
+hi Question gui=bold guifg=#ff6347
+hi Search gui=bold guifg=#000000 guibg=#ffd700
+hi SpecialKey guifg=#00ffff
+hi StatusLine gui=bold guifg=#f0e68c guibg=#000000
+hi StatusLineNC guibg=#bdb76b guifg=#404040
+hi Title gui=bold guifg=#ff6347
+hi Visual guifg=#000000 guibg=fg
+hi VisualNOS gui=bold guifg=#000000 guibg=fg
+hi WarningMsg guifg=#ffffff guibg=#ff6347
+hi WildMenu gui=bold guifg=#000000 guibg=#ffff00
+
+
+" I use GTK and don't wanna change these
+"hi Menu foobar
+"hi Scrollbar foobar
+"hi Tooltip foobar
+
+
+" Colors for syntax highlighting
+hi Comment guifg=#da70d6
+
+hi Constant guifg=#cdcd00
+ hi String guifg=#7fffd4
+ hi Character guifg=#7fffd4
+ hi Number guifg=#ff6347
+ hi Boolean guifg=#cdcd00
+ hi Float guifg=#ff6347
+
+hi Identifier guifg=#afeeee
+ hi Function guifg=#ffffff
+
+hi Statement gui=bold guifg=#4682b4
+ hi Conditional gui=bold guifg=#4682b4
+ hi Repeat gui=bold guifg=#4682b4
+ hi Label gui=bold guifg=#4682b4
+ hi Operator gui=bold guifg=#4682b4
+ hi Keyword gui=bold guifg=#4682b4
+ hi Exception gui=bold guifg=#4682b4
+
+hi PreProc guifg=#cdcd00
+ hi Include guifg=#ffff00
+ hi Define guifg=#cdcd00
+ hi Macro guifg=#cdcd00
+ hi PreCondit guifg=#cdcd00
+
+hi Type gui=bold guifg=#98fb98
+ hi StorageClass guifg=#00ff00
+ hi Structure guifg=#20b2aa
+ hi Typedef guifg=#00ff7f
+
+hi Special guifg=#ff6347
+ "Underline Character
+ hi SpecialChar gui=underline guifg=#7fffd4
+ hi Tag guifg=#ff6347
+ "Statement
+ hi Delimiter gui=bold guifg=#b0c4de
+ "Bold comment (in Java at least)
+ hi SpecialComment gui=bold guifg=#da70d6
+ hi Debug gui=bold guifg=#ff0000
+
+hi Underlined gui=underline
+
+hi Ignore guifg=bg
+
+hi Error gui=bold guifg=#ffffff guibg=#ff0000
+
+hi Todo gui=bold guifg=#000000 guibg=#ff83fa
+
65 colors/dawn.vim
@@ -0,0 +1,65 @@
+" Vim color file
+" Maintainer: Ajit J. Thakkar (ajit AT unb DOT ca)
+" Last Change: 2003 July 23
+" Version: 1.2
+" URL: http://www.unb.ca/chem/ajit/vim.htm
+
+" This GUI-only color scheme has a light grey background, and is a softer
+" variant of the default and morning color schemes.
+
+set background=light
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+
+let colors_name = "dawn"
+
+hi Normal guifg=Black guibg=grey90
+"hi Normal guifg=Black guibg=grey80
+
+" Groups used in the 'highlight' and 'guicursor' options default value.
+hi ErrorMsg gui=NONE guifg=Red guibg=Linen
+hi IncSearch gui=NONE guifg=fg guibg=LightGreen
+hi ModeMsg gui=bold guifg=fg guibg=bg
+hi StatusLine gui=NONE guifg=DarkBlue guibg=grey70
+hi StatusLineNC gui=NONE guifg=grey90 guibg=grey70
+hi VertSplit gui=NONE guifg=grey70 guibg=grey70
+hi Visual gui=reverse guifg=Grey guibg=fg
+hi VisualNOS gui=underline,bold guifg=fg guibg=bg
+hi DiffText gui=bold guifg=Blue guibg=LightYellow
+hi Cursor guifg=NONE guibg=Green
+hi lCursor guifg=NONE guibg=Cyan
+hi Directory guifg=Blue guibg=bg
+hi LineNr guifg=Brown guibg=bg
+hi MoreMsg gui=bold guifg=SeaGreen guibg=bg
+hi NonText gui=bold guifg=Blue guibg=grey80
+hi Question gui=bold guifg=SeaGreen guibg=bg
+hi Search guifg=fg guibg=PeachPuff
+hi SpecialKey guifg=Blue guibg=bg
+hi Title gui=bold guifg=Magenta guibg=bg
+hi WarningMsg guifg=Red guibg=bg
+hi WildMenu guifg=fg guibg=PeachPuff
+hi Folded guifg=Grey40 guibg=bg " guifg=DarkBlue guibg=LightGrey
+hi FoldColumn guifg=DarkBlue guibg=Grey
+hi DiffAdd gui=bold guifg=Blue guibg=LightCyan
+hi DiffChange gui=bold guifg=fg guibg=MistyRose2
+hi DiffDelete gui=NONE guifg=LightBlue guibg=LightCyan
+
+" Colors for syntax highlighting
+hi Constant gui=NONE guifg=azure4 guibg=bg
+"hi Constant gui=NONE guifg=DeepSkyBlue4 guibg=bg
+hi String gui=NONE guifg=DarkOliveGreen4 guibg=bg
+hi Special gui=bold guifg=Cyan4 guibg=bg
+hi Statement gui=NONE guifg=SlateBlue4 guibg=bg
+hi Operator gui=NONE guifg=Purple guibg=bg
+hi Ignore gui=NONE guifg=bg guibg=bg
+hi ToDo gui=NONE guifg=DeepPink1 guibg=bg
+hi Error gui=NONE guifg=Red guibg=Linen
+hi Comment gui=NONE guifg=RoyalBlue guibg=NONE
+hi Identifier gui=NONE guifg=SteelBlue4 guibg=NONE
+hi PreProc gui=NONE guifg=Magenta4 guibg=NONE
+hi Type gui=NONE guifg=Brown guibg=NONE
+hi Underlined gui=underline guifg=SlateBlue guibg=bg
+
+" vim: sw=2
338 colors/desert256.vim
@@ -0,0 +1,338 @@
+" Vim color file
+" Maintainer: Henry So, Jr. <henryso@panix.com>
+
+" These are the colors of the "desert" theme by Hans Fugal with a few small
+" modifications (namely that I lowered the intensity of the normal white and
+" made the normal and nontext backgrounds black), modified to work with 88-
+" and 256-color xterms.
+"
+" The original "desert" theme is available as part of the vim distribution or
+" at http://hans.fugal.net/vim/colors/.
+"
+" The real feature of this color scheme, with a wink to the "inkpot" theme, is
+" the programmatic approximation of the gui colors to the palettes of 88- and
+" 256- color xterms. The functions that do this (folded away, for
+" readability) are calibrated to the colors used for Thomas E. Dickey's xterm
+" (version 200), which is available at http://dickey.his.com/xterm/xterm.html.
+"
+" I struggled with trying to parse the rgb.txt file to avoid the necessity of
+" converting color names to #rrggbb form, but decided it was just not worth
+" the effort. Maybe someone seeing this may decide otherwise...
+
+set background=dark
+if version > 580
+ " no guarantees for version 5.8 and below, but this makes it stop
+ " complaining
+ hi clear
+ if exists("syntax_on")
+ syntax reset
+ endif
+endif
+let g:colors_name="desert256"
+
+if has("gui_running") || &t_Co == 88 || &t_Co == 256
+ " functions {{{
+ " returns an approximate grey index for the given grey level
+ fun <SID>grey_number(x)
+ if &t_Co == 88
+ if a:x < 23
+ return 0
+ elseif a:x < 69
+ return 1
+ elseif a:x < 103
+ return 2
+ elseif a:x < 127
+ return 3
+ elseif a:x < 150
+ return 4
+ elseif a:x < 173
+ return 5
+ elseif a:x < 196
+ return 6
+ elseif a:x < 219
+ return 7
+ elseif a:x < 243
+ return 8
+ else
+ return 9
+ endif
+ else
+ if a:x < 14
+ return 0
+ else
+ let l:n = (a:x - 8) / 10
+ let l:m = (a:x - 8) % 10
+ if l:m < 5
+ return l:n
+ else
+ return l:n + 1
+ endif
+ endif
+ endif
+ endfun
+
+ " returns the actual grey level represented by the grey index
+ fun <SID>grey_level(n)
+ if &t_Co == 88
+ if a:n == 0
+ return 0
+ elseif a:n == 1
+ return 46
+ elseif a:n == 2
+ return 92
+ elseif a:n == 3
+ return 115
+ elseif a:n == 4
+ return 139
+ elseif a:n == 5
+ return 162
+ elseif a:n == 6
+ return 185
+ elseif a:n == 7
+ return 208
+ elseif a:n == 8
+ return 231
+ else
+ return 255
+ endif
+ else
+ if a:n == 0
+ return 0
+ else
+ return 8 + (a:n * 10)
+ endif
+ endif
+ endfun
+
+ " returns the palette index for the given grey index
+ fun <SID>grey_color(n)
+ if &t_Co == 88
+ if a:n == 0
+ return 16
+ elseif a:n == 9
+ return 79
+ else
+ return 79 + a:n
+ endif
+ else
+ if a:n == 0
+ return 16
+ elseif a:n == 25
+ return 231
+ else
+ return 231 + a:n
+ endif
+ endif
+ endfun
+
+ " returns an approximate color index for the given color level
+ fun <SID>rgb_number(x)
+ if &t_Co == 88
+ if a:x < 69
+ return 0
+ elseif a:x < 172
+ return 1
+ elseif a:x < 230
+ return 2
+ else
+ return 3
+ endif
+ else
+ if a:x < 75
+ return 0
+ else
+ let l:n = (a:x - 55) / 40
+ let l:m = (a:x - 55) % 40
+ if l:m < 20
+ return l:n
+ else
+ return l:n + 1
+ endif
+ endif
+ endif
+ endfun
+
+ " returns the actual color level for the given color index
+ fun <SID>rgb_level(n)
+ if &t_Co == 88
+ if a:n == 0
+ return 0
+ elseif a:n == 1
+ return 139
+ elseif a:n == 2
+ return 205
+ else
+ return 255
+ endif
+ else
+ if a:n == 0
+ return 0
+ else
+ return 55 + (a:n * 40)
+ endif
+ endif
+ endfun
+
+ " returns the palette index for the given R/G/B color indices
+ fun <SID>rgb_color(x, y, z)
+ if &t_Co == 88
+ return 16 + (a:x * 16) + (a:y * 4) + a:z
+ else
+ return 16 + (a:x * 36) + (a:y * 6) + a:z
+ endif
+ endfun
+
+ " returns the palette index to approximate the given R/G/B color levels
+ fun <SID>color(r, g, b)
+ " get the closest grey
+ let l:gx = <SID>grey_number(a:r)
+ let l:gy = <SID>grey_number(a:g)
+ let l:gz = <SID>grey_number(a:b)
+
+ " get the closest color
+ let l:x = <SID>rgb_number(a:r)
+ let l:y = <SID>rgb_number(a:g)
+ let l:z = <SID>rgb_number(a:b)
+
+ if l:gx == l:gy && l:gy == l:gz
+ " there are two possibilities
+ let l:dgr = <SID>grey_level(l:gx) - a:r
+ let l:dgg = <SID>grey_level(l:gy) - a:g
+ let l:dgb = <SID>grey_level(l:gz) - a:b
+ let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
+ let l:dr = <SID>rgb_level(l:gx) - a:r
+ let l:dg = <SID>rgb_level(l:gy) - a:g
+ let l:db = <SID>rgb_level(l:gz) - a:b
+ let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
+ if l:dgrey < l:drgb
+ " use the grey
+ return <SID>grey_color(l:gx)
+ else
+ " use the color
+ return <SID>rgb_color(l:x, l:y, l:z)
+ endif
+ else
+ " only one possibility
+ return <SID>rgb_color(l:x, l:y, l:z)
+ endif
+ endfun
+
+ " returns the palette index to approximate the 'rrggbb' hex string
+ fun <SID>rgb(rgb)
+ let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
+ let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
+ let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
+
+ return <SID>color(l:r, l:g, l:b)
+ endfun
+
+ " sets the highlighting for the given group
+ fun <SID>X(group, fg, bg, attr)
+ if a:fg != ""
+ exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg)
+ endif
+ if a:bg != ""
+ exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg)
+ endif
+ if a:attr != ""
+ exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
+ endif
+ endfun
+ " }}}
+
+ call <SID>X("Normal", "cccccc", "000000", "")
+
+ " highlight groups
+ call <SID>X("Cursor", "708090", "f0e68c", "")
+ "CursorIM
+ "Directory
+ "DiffAdd
+ "DiffChange
+ "DiffDelete
+ "DiffText
+ "ErrorMsg
+ call <SID>X("VertSplit", "c2bfa5", "7f7f7f", "reverse")
+ call <SID>X("Folded", "ffd700", "4d4d4d", "")
+ call <SID>X("FoldColumn", "d2b48c", "4d4d4d", "")
+ call <SID>X("IncSearch", "708090", "f0e68c", "")
+ "LineNr
+ call <SID>X("ModeMsg", "daa520", "", "")
+ call <SID>X("MoreMsg", "2e8b57", "", "")
+ call <SID>X("NonText", "addbe7", "000000", "bold")
+ call <SID>X("Question", "00ff7f", "", "")
+ call <SID>X("Search", "f5deb3", "cd853f", "")
+ call <SID>X("SpecialKey", "9acd32", "", "")
+ call <SID>X("StatusLine", "c2bfa5", "000000", "reverse")
+ call <SID>X("StatusLineNC", "c2bfa5", "7f7f7f", "reverse")
+ call <SID>X("Title", "cd5c5c", "", "")
+ call <SID>X("Visual", "6b8e23", "f0e68c", "reverse")
+ "VisualNOS
+ call <SID>X("WarningMsg", "fa8072", "", "")
+ "WildMenu
+ "Menu
+ "Scrollbar
+ "Tooltip
+
+ " syntax highlighting groups
+ call <SID>X("Comment", "87ceeb", "", "")
+ call <SID>X("Constant", "ffa0a0", "", "")
+ call <SID>X("Identifier", "98fb98", "", "none")
+ call <SID>X("Statement", "f0e68c", "", "bold")
+ call <SID>X("PreProc", "cd5c5c", "", "")
+ call <SID>X("Type", "bdb76b", "", "bold")
+ call <SID>X("Special", "ffdead", "", "")
+ "Underlined
+ call <SID>X("Ignore", "666666", "", "")
+ "Error
+ call <SID>X("Todo", "ff4500", "eeee00", "")
+
+ " delete functions {{{
+ delf <SID>X
+ delf <SID>rgb
+ delf <SID>color
+ delf <SID>rgb_color
+ delf <SID>rgb_level
+ delf <SID>rgb_number
+ delf <SID>grey_color
+ delf <SID>grey_level
+ delf <SID>grey_number
+ " }}}
+else
+ " color terminal definitions
+ hi SpecialKey ctermfg=darkgreen
+ hi NonText cterm=bold ctermfg=darkblue
+ hi Directory ctermfg=darkcyan
+ hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1
+ hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green
+ hi Search cterm=NONE ctermfg=grey ctermbg=blue
+ hi MoreMsg ctermfg=darkgreen
+ hi ModeMsg cterm=NONE ctermfg=brown
+ hi LineNr ctermfg=3
+ hi Question ctermfg=green
+ hi StatusLine cterm=bold,reverse
+ hi StatusLineNC cterm=reverse
+ hi VertSplit cterm=reverse
+ hi Title ctermfg=5
+ hi Visual cterm=reverse
+ hi VisualNOS cterm=bold,underline
+ hi WarningMsg ctermfg=1
+ hi WildMenu ctermfg=0 ctermbg=3
+ hi Folded ctermfg=darkgrey ctermbg=NONE
+ hi FoldColumn ctermfg=darkgrey ctermbg=NONE
+ hi DiffAdd ctermbg=4
+ hi DiffChange ctermbg=5
+ hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
+ hi DiffText cterm=bold ctermbg=1
+ hi Comment ctermfg=darkcyan
+ hi Constant ctermfg=brown
+ hi Special ctermfg=5
+ hi Identifier ctermfg=6
+ hi Statement ctermfg=3
+ hi PreProc ctermfg=5
+ hi Type ctermfg=2
+ hi Underlined cterm=underline ctermfg=5
+ hi Ignore ctermfg=darkgrey
+ hi Error cterm=bold ctermfg=7 ctermbg=1
+endif
+
+" vim: set fdl=0 fdm=marker:
69 colors/fruit.vim
@@ -0,0 +1,69 @@
+" Vim color file
+" Maintainer: Tiza
+" Last Change: 2002/08/28 Wed 00:28.
+" version: 1.3
+" This color scheme uses a light background.
+
+set background=light
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+
+let colors_name = "fruit"
+
+hi Normal guifg=#404040 guibg=#f8f8f8
+
+" Search
+hi IncSearch gui=UNDERLINE guifg=#404040 guibg=#40ffff
+hi Search gui=NONE guifg=#404040 guibg=#ffff60
+
+" Messages
+hi ErrorMsg gui=NONE guifg=#ff0000 guibg=#ffe4e4
+hi WarningMsg gui=NONE guifg=#ff0000 guibg=#ffe4e4
+hi ModeMsg gui=NONE guifg=#ff4080 guibg=NONE
+hi MoreMsg gui=NONE guifg=#009070 guibg=NONE
+hi Question gui=NONE guifg=#f030d0 guibg=NONE
+
+" Split area
+hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#404040
+hi StatusLineNC gui=NONE guifg=#a4a4a4 guibg=#404040
+hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#404040
+hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#ff4080
+
+" Diff
+hi DiffText gui=NONE guifg=#e04040 guibg=#ffd8d8
+hi DiffChange gui=NONE guifg=#408040 guibg=#d0f0d0
+hi DiffDelete gui=NONE guifg=#4848ff guibg=#ffd0ff
+hi DiffAdd gui=NONE guifg=#4848ff guibg=#ffd0ff
+
+" Cursor
+hi Cursor gui=NONE guifg=#0000ff guibg=#00e0ff
+hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff
+hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff
+
+" Fold
+hi Folded gui=NONE guifg=#20605c guibg=#b8e8dc
+hi FoldColumn gui=NONE guifg=#40a098 guibg=#f0f0f0
+
+" Other
+hi Directory gui=NONE guifg=#0070b8 guibg=NONE
+hi LineNr gui=NONE guifg=#acacac guibg=NONE
+hi NonText gui=BOLD guifg=#00a0c0 guibg=#ececec
+hi SpecialKey gui=NONE guifg=#4040ff guibg=NONE
+hi Title gui=NONE guifg=#0050a0 guibg=#c0e8ff
+hi Visual gui=NONE guifg=#484848 guibg=#e0e0e0
+" hi VisualNOS gui=NONE guifg=#484848 guibg=#e0e0e0
+
+" Syntax group
+hi Comment gui=NONE guifg=#ff4080 guibg=NONE
+hi Constant gui=NONE guifg=#8016ff guibg=NONE
+hi Error gui=BOLD guifg=#ffffff guibg=#ff4080
+hi Identifier gui=NONE guifg=#008888 guibg=NONE
+hi Ignore gui=NONE guifg=#f8f8f8 guibg=NONE
+hi PreProc gui=NONE guifg=#e06800 guibg=NONE
+hi Special gui=NONE guifg=#4a9400 guibg=NONE
+hi Statement gui=NONE guifg=#f030d0 guibg=NONE
+hi Todo gui=UNDERLINE guifg=#ff0070 guibg=#ffe0f4
+hi Type gui=NONE guifg=#0070e6 guibg=NONE
+hi Underlined gui=UNDERLINE guifg=fg guibg=NONE
212 colors/inkpot.vim
@@ -0,0 +1,212 @@
+" Vim color file
+" Name: inkpot.vim
+" Maintainer: Ciaran McCreesh <ciaran.mccreesh@blueyonder.co.uk>
+" This should work in the GUI, rxvt-unicode (88 colour mode) and xterm (256
+" colour mode). It won't work in 8/16 colour terminals.
+"
+" To use a black background, :let g:inkpot_black_background = 1
+
+set background=dark
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+
+let colors_name = "inkpot"
+
+" map a urxvt cube number to an xterm-256 cube number
+fun! <SID>M(a)
+ return strpart("0135", a:a, 1) + 0
+endfun
+
+" map a urxvt colour to an xterm-256 colour
+fun! <SID>X(a)
+ if &t_Co == 88
+ return a:a
+ else
+ if a:a == 8
+ return 237
+ elseif a:a < 16
+ return a:a
+ elseif a:a > 79
+ return 232 + (3 * (a:a - 80))
+ else
+ let l:b = a:a - 16
+ let l:x = l:b % 4
+ let l:y = (l:b / 4) % 4
+ let l:z = (l:b / 16)
+ return 16 + <SID>M(l:x) + (6 * <SID>M(l:y)) + (36 * <SID>M(l:z))
+ endif
+ endif
+endfun
+
+if ! exists("g:inkpot_black_background")
+ let g:inkpot_black_background = 0
+endif
+
+if has("gui_running")
+ if ! g:inkpot_black_background
+ hi Normal gui=NONE guifg=#cfbfad guibg=#1e1e27
+ else
+ hi Normal gui=NONE guifg=#cfbfad guibg=#000000
+ endif
+
+ hi IncSearch gui=BOLD guifg=#303030 guibg=#cd8b60
+ hi Search gui=NONE guifg=#303030 guibg=#cd8b60
+ hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#ce4e4e
+ hi WarningMsg gui=BOLD guifg=#ffffff guibg=#ce8e4e
+ hi ModeMsg gui=BOLD guifg=#7e7eae guibg=NONE
+ hi MoreMsg gui=BOLD guifg=#7e7eae guibg=NONE
+ hi Question gui=BOLD guifg=#ffcd00 guibg=NONE
+
+ hi StatusLine gui=BOLD guifg=#b9b9b9 guibg=#3e3e5e
+ hi User1 gui=BOLD guifg=#00ff8b guibg=#3e3e5e
+ hi User2 gui=BOLD guifg=#7070a0 guibg=#3e3e5e
+ hi StatusLineNC gui=NONE guifg=#b9b9b9 guibg=#3e3e5e
+ hi VertSplit gui=NONE guifg=#b9b9b9 guibg=#3e3e5e
+
+ hi WildMenu gui=BOLD guifg=#eeeeee guibg=#6e6eaf
+
+ hi MBENormal guifg=#cfbfad guibg=#2e2e3f
+ hi MBEChanged guifg=#eeeeee guibg=#2e2e3f
+ hi MBEVisibleNormal guifg=#cfcfcd guibg=#4e4e8f
+ hi MBEVisibleChanged guifg=#eeeeee guibg=#4e4e8f
+
+ hi DiffText gui=NONE guifg=#ffffcd guibg=#4a2a4a
+ hi DiffChange gui=NONE guifg=#ffffcd guibg=#306b8f
+ hi DiffDelete gui=NONE guifg=#ffffcd guibg=#6d3030
+ hi DiffAdd gui=NONE guifg=#ffffcd guibg=#306d30
+
+ hi Cursor gui=NONE guifg=#404040 guibg=#8b8bff
+ hi lCursor gui=NONE guifg=#404040 guibg=#8fff8b
+ hi CursorIM gui=NONE guifg=#404040 guibg=#8b8bff
+
+ hi Folded gui=NONE guifg=#cfcfcd guibg=#4b208f
+ hi FoldColumn gui=NONE guifg=#8b8bcd guibg=#2e2e2e
+
+ hi Directory gui=NONE guifg=#00ff8b guibg=NONE
+ hi LineNr gui=NONE guifg=#8b8bcd guibg=#2e2e2e
+ hi NonText gui=BOLD guifg=#8b8bcd guibg=NONE
+ hi SpecialKey gui=BOLD guifg=#ab60ed guibg=NONE
+ hi Title gui=BOLD guifg=#af4f4b guibg=NONE
+ hi Visual gui=NONE guifg=#eeeeee guibg=#4e4e8f
+
+ hi Comment gui=NONE guifg=#cd8b00 guibg=NONE
+ hi Constant gui=NONE guifg=#ffcd8b guibg=NONE
+ hi String gui=NONE guifg=#ffcd8b guibg=#404040
+ hi Error gui=NONE guifg=#ffffff guibg=#6e2e2e
+ hi Identifier gui=NONE guifg=#ff8bff guibg=NONE
+ hi Ignore gui=NONE
+ hi Number gui=NONE guifg=#f0ad6d guibg=NONE
+ hi PreProc gui=NONE guifg=#409090 guibg=NONE
+ hi Special gui=NONE guifg=#c080d0 guibg=NONE
+ hi SpecialChar gui=NONE guifg=#c080d0 guibg=#404040
+ hi Statement gui=NONE guifg=#808bed guibg=NONE
+ hi Todo gui=BOLD guifg=#303030 guibg=#d0a060
+ hi Type gui=NONE guifg=#ff8bff guibg=NONE
+ hi Underlined gui=BOLD guifg=#df9f2d guibg=NONE
+ hi TaglistTagName gui=BOLD guifg=#808bed guibg=NONE
+
+ hi perlSpecialMatch gui=NONE guifg=#c080d0 guibg=#404040
+ hi perlSpecialString gui=NONE guifg=#c080d0 guibg=#404040
+
+ hi cSpecialCharacter gui=NONE guifg=#c080d0 guibg=#404040
+ hi cFormat gui=NONE guifg=#c080d0 guibg=#404040
+
+ hi doxygenBrief gui=NONE guifg=#fdab60 guibg=NONE
+ hi doxygenParam gui=NONE guifg=#fdd090 guibg=NONE
+ hi doxygenPrev gui=NONE guifg=#fdd090 guibg=NONE
+ hi doxygenSmallSpecial gui=NONE guifg=#fdd090 guibg=NONE
+ hi doxygenSpecial gui=NONE guifg=#fdd090 guibg=NONE
+ hi doxygenComment gui=NONE guifg=#ad7b20 guibg=NONE
+ hi doxygenSpecial gui=NONE guifg=#fdab60 guibg=NONE
+ hi doxygenSpecialMultilineDesc gui=NONE guifg=#ad600b guibg=NONE
+ hi doxygenSpecialOnelineDesc gui=NONE guifg=#ad600b guibg=NONE
+
+ if v:version >= 700
+ hi Pmenu gui=NONE guifg=#eeeeee guibg=#4e4e8f
+ hi PmenuSel gui=BOLD guifg=#eeeeee guibg=#2e2e3f
+ hi PmenuSbar gui=BOLD guifg=#eeeeee guibg=#6e6eaf
+ hi PmenuThumb gui=BOLD guifg=#eeeeee guibg=#6e6eaf
+
+ hi SpellBad gui=undercurl guisp=#cc6666
+ hi SpellRare gui=undercurl guisp=#cc66cc
+ hi SpellLocal gui=undercurl guisp=#cccc66
+ hi SpellCap gui=undercurl guisp=#66cccc
+
+ hi MatchParen gui=NONE guifg=#404040 guibg=#8fff8b
+ endif
+else
+ if ! g:inkpot_black_background
+ exec "hi Normal cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(80)
+ else
+ exec "hi Normal cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(16)
+ endif
+
+ exec "hi IncSearch cterm=BOLD ctermfg=" . <SID>X(80) . " ctermbg=" . <SID>X(73)
+ exec "hi Search cterm=NONE ctermfg=" . <SID>X(80) . " ctermbg=" . <SID>X(73)
+ exec "hi ErrorMsg cterm=BOLD ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(48)
+ exec "hi WarningMsg cterm=BOLD ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(68)
+ exec "hi ModeMsg cterm=BOLD ctermfg=" . <SID>X(38) . " ctermbg=" . "NONE"
+ exec "hi MoreMsg cterm=BOLD ctermfg=" . <SID>X(38) . " ctermbg=" . "NONE"
+ exec "hi Question cterm=BOLD ctermfg=" . <SID>X(52) . " ctermbg=" . "NONE"
+
+ exec "hi StatusLine cterm=BOLD ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(81)
+ exec "hi User1 cterm=BOLD ctermfg=" . <SID>X(28) . " ctermbg=" . <SID>X(81)
+ exec "hi User2 cterm=BOLD ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(81)
+ exec "hi StatusLineNC cterm=NONE ctermfg=" . <SID>X(84) . " ctermbg=" . <SID>X(81)
+ exec "hi VertSplit cterm=NONE ctermfg=" . <SID>X(84) . " ctermbg=" . <SID>X(81)
+
+ exec "hi WildMenu cterm=BOLD ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(38)
+
+ exec "hi MBENormal ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(81)
+ exec "hi MBEChanged ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(81)
+ exec "hi MBEVisibleNormal ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(82)
+ exec "hi MBEVisibleChanged ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(82)
+
+ exec "hi DiffText cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(34)
+ exec "hi DiffChange cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(17)
+ exec "hi DiffDelete cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(32)
+ exec "hi DiffAdd cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(20)
+
+ exec "hi Folded cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(35)
+ exec "hi FoldColumn cterm=NONE ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(80)
+
+ exec "hi Directory cterm=NONE ctermfg=" . <SID>X(28) . " ctermbg=" . "NONE"
+ exec "hi LineNr cterm=NONE ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(80)
+ exec "hi NonText cterm=BOLD ctermfg=" . <SID>X(39) . " ctermbg=" . "NONE"
+ exec "hi SpecialKey cterm=BOLD ctermfg=" . <SID>X(55) . " ctermbg=" . "NONE"
+ exec "hi Title cterm=BOLD ctermfg=" . <SID>X(48) . " ctermbg=" . "NONE"
+ exec "hi Visual cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(38)
+
+ exec "hi Comment cterm=NONE ctermfg=" . <SID>X(52) . " ctermbg=" . "NONE"
+ exec "hi Constant cterm=NONE ctermfg=" . <SID>X(73) . " ctermbg=" . "NONE"
+ exec "hi String cterm=NONE ctermfg=" . <SID>X(73) . " ctermbg=" . <SID>X(81)
+ exec "hi Error cterm=NONE ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(32)
+ exec "hi Identifier cterm=NONE ctermfg=" . <SID>X(53) . " ctermbg=" . "NONE"
+ exec "hi Ignore cterm=NONE"
+ exec "hi Number cterm=NONE ctermfg=" . <SID>X(69) . " ctermbg=" . "NONE"
+ exec "hi PreProc cterm=NONE ctermfg=" . <SID>X(25) . " ctermbg=" . "NONE"
+ exec "hi Special cterm=NONE ctermfg=" . <SID>X(55) . " ctermbg=" . "NONE"
+ exec "hi SpecialChar cterm=NONE ctermfg=" . <SID>X(55) . " ctermbg=" . <SID>X(81)
+ exec "hi Statement cterm=NONE ctermfg=" . <SID>X(27) . " ctermbg=" . "NONE"
+ exec "hi Todo cterm=BOLD ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(57)
+ exec "hi Type cterm=NONE ctermfg=" . <SID>X(71) . " ctermbg=" . "NONE"
+ exec "hi Underlined cterm=BOLD ctermfg=" . <SID>X(77) . " ctermbg=" . "NONE"
+ exec "hi TaglistTagName cterm=BOLD ctermfg=" . <SID>X(39) . " ctermbg=" . "NONE"
+
+ if v:version >= 700
+ exec "hi Pmenu cterm=NONE ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(82)
+ exec "hi PmenuSel cterm=BOLD ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(38)
+ exec "hi PmenuSbar cterm=BOLD ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(39)
+ exec "hi PmenuThumb cterm=BOLD ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(39)
+
+ exec "hi SpellBad cterm=NONE ctermbg=" . <SID>X(32)
+ exec "hi SpellRare cterm=NONE ctermbg=" . <SID>X(33)
+ exec "hi SpellLocal cterm=NONE ctermbg=" . <SID>X(36)
+ exec "hi SpellCap cterm=NONE ctermbg=" . <SID>X(21)
+ exec "hi MatchParen cterm=NONE ctermbg=" . <SID>X(14) . "ctermfg=" . <SID>X(25)
+ endif
+endif
+
+" vim: set et :
188 colors/kib_plastic.vim
@@ -0,0 +1,188 @@
+" Vim color file
+" Name: kib_plastic
+" Maintainer: Kib² <kib2@free.fr>
+" Version: 0.1
+" Last Time Modified: 02.01.2007
+
+" Couleur du fond d'ecran
+set background=light
+if version > 580
+ hi clear
+ if exists("syntax_on")
+ syntax reset
+ endif
+endif
+
+let g:colors_name="kib_plastic"
+
+" Help : type ':highlight' and read...
+
+" ======================================================
+" ==================================== normal Mode:
+" ======================================================
+
+" ==== Some constants :
+
+" Normal : foreground and background
+hi Normal guibg=#eeeeee guifg=#515044
+
+" ==== Titles :
+hi Title guifg=#4e9a06
+
+
+" ==== Comments : any comment
+hi Comments guifg=#0066ff " any comment
+
+" ===== Constants :
+hi Constants guifg=#6782d3 " any constant
+hi String guifg=#729fcf " a string constant: "this is a string"
+hi Character guifg=#3465a4 " a character constant: 'c', '\n'
+hi Number guifg=#0066cd " a number constant: 234, 0xff
+hi Boolean guifg=#c1c144 " a boolean constant: TRUE, false
+hi Float guifg=#c1c144 " a floating point constant: 2.3e10
+
+" ===== Identifier : any variable name
+hi Identifier guifg=#ff8000 " function name (also: methods for classes)
+
+" ===== Statements : Les mots cles de chaque language
+hi Statement guifg=#9700cc " par défaut
+hi Conditional guifg=#4e9a06 " if, then, else, endif, switch, etc.
+hi Repeat guifg=#73d216 " boucles for, do, while, etc.
+hi Label guifg=#8ae234 " case, default, etc.
+hi Operator guifg=#fcaf3e " "sizeof", "+", "*", etc.
+hi Keyword guifg=#f57900 " any other keyword
+hi Exception guifg=#ce5c00 " try, catch, throw
+
+" ==== PreProc : generic Preprocessor
+hi PreProc guifg=#8f5502 " generic Preprocessor
+hi Include guifg=#8f5502 " preprocessor #include
+hi Define guifg=#8f5502 " preprocessor #define
+hi Macro guifg=#8f5502 " same as Define
+hi PreCondit guifg=#8f5502 " preprocessor #if, #else, #endif, etc.
+
+" ==== Types : int, long, char, etc.
+hi Type guifg=#000000 " int, long, char, etc.
+hi StorageClass guifg=#000000 " static, register, volatile, etc.
+hi Structure guifg=#000000 " struct, union, enum, etc.
+hi Typedef guifg=#000000 " A typedef
+
+" ==== Special : any special symbol
+hi Special guifg=#4e9a06 " any special symbol
+hi SpecialChar guifg=#4e9a06 " special character in a constant
+hi Tag guifg=#4e9a06 " you can use CTRL-] on this
+hi Delimiter guifg=#4e9a06 " character that needs attention
+hi SpecialComment guifg=#4e9a06 " special things inside a comment
+hi Debug guifg=#4e9a06 " debugging statements
+
+" ==== Underlined : text that stands out, liens HTML
+hi Underlined guifg=#20b0eF gui=none
+
+" ==== Ignore :
+hi Ignore guifg=#f57900 " left blank, hidden
+
+" ==== Error : any erroneous construct
+hi Error guifg=#990000 "
+
+" ==== Todo :
+hi Todo guibg=#ce5c00 guifg=#eeeeec " keywords TODO FIXME and XXX
+
+" ======================================================
+" ==================================== End Normal mode
+" ======================================================
+
+" ======================================================
+" ==================================== Start Python Mode:
+" ==== Dmitry Vasiliev as written a very good Python.vim
+" ==== syntax file, wich brings more features. See:
+" ==== http://www.hlabs.spb.ru/vim/python.vim
+" ======================================================
+
+" pythonSync:
+
+" pythonStatement:
+hi pythonStatement guifg=#4e9a06 " Python Statement : break, continue, del
+
+" pythonImport:
+hi pythonImport guifg=#9700cc " Python Imports : break, continue, del
+
+" pythonRepeat:
+hi pythonRepeat guifg=#4e9a06 " Python Repeat : for, while, etc.
+
+" pythonConditional:
+hi pythonConditional guifg=#d28202 " Python conditonnal : if, elif, else, then
+
+" pythonPrecondit:
+hi pythonPrecondit guifg=#ef2929 " python Precondit : import from
+
+" pythonOperator:
+hi pythonOperator guifg=#ef2929 " pythonOperator : and, in, is, not, or
+
+" pythonComment:
+hi pythonComment guifg=#0066ff " Python comments
+
+" pythonEscape:
+
+
+" pythonRawString:
+hi pythonRawString guifg=#ad7fa8 " Python raw strings
+
+" pythonBuiltin: True False bool enumerate set frozenset help
+
+
+" pythonException:
+
+" ===== Linked
+" pythonFunction: links to Function
+
+" pythonTodo: links to Todo
+
+" pythonDecorator: links to Define
+
+" pythonString: links to String
+
+" pythonNumber: links to Number
+
+" pythonSpaceError: links to Error
+
+" ======================================================
+" ==================================== End Python Mode:
+" ======================================================
+hi Cursor guibg=#ff6a6a guifg=#ffffff
+"hi CursorIM
+hi Directory guifg=#bbd0df
+"hi DiffAdd
+"hi DiffChange
+"hi DiffDelete
+"hi DiffText
+"hi ErrorMsg
+hi VertSplit guibg=#888a85 guifg=#2e3436 gui=none
+hi Folded guibg=#babdb6 guifg=#000000 " How the text appears once folded
+hi FoldColumn guibg=#babdb6 guifg=#555753
+hi LineNr guibg=#eeeeee guifg=#fcaf3e " Line numbers
+hi MatchParen guibg=#babdb6 guifg=#2e3436
+hi ModeMsg guifg=#f57900
+hi MoreMsg guifg=#f57900
+hi NonText guibg=#eeeeee guifg=#555753
+hi Question guifg=#aabbcc
+hi Search guibg=#fce94f guifg=#c4a000
+hi IncSearch guibg=#c4a000 guifg=#fce94f
+hi SpecialKey guifg=#ce5c00
+hi StatusLine guibg=#888a85 guifg=#2e3436 gui=none
+hi StatusLineNC guibg=#888a85 guifg=#fce94f gui=none
+hi Visual guibg=#ff6a6a guifg=#000000 " Selection of text in Visual Mode
+"hi VisualNOS
+hi WarningMsg guifg=salmon
+hi WildMenu
+hi Menu guibg=#ff6a6a guifg=#000000
+"hi Scrollbar guibg=grey30 guifg=tan
+"hi Tooltip
+hi Pmenu guibg=#babdb6 guifg=#555753
+hi PmenuSel guibg=#eeeeee guifg=#2e3436
+hi CursorLine guibg=#212628
+
+
+" {{{ terminal
+" TODO
+" }}}
+
+"vim: sw=4
57 colors/lightblue.vim
@@ -0,0 +1,57 @@
+" Vim color file
+" Maintainer: David Schweikert <dws@ee.ethz.ch>
+" Last Change: 2004 May 16
+
+" First remove all existing highlighting.
+hi clear
+
+let colors_name = "delek"
+
+hi Normal guifg=Black guibg=#5FE6E6
+
+" Groups used in the 'highlight' and 'guicursor' options default value.
+hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
+hi IncSearch term=reverse cterm=reverse gui=reverse
+hi ModeMsg term=bold cterm=bold gui=bold
+hi VertSplit term=reverse cterm=reverse gui=reverse
+hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
+hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
+hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
+hi Cursor guibg=Green guifg=NONE
+hi lCursor guibg=Cyan guifg=NONE
+hi Directory term=bold ctermfg=DarkBlue guifg=Blue
+hi LineNr term=underline ctermfg=Brown guifg=Brown
+hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen
+hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen
+hi Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE
+hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue
+hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta
+hi WarningMsg term=standout ctermfg=DarkRed guifg=Red
+hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
+hi Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
+hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
+hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue
+hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta
+hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
+
+hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
+hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
+hi NonText term=bold ctermfg=Blue gui=bold guifg=gray guibg=#5FE6E6
+hi Cursor guibg=fg guifg=bg
+
+" syntax highlighting
+hi PreProc term=underline cterm=NONE ctermfg=darkmagenta gui=NONE guifg=magenta3
+hi Identifier term=underline cterm=NONE ctermfg=darkcyan gui=NONE guifg=cyan4
+hi Comment term=NONE cterm=NONE ctermfg=darkred gui=NONE guifg=red2
+hi Constant term=underline cterm=NONE ctermfg=darkgreen gui=NONE guifg=green3
+hi Special term=bold cterm=NONE ctermfg=lightred gui=NONE guifg=deeppink
+hi Statement term=bold cterm=bold ctermfg=blue gui=bold guifg=blue
+hi Type term=underline cterm=NONE ctermfg=blue gui=bold guifg=blue
+
+if exists("syntax_on")
+ let syntax_cmd = "enable"
+ runtime syntax/syncolor.vim
+ unlet syntax_cmd
+endif
+
+" vim: sw=2
86 colors/midnight2.vim
@@ -0,0 +1,86 @@
+" Vim color file
+" Maintainer: Michael Brailsford <brailsmt@yahoo.com>
+" Date: $Date: 2002/04/11 03:29:51 $
+" Version: $Revision: 1.4 $
+" Inspiration: This colorscheme was inspired by midnight.vim. It is a darker
+" version of it. With some colors tweaked.
+" Thanks: Thanks go to Hans Fugal for creating the colorscheme template.
+" Without it I would have been lost creating the original midnight.vim
+" Note: If you do not like the dark look of the colorscheme, you can
+" easily lighten things up with the following line:
+" :%s/\(\w\)3/\12/g
+" It is easily pasteable into the command line. you can also
+" change "\12" to "\11", "\1" or "\14" (if you want things even
+" darker). If you do use the "\14" replacement, then it looks
+" like your monitor in a fog bank. :)
+
+" your pick:
+set background=dark
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+let g:colors_name="midnight2"
+
+hi Normal guifg=slategray3 guibg=#000029 ctermfg=14
+
+"Toggle semicolon matching at the end of lines
+nmap <silent> <leader>; :call ToggleSemicolonHighlighting()<cr>
+"{{{
+function! ToggleSemicolonHighlighting()
+ if exists("b:semicolon")
+ unlet b:semicolon
+ hi semicolon guifg=NONE gui=NONE ctermfg=NONE
+ else
+ syn match semicolon #;$#
+ hi semicolon guifg=red3 gui=bold ctermfg=1
+ let b:semicolon = 1
+ endif
+endfunction
+"}}}
+
+hi Cursor guifg=bg guibg=fg ctermfg=0 ctermbg=11
+"hi CursorIM
+hi Directory gui=bold
+hi DiffAdd guifg=yellow3 guibg=darkgreen ctermbg=0
+"hi DiffChange
+"hi DiffDelete
+"hi DiffText
+hi ErrorMsg guibg=red3 ctermfg=1
+"hi VertSplit
+hi Folded guibg=#00001a ctermbg=4 guifg=yellow3 ctermfg=11 gui=NONE
+hi FoldColumn guibg=steelblue3 ctermbg=14 guifg=navyblue ctermfg=11 gui=bold
+"hi IncSearch
+hi LineNr guifg=yellow3 ctermfg=11
+hi ModeMsg guifg=yellow3 gui=bold
+"hi MoreMsg
+"hi NonText
+"hi Question
+hi Search guibg=yellow3 guifg=bg