ignore on .netrwhist
[my-vim-dotfolder.git] / colors / marklar.vim
blob724d72c384f45da2008c3b7b7db2f30da91024de
1 " ------------------------------------------------------------------
2 " Filename:      marklar.vim
3 " Last Modified: Nov, 30 2006 (13:01)
4 " Version:       0.5
5 " Maintainer:    SM Smithfield (m_smithfield AT yahoo DOT com)
6 " Copyright:     2006 SM Smithfield
7 "                This script is free software; you can redistribute it and/or 
8 "                modify it under the terms of the GNU General Public License as 
9 "                published by the Free Software Foundation; either version 2 of 
10 "                the License, or (at your option) any later version. 
11 " Description:   Vim colorscheme file.
12 " Install:       Put this file in the users colors directory (~/.vim/colors)
13 "                then load it with :colorscheme marklar
14 " ------------------------------------------------------------------
16 hi clear
17 set background=dark
18 if exists("syntax_on")
19     syntax reset
20 endif
21 let g:colors_name = "marklar"
23 if !exists("s:main")
25     " OPTIONS:
26     let s:bold_opt = 0
27     let s:ignore_opt = 1
29     function! s:main()
30         if version >= 700
31             call s:apply_opts()
32         endif
34         if s:bold_opt
35             let s:bold = 'bold'
36         else
37             let s:bold = 'NONE'
38         endif
40         if s:ignore_opt
41             " completely invisible
42             let s:ignore = 'bg'
43         else
44             " nearly invisible
45             let s:ignore = '#467C5C'
46         endif
48         execute "hi Constant         guifg=#FFFFFF guibg=NONE                 ctermfg=7 cterm=NONE"
49         execute "hi Identifier       guifg=#38FF56 guibg=NONE gui=".s:bold."  ctermfg=8 cterm=bold"
50         execute "hi Statement        guifg=#FFFF00 guibg=NONE gui=".s:bold."  ctermfg=3 cterm=bold"
51         execute "hi Special          guifg=#25B9F8 guibg=bg   gui=".s:bold."  ctermfg=2 cterm=NONE"
52         execute "hi PreProc          guifg=#FF80FF guibg=bg   gui=NONE        ctermfg=2"
53         execute "hi Type             guifg=#00FFFF guibg=NONE gui=".s:bold."  ctermfg=6 cterm=bold"
55         execute "hi Ignore           guifg=".s:ignore." guibg=NONE               ctermfg=0"
57         hi Comment          guifg=#00BBBB guibg=NONE               ctermfg=6 cterm=none
58         hi Cursor           guifg=NONE    guibg=#FF0000
59         hi DiffAdd          guifg=NONE    guibg=#136769            ctermfg=4 ctermbg=7 cterm=NONE
60         hi DiffDelete       guifg=NONE    guibg=#50694A            ctermfg=1 ctermbg=7 cterm=NONE
61         hi DiffChange       guifg=fg      guibg=#00463c gui=NONE   ctermfg=4 ctermbg=2 cterm=NONE
62         hi DiffText         guifg=#7CFC94 guibg=#00463c gui=bold   ctermfg=4 ctermbg=3 cterm=NONE
63         hi Directory        guifg=#25B9F8 guibg=NONE               ctermfg=2
64         hi Error            guifg=#FFFFFF guibg=#000000            ctermfg=7 ctermbg=0 cterm=bold
65         hi ErrorMsg         guifg=#8eff2e guibg=#204d40
66         hi FoldColumn       guifg=#00BBBB guibg=#204d40
67         hi Folded           guifg=#44DDDD guibg=#204d40            ctermfg=0 ctermbg=8 cterm=bold
69         hi IncSearch        guibg=#52891f gui=bold
70         hi LineNr           guifg=#38ff56 guibg=#204d40
71         hi ModeMsg          guifg=#FFFFFF guibg=#0000FF            ctermfg=7 ctermbg=4 cterm=bold
72         hi MoreMsg          guifg=#FFFFFF guibg=#00A261            ctermfg=7 ctermbg=2 cterm=bold
73         hi NonText          guifg=#00bbbb guibg=#204d40
74         hi Normal           guifg=#71C293 guibg=#06544a
75         hi Question         guifg=#FFFFFF guibg=#00A261
76         hi Search           guifg=NONE    guibg=#0f374c            ctermfg=3 ctermbg=0 cterm=bold
78         hi SignColumn       guifg=#00BBBB guibg=#204d40
79         hi SpecialKey       guifg=#00FFFF guibg=#266955
80         hi StatusLine       guifg=#245748 guibg=#71C293 gui=NONE   cterm=reverse
81         hi StatusLineNC     guifg=#245748 guibg=#689C7C gui=NONE
82         hi Title            guifg=#7CFC94 guibg=NONE gui=bold      ctermfg=2 cterm=bold
83         hi Todo             guifg=#FFFFFF guibg=#884400            ctermfg=6 ctermbg=4 cterm=NONE
84         hi Underlined       guifg=#df820c guibg=NONE gui=underline ctermfg=8 cterm=underline
85         hi Visual           guibg=#0B7260 gui=NONE
86         hi WarningMsg       guifg=#FFFFFF guibg=#FF0000            ctermfg=7 ctermbg=1 cterm=bold
87         hi WildMenu         guifg=#20012e guibg=#00a675 gui=bold   ctermfg=NONE ctermbg=NONE cterm=bold
88         "
89         if version >= 700
90             hi SpellBad     guisp=#FF0000
91             hi SpellCap     guisp=#0000FF
92             hi SpellRare    guisp=#ff4046
93             hi SpellLocal   guisp=#000000                          ctermbg=0
94             hi Pmenu        guifg=#00ffff guibg=#000000            ctermbg=0 ctermfg=6
95             hi PmenuSel     guifg=#ffff00 guibg=#000000 gui=bold   cterm=bold ctermfg=3
96             hi PmenuSbar    guibg=#204d40                          ctermbg=6
97             hi PmenuThumb   guifg=#38ff56                          ctermfg=3
98             hi CursorColumn guibg=#096354
99             hi CursorLine   guibg=#096354
100             hi Tabline      guifg=bg      guibg=fg gui=NONE        cterm=reverse,bold ctermfg=NONE ctermbg=NONE
101             hi TablineSel   guifg=#20012e guibg=#00a675 gui=bold
102             hi TablineFill  guifg=#689C7C
103             hi MatchParen   guifg=#38ff56 guibg=#0000ff gui=bold   ctermbg=4
104         endif
105         "
106         hi Tag              guifg=#7CFC94 guibg=NONE gui=bold      ctermfg=2 cterm=bold
107         hi link Bold Tag
108         "
109         hi pythonPreCondit                                         ctermfg=2 cterm=NONE
110         execute "hi tkWidget         guifg=#ffa0a0 guibg=bg gui=".s:bold." ctermfg=7 cterm=bold"
111     endfunction
113     if version >= 700
115         let s:opts = {'bold': 0, 'ignore': 1}
117         " preserves vim<7 compat, while letting me reuses some code
118         function! s:apply_opts()
119             let s:bold_opt = s:opts['bold']
120             let s:ignore_opt = s:opts['ignore']
121         endfunction
123         function! s:print_opts(...)
124             let d = a:000
125             if len(a:000) == 0
126                 let d = keys(s:opts)
127             endif
128             for k in d
129                 echo k.': '.s:opts[k]
130             endfor
131         endfunction
133         function! s:Marklar(...)
134             let args = a:000
135             if len(args) == 0
136                 call s:print_opts()
137             else
138                 while len(args)>0
139                     " take first arg
140                     let k = args[0]
141                     let args = args[1:]
142                     " is it a key?
143                     if k =~ '\a\+!'
144                         " does it bang?
145                         let k = strpart(k,0,strlen(k)-1)
146                         let s:opts[k] = !s:opts[k]
147                         call s:main()
148                     elseif k =~ '\a\+?'
149                         " does it quiz?
150                         let k = strpart(k,0,strlen(k)-1)
151                         call s:print_opts(k)
152                     elseif len(args)
153                         " is there another arg?
154                         " take it
155                         let v = args[0]
156                         let args = args[1:]
157                         " is it legal value?
158                         if v == 0 || v == 1
159                             " assign val->key
160                             let s:opts[k] = v
161                             call s:main()
162                         else
163                             echoerr "(".v.") Bad value. Expected 0 or 1."
164                         endif
165                     else
166                     endif
167                 endwhile
168             endif
169         endfunction
170         command! -nargs=*  Marklar  :call s:Marklar(<f-args>)
171     endif
172 endif
174 call s:main()