citadel

My dotfiles, scripts and nix configs
git clone git://jb55.com/citadel
Log | Files | Refs | README | LICENSE

marklar.vim (7686B)


      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 " ------------------------------------------------------------------
     15 
     16 hi clear
     17 set background=dark
     18 if exists("syntax_on")
     19     syntax reset
     20 endif
     21 let g:colors_name = "marklar"
     22 
     23 if !exists("s:main")
     24 
     25     " OPTIONS:
     26     let s:bold_opt = 0
     27     let s:ignore_opt = 1
     28 
     29     function! s:main()
     30         if version >= 700
     31             call s:apply_opts()
     32         endif
     33 
     34         if s:bold_opt
     35             let s:bold = 'bold'
     36         else
     37             let s:bold = 'NONE'
     38         endif
     39 
     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
     47 
     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=underline"
     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"
     54 
     55         execute "hi Ignore           guifg=".s:ignore." guibg=NONE               ctermfg=0"
     56 
     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
     68 
     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
     77 
     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
    112 
    113     if version >= 700
    114 
    115         let s:opts = {'bold': 0, 'ignore': 1}
    116 
    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
    122 
    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
    132 
    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
    173 
    174 call s:main()