Browse Source

initial commit

master
Von Random 4 years ago
commit
5bc9bf3f72
  1. 30
      .gitmodules
  2. 7
      README.md
  3. 77
      start/LOCAL/after/plugin/init.vim
  4. 265
      start/LOCAL/colors/apprentice.vim
  5. 2302
      start/LOCAL/colors/gruvbox8.vim
  6. 453
      start/LOCAL/colors/hybrid.vim
  7. 769
      start/LOCAL/colors/lucius.vim
  8. 276
      start/LOCAL/colors/molokai.vim
  9. 618
      start/LOCAL/colors/solarized16.vim
  10. 44
      start/LOCAL/plugin/mouse_toggle.vim

30
.gitmodules vendored

@ -0,0 +1,30 @@
[submodule "vim-commentary"]
path = start/vim-commentary
url = https://github.com/tpope/vim-commentary.git
[submodule "vim-easy-align"]
path = start/vim-easy-align
url = https://github.com/junegunn/vim-easy-align.git
[submodule "vim-polyglot"]
path = start/vim-polyglot
url = https://github.com/sheerun/vim-polyglot
[submodule "vim-rsi"]
path = start/vim-rsi
url = https://github.com/tpope/vim-rsi.git
[submodule "vim-signify"]
path = start/vim-signify
url = https://github.com/mhinz/vim-signify.git
[submodule "vim-tru-typewriter"]
path = start/vim-tru-typewriter
url = https://git.vdrandom.org/vim-tru-typewriter
[submodule "ale"]
path = opt/ale
url = https://github.com/w0rp/ale.git
[submodule "jedi-vim"]
path = opt/jedi-vim
url = https://github.com/davidhalter/jedi-vim.git
[submodule "vimwiki"]
path = opt/vimwiki
url = https://github.com/vimwiki/vimwiki.git
[submodule "vim-fugitive"]
path = start/vim-fugitive
url = https://github.com/tpope/vim-fugitive.git

7
README.md

@ -0,0 +1,7 @@
vdvim
=====
As if vdotfiles repo wasn't enough.
A separate repo for the simplicity of config management.
vimrc is executed as an after/plugin.

77
start/LOCAL/after/plugin/init.vim

@ -0,0 +1,77 @@
" various settings
set nobackup nomodeline backspace=indent,eol,start foldmethod=marker cursorline mouse=
" hidden characters
set list listchars=tab:\|_,nbsp:x,trail:*
" search
set hlsearch incsearch ignorecase smartcase
" scroll before reaching the first / final line
set scrolloff=3 sidescrolloff=15 sidescroll=1
" disable bell
set noerrorbells visualbell
" indentation
set tabstop=3 softtabstop=4 shiftwidth=4 smarttab expandtab autoindent
" status line
set wildmenu showcmd ruler laststatus=2
set statusline=[%F]\ %R%H%W%M\ %=[%{&fenc}/%{&ff}]\ %y\ [%4l/%L:%3v]
" update window title
if $TERM =~ '^screen'
set t_ts=k t_fs=\
endif
set title titlestring=[%{hostname()}]\ %t\ -\ vim
" enable case indentation
let g:sh_indent_case_labels=1
" version specific settings
if v:version >= 703
set colorcolumn=80 relativenumber formatoptions+=j
endif
" fix termcap and ttymouse, but not for neovim
if !has('nvim')
set ttymouse=sgr t_vb= t_Co=256 t_8f=[38;2;%lu;%lu;%lum t_8b=[48;2;%lu;%lu;%lum
endif
" maps
"leader
map <Space> <NOP>
let mapleader="\<Space>"
"no more F1
noremap <F1> <Esc>
lnoremap <F1> <Esc>
"some toggles
nnoremap <Leader>l :setlocal list!<CR>
nnoremap <Leader>c :setlocal cursorline!<CR>
nnoremap <Leader>w :setlocal wrap!<CR>
"turn off highlight until next search
noremap <Leader>/ :noh<CR>
"copy to / paste from clipboard
noremap <Leader>y "+y
noremap <Leader>d "+d
noremap <Leader>p "+p
noremap <Leader>P "+P
"move macro somewhere I won't accidentally use it
noremap q <NOP>
"Return in normal should insert new lines
nnoremap <CR> o<ESC>k
"quit / save
nnoremap <Leader>q :q<CR>
nnoremap <Leader>s :w<CR>
if v:version >= 800
set breakindent
" easy-align options
xmap <Leader>a <Plug>(EasyAlign)
nmap <Leader>a <Plug>(EasyAlign)
" enable packs based on filetype
let g:ale_python_flake8_executable = 'python2'
autocmd FileType python packadd ale | packadd jedi-vim
autocmd FileType sh packadd ale
if $TERM != 'linux'
set termguicolors background=dark
colorscheme gruvbox8
endif
endif
syntax on
filetype plugin on

265
start/LOCAL/colors/apprentice.vim

@ -0,0 +1,265 @@
" 'apprentice.vim' -- Vim color scheme.
" Author: Romain Lafourcade (romainlafourcade@gmail.com)
" Description: Essentially a streamlining and conversion to xterm colors of
" 'sorcerer' by Jeet Sukumaran (jeetsukumaran@gmailcom)
" Last Change: 2017 Oct 07
" MADE-UP NAME HEX RGB XTERM ANSI
" ========================================================================
" almost black #1c1c1c rgb(28, 28, 28) 234 0
" darker grey #262626 rgb(38, 38, 38) 235 background color
" dark grey #303030 rgb(48, 48, 48) 236 8
" grey #444444 rgb(68, 68, 68) 238 8
" medium grey #585858 rgb(88, 88, 88) 240 8
" light grey #6c6c6c rgb(108, 108, 108) 242 7
" lighter grey #bcbcbc rgb(188, 188, 188) 250 foreground color
" white #ffffff rgb(255, 255, 255) 231 15
" purple #5f5f87 rgb(95, 95, 135) 60 5
" light purple #8787af rgb(135, 135, 175) 103 13
" green #5f875f rgb(95, 135, 95) 65 2
" light green #87af87 rgb(135, 175, 135) 108 10
" aqua #5f8787 rgb(95, 135, 135) 66 6
" light aqua #5fafaf rgb(95, 175, 175) 73 14
" blue #5f87af rgb(95, 135, 175) 67 4
" light blue #8fafd7 rgb(143, 175, 215) 110 12
" red #af5f5f rgb(175, 95, 95) 131 1
" orange #ff8700 rgb(255, 135, 0) 208 9
" ocre #87875f rgb(135, 135, 95) 101 3
" yellow #ffffaf rgb(255, 255, 175) 229 11
hi clear
if exists("syntax_on")
syntax reset
endif
let colors_name = "apprentice"
if ($TERM =~ '256' || &t_Co >= 256) || has("gui_running")
hi Normal ctermbg=235 ctermfg=250 guibg=#262626 guifg=#bcbcbc cterm=NONE gui=NONE
hi LineNr ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE
hi FoldColumn ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE
hi Folded ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE
hi MatchParen ctermbg=234 ctermfg=229 guibg=#1c1c1c guifg=#ffffaf cterm=NONE gui=NONE
hi signColumn ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE
set background=dark
hi Comment ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE
hi Conceal ctermbg=NONE ctermfg=250 guibg=NONE guifg=#bcbcbc cterm=NONE gui=NONE
hi Constant ctermbg=NONE ctermfg=208 guibg=NONE guifg=#ff8700 cterm=NONE gui=NONE
hi Error ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=reverse gui=reverse
hi Identifier ctermbg=NONE ctermfg=67 guibg=NONE guifg=#5f87af cterm=NONE gui=NONE
hi Ignore ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE
hi PreProc ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=NONE gui=NONE
hi Special ctermbg=NONE ctermfg=65 guibg=NONE guifg=#5f875f cterm=NONE gui=NONE
hi Statement ctermbg=NONE ctermfg=110 guibg=NONE guifg=#8fafd7 cterm=NONE gui=NONE
hi String ctermbg=NONE ctermfg=108 guibg=NONE guifg=#87af87 cterm=NONE gui=NONE
hi Todo ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=reverse gui=reverse
hi Type ctermbg=NONE ctermfg=103 guibg=NONE guifg=#8787af cterm=NONE gui=NONE
hi Underlined ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=underline gui=underline
hi NonText ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE
hi Pmenu ctermbg=238 ctermfg=250 guibg=#444444 guifg=#bcbcbc cterm=NONE gui=NONE
hi PmenuSbar ctermbg=240 ctermfg=NONE guibg=#585858 guifg=NONE cterm=NONE gui=NONE
hi PmenuSel ctermbg=66 ctermfg=235 guibg=#5f8787 guifg=#262626 cterm=NONE gui=NONE
hi PmenuThumb ctermbg=66 ctermfg=66 guibg=#5f8787 guifg=#5f8787 cterm=NONE gui=NONE
hi ErrorMsg ctermbg=131 ctermfg=235 guibg=#af5f5f guifg=#262626 cterm=NONE gui=NONE
hi ModeMsg ctermbg=108 ctermfg=235 guibg=#87af87 guifg=#262626 cterm=NONE gui=NONE
hi MoreMsg ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=NONE gui=NONE
hi Question ctermbg=NONE ctermfg=108 guibg=NONE guifg=#87af87 cterm=NONE gui=NONE
hi WarningMsg ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=NONE gui=NONE
hi TabLine ctermbg=238 ctermfg=101 guibg=#444444 guifg=#87875f cterm=NONE gui=NONE
hi TabLineFill ctermbg=238 ctermfg=238 guibg=#444444 guifg=#444444 cterm=NONE gui=NONE
hi TabLineSel ctermbg=101 ctermfg=235 guibg=#87875f guifg=#262626 cterm=NONE gui=NONE
hi Cursor ctermbg=242 ctermfg=NONE guibg=#6c6c6c guifg=NONE cterm=NONE gui=NONE
hi CursorColumn ctermbg=236 ctermfg=NONE guibg=#303030 guifg=NONE cterm=NONE gui=NONE
hi CursorLineNr ctermbg=236 ctermfg=73 guibg=#303030 guifg=#5fafaf cterm=NONE gui=NONE
hi CursorLine ctermbg=236 ctermfg=NONE guibg=#303030 guifg=NONE cterm=NONE gui=NONE
hi helpLeadBlank ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE
hi helpNormal ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE
hi StatusLine ctermbg=101 ctermfg=235 guibg=#87875f guifg=#262626 cterm=NONE gui=NONE
hi StatusLineNC ctermbg=238 ctermfg=101 guibg=#444444 guifg=#87875f cterm=NONE gui=NONE
hi StatusLineTerm ctermbg=101 ctermfg=235 guibg=#87875f guifg=#262626 cterm=NONE gui=NONE
hi StatusLineTermNC ctermbg=238 ctermfg=101 guibg=#444444 guifg=#87875f cterm=NONE gui=NONE
hi Visual ctermbg=235 ctermfg=110 guibg=#262626 guifg=#8fafd7 cterm=reverse gui=reverse
hi VisualNOS ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=underline gui=underline
hi VertSplit ctermbg=238 ctermfg=238 guibg=#444444 guifg=#444444 cterm=NONE gui=NONE
hi WildMenu ctermbg=110 ctermfg=235 guibg=#8fafd7 guifg=#262626 cterm=NONE gui=NONE
hi Function ctermbg=NONE ctermfg=229 guibg=NONE guifg=#ffffaf cterm=NONE gui=NONE
hi SpecialKey ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE
hi Title ctermbg=NONE ctermfg=231 guibg=NONE guifg=#ffffff cterm=NONE gui=NONE
hi DiffAdd ctermbg=235 ctermfg=108 guibg=#262626 guifg=#87af87 cterm=reverse gui=reverse
hi DiffChange ctermbg=235 ctermfg=103 guibg=#262626 guifg=#8787af cterm=reverse gui=reverse
hi DiffDelete ctermbg=235 ctermfg=131 guibg=#262626 guifg=#af5f5f cterm=reverse gui=reverse
hi DiffText ctermbg=235 ctermfg=208 guibg=#262626 guifg=#ff8700 cterm=reverse gui=reverse
hi IncSearch ctermbg=131 ctermfg=235 guibg=#af5f5f guifg=#262626 cterm=NONE gui=NONE
hi Search ctermbg=229 ctermfg=235 guibg=#ffffaf guifg=#262626 cterm=NONE gui=NONE
hi Directory ctermbg=NONE ctermfg=73 guibg=NONE guifg=#5fafaf cterm=NONE gui=NONE
hi debugPC ctermbg=67 guibg=#5f87af
hi debugBreakpoint ctermbg=131 guibg=#af5f5f
if has("gui_running")
hi SpellBad ctermbg=NONE ctermfg=131 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#af5f5f
hi SpellCap ctermbg=NONE ctermfg=73 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#5fafaf
hi SpellLocal ctermbg=NONE ctermfg=65 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#5f875f
hi SpellRare ctermbg=NONE ctermfg=208 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#ff8700
else
hi SpellBad ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=undercurl gui=undercurl guisp=NONE
hi SpellCap ctermbg=NONE ctermfg=73 guibg=NONE guifg=#5fafaf cterm=undercurl gui=undercurl guisp=NONE
hi SpellLocal ctermbg=NONE ctermfg=65 guibg=NONE guifg=#5f875f cterm=undercurl gui=undercurl guisp=NONE
hi SpellRare ctermbg=NONE ctermfg=208 guibg=NONE guifg=#ff8700 cterm=undercurl gui=undercurl guisp=NONE
endif
hi ColorColumn ctermbg=234 ctermfg=NONE guibg=#1c1c1c guifg=NONE cterm=NONE gui=NONE
elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16
set t_Co=16
hi Normal ctermbg=NONE ctermfg=white cterm=NONE
set background=dark
hi Comment ctermbg=NONE ctermfg=gray cterm=NONE
hi Conceal ctermbg=NONE ctermfg=white cterm=NONE
hi Constant ctermbg=NONE ctermfg=red cterm=NONE
hi Function ctermbg=NONE ctermfg=yellow cterm=NONE
hi Identifier ctermbg=NONE ctermfg=darkblue cterm=NONE
hi PreProc ctermbg=NONE ctermfg=darkcyan cterm=NONE
hi Special ctermbg=NONE ctermfg=darkgreen cterm=NONE
hi Statement ctermbg=NONE ctermfg=blue cterm=NONE
hi String ctermbg=NONE ctermfg=green cterm=NONE
hi Todo ctermbg=NONE ctermfg=NONE cterm=reverse
hi Type ctermbg=NONE ctermfg=magenta cterm=NONE
hi Error ctermbg=NONE ctermfg=darkred cterm=reverse
hi Ignore ctermbg=NONE ctermfg=NONE cterm=NONE
hi Underlined ctermbg=NONE ctermfg=NONE cterm=reverse
hi LineNr ctermbg=black ctermfg=gray cterm=NONE
hi NonText ctermbg=NONE ctermfg=darkgray cterm=NONE
hi Pmenu ctermbg=darkgray ctermfg=white cterm=NONE
hi PmenuSbar ctermbg=gray ctermfg=NONE cterm=NONE
hi PmenuSel ctermbg=darkcyan ctermfg=black cterm=NONE
hi PmenuThumb ctermbg=darkcyan ctermfg=NONE cterm=NONE
hi ErrorMsg ctermbg=darkred ctermfg=black cterm=NONE
hi ModeMsg ctermbg=darkgreen ctermfg=black cterm=NONE
hi MoreMsg ctermbg=NONE ctermfg=darkcyan cterm=NONE
hi Question ctermbg=NONE ctermfg=green cterm=NONE
hi WarningMsg ctermbg=NONE ctermfg=darkred cterm=NONE
hi TabLine ctermbg=darkgray ctermfg=darkyellow cterm=NONE
hi TabLineFill ctermbg=darkgray ctermfg=black cterm=NONE
hi TabLineSel ctermbg=darkyellow ctermfg=black cterm=NONE
hi Cursor ctermbg=NONE ctermfg=NONE cterm=NONE
hi CursorColumn ctermbg=darkgray ctermfg=NONE cterm=NONE
hi CursorLineNr ctermbg=black ctermfg=cyan cterm=NONE
hi CursorLine ctermbg=darkgray ctermfg=NONE cterm=NONE
hi helpLeadBlank ctermbg=NONE ctermfg=NONE cterm=NONE
hi helpNormal ctermbg=NONE ctermfg=NONE cterm=NONE
hi StatusLine ctermbg=darkyellow ctermfg=black cterm=NONE
hi StatusLineNC ctermbg=darkgray ctermfg=darkyellow cterm=NONE
hi StatusLineterm ctermbg=darkyellow ctermfg=black cterm=NONE
hi StatusLinetermNC ctermbg=darkgray ctermfg=darkyellow cterm=NONE
hi Visual ctermbg=black ctermfg=blue cterm=reverse
hi VisualNOS ctermbg=black ctermfg=white cterm=reverse
hi FoldColumn ctermbg=black ctermfg=darkgray cterm=NONE
hi Folded ctermbg=black ctermfg=darkgray cterm=NONE
hi VertSplit ctermbg=darkgray ctermfg=darkgray cterm=NONE
hi WildMenu ctermbg=blue ctermfg=black cterm=NONE
hi SpecialKey ctermbg=NONE ctermfg=darkgray cterm=NONE
hi Title ctermbg=NONE ctermfg=white cterm=NONE
hi DiffAdd ctermbg=black ctermfg=green cterm=reverse
hi DiffChange ctermbg=black ctermfg=magenta cterm=reverse
hi DiffDelete ctermbg=black ctermfg=darkred cterm=reverse
hi DiffText ctermbg=black ctermfg=red cterm=reverse
hi IncSearch ctermbg=darkred ctermfg=black cterm=NONE
hi Search ctermbg=yellow ctermfg=black cterm=NONE
hi Directory ctermbg=NONE ctermfg=cyan cterm=NONE
hi MatchParen ctermbg=black ctermfg=yellow cterm=NONE
hi SpellBad ctermbg=NONE ctermfg=darkred cterm=undercurl
hi SpellCap ctermbg=NONE ctermfg=darkyellow cterm=undercurl
hi SpellLocal ctermbg=NONE ctermfg=darkgreen cterm=undercurl
hi SpellRare ctermbg=NONE ctermfg=darkmagenta cterm=undercurl
hi ColorColumn ctermbg=black ctermfg=NONE cterm=NONE
hi SignColumn ctermbg=black ctermfg=darkgray cterm=NONE
hi debugPC ctermbg=blue
hi debugBreakpoint ctermbg=red
endif
hi link Boolean Constant
hi link Character Constant
hi link Conditional Statement
hi link Debug Special
hi link Define PreProc
hi link Delimiter Special
hi link Exception Statement
hi link Float Number
hi link HelpCommand Statement
hi link HelpExample Statement
hi link Include PreProc
hi link Keyword Statement
hi link Label Statement
hi link Macro PreProc
hi link Number Constant
hi link Operator Statement
hi link PreCondit PreProc
hi link Repeat Statement
hi link SpecialChar Special
hi link SpecialComment Special
hi link StorageClass Type
hi link Structure Type
hi link Tag Special
hi link Typedef Type
hi link htmlEndTag htmlTagName
hi link htmlLink Function
hi link htmlSpecialTagName htmlTagName
hi link htmlTag htmlTagName
hi link htmlBold Normal
hi link htmlItalic Normal
hi link xmlTag Statement
hi link xmlTagName Statement
hi link xmlEndTag Statement
hi link markdownItalic Preproc
hi link asciidocQuotedEmphasized Preproc
hi link diffBDiffer WarningMsg
hi link diffCommon WarningMsg
hi link diffDiffer WarningMsg
hi link diffIdentical WarningMsg
hi link diffIsA WarningMsg
hi link diffNoEOL WarningMsg
hi link diffOnly WarningMsg
hi link diffRemoved WarningMsg
hi link diffAdded String

2302
start/LOCAL/colors/gruvbox8.vim

File diff suppressed because it is too large Load Diff

453
start/LOCAL/colors/hybrid.vim

@ -0,0 +1,453 @@
" File: hybrid.vim
" Maintainer: Andrew Wong (w0ng)
" URL: https://github.com/w0ng/vim-hybrid
" Modified: 27 Jan 2013 07:33 AM AEST
" License: MIT
" Description:"{{{
" ----------------------------------------------------------------------------
" The default RGB colour palette is taken from Tomorrow-Night.vim:
" https://github.com/chriskempson/vim-tomorrow-theme
"
" The reduced RGB colour palette is taken from Codecademy's online editor:
" https://www.codecademy.com/learn
"
" The syntax highlighting scheme is taken from jellybeans.vim:
" https://github.com/nanotech/jellybeans.vim
"
" The is code taken from solarized.vim:
" https://github.com/altercation/vim-colors-solarized
"}}}
" Requirements And Recommendations:"{{{
" ----------------------------------------------------------------------------
" Requirements
" - gVim 7.3+ on Linux, Mac and Windows.
" - Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours.
"
" Due to the limited 256 palette, colours in Vim and gVim will still be slightly
" different.
"
" In order to have Vim use the same colours as gVim (the way this colour scheme
" is intended), it is recommended that you define the basic 16 colours in your
" terminal.
"
" For Linux users (rxvt-unicode, xterm):
"
" 1. Add the default palette to ~/.Xresources:
"
" https://gist.github.com/3278077
"
" or alternatively, add the reduced contrast palette to ~/.Xresources:
"
" https://gist.github.com/w0ng/16e33902508b4a0350ae
"
" 2. Add to ~/.vimrc:
"
" let g:hybrid_custom_term_colors = 1
" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette.
" colorscheme hybrid
"
" For OSX users (iTerm):
"
" 1. Import the default colour preset into iTerm:
"
" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors
"
" or alternatively, import the reduced contrast color preset into iTerm:
"
" https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors
"
" 2. Add to ~/.vimrc:
"
" let g:hybrid_custom_term_colors = 1
" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette.
" colorscheme hybrid
"}}}
" Initialisation:"{{{
" ----------------------------------------------------------------------------
hi clear
if exists("syntax_on")
syntax reset
endif
let s:style = &background
let g:colors_name = "hybrid"
"}}}
" GUI And Cterm Palettes:"{{{
" ----------------------------------------------------------------------------
let s:palette = {'gui' : {} , 'cterm' : {}}
if exists("g:hybrid_reduced_contrast") && g:hybrid_reduced_contrast == 1
let s:gui_background = "#232c31"
let s:gui_selection = "#425059"
let s:gui_line = "#2d3c46"
let s:gui_comment = "#6c7a80"
else
let s:gui_background = "#1d1f21"
let s:gui_selection = "#373b41"
let s:gui_line = "#282a2e"
let s:gui_comment = "#707880"
endif
let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" }
let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" }
let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" }
let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" }
let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" }
let s:palette.gui.red = { 'dark' : "#cc6666" , 'light' : "#5f0000" }
let s:palette.gui.orange = { 'dark' : "#de935f" , 'light' : "#875f00" }
let s:palette.gui.yellow = { 'dark' : "#f0c674" , 'light' : "#5f5f00" }
let s:palette.gui.green = { 'dark' : "#b5bd68" , 'light' : "#005f00" }
let s:palette.gui.aqua = { 'dark' : "#8abeb7" , 'light' : "#005f5f" }
let s:palette.gui.blue = { 'dark' : "#81a2be" , 'light' : "#00005f" }
let s:palette.gui.purple = { 'dark' : "#b294bb" , 'light' : "#5f005f" }
let s:palette.gui.window = { 'dark' : "#303030" , 'light' : "#9e9e9e" }
let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" }
let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" }
let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" }
let s:palette.gui.changebg = { 'dark' : "#5F5F87" , 'light' : "#d7d7ff" }
let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" }
let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" }
let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" }
let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" }
let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" }
let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" }
if exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1
let s:cterm_foreground = "15" " White
let s:cterm_selection = "8" " DarkGrey
let s:cterm_line = "0" " Black
let s:cterm_comment = "7" " LightGrey
let s:cterm_red = "9" " LightRed
let s:cterm_orange = "3" " DarkYellow
let s:cterm_yellow = "11" " LightYellow
let s:cterm_green = "10" " LightGreen
let s:cterm_aqua = "14" " LightCyan
let s:cterm_blue = "12" " LightBlue
let s:cterm_purple = "13" " LightMagenta
let s:cterm_delbg = "9" " LightRed
else
let s:cterm_foreground = "250"
let s:cterm_selection = "237"
let s:cterm_line = "235"
let s:cterm_comment = "243"
let s:cterm_red = "167"
let s:cterm_orange = "173"
let s:cterm_yellow = "221"
let s:cterm_green = "143"
let s:cterm_aqua = "109"
let s:cterm_blue = "110"
let s:cterm_purple = "139"
let s:cterm_delbg = "167"
endif
let s:palette.cterm.background = { 'dark' : "234" , 'light' : "254" }
let s:palette.cterm.foreground = { 'dark' : s:cterm_foreground , 'light' : "16" }
let s:palette.cterm.window = { 'dark' : "236" , 'light' : "247" }
let s:palette.cterm.selection = { 'dark' : s:cterm_selection , 'light' : "250" }
let s:palette.cterm.line = { 'dark' : s:cterm_line , 'light' : "252" }
let s:palette.cterm.comment = { 'dark' : s:cterm_comment , 'light' : "59" }
let s:palette.cterm.red = { 'dark' : s:cterm_red , 'light' : "52" }
let s:palette.cterm.orange = { 'dark' : s:cterm_orange , 'light' : "94" }
let s:palette.cterm.yellow = { 'dark' : s:cterm_yellow , 'light' : "58" }
let s:palette.cterm.green = { 'dark' : s:cterm_green , 'light' : "22" }
let s:palette.cterm.aqua = { 'dark' : s:cterm_aqua , 'light' : "23" }
let s:palette.cterm.blue = { 'dark' : s:cterm_blue , 'light' : "17" }
let s:palette.cterm.purple = { 'dark' : s:cterm_purple , 'light' : "53" }
let s:palette.cterm.darkcolumn = { 'dark' : "234" , 'light' : "244" }
let s:palette.cterm.addbg = { 'dark' : "65" , 'light' : "194" }
let s:palette.cterm.addfg = { 'dark' : "193" , 'light' : "22" }
let s:palette.cterm.changebg = { 'dark' : "60" , 'light' : "189" }
let s:palette.cterm.changefg = { 'dark' : "189" , 'light' : "53" }
let s:palette.cterm.delbg = { 'dark' : s:cterm_delbg , 'light' : "224" }
let s:palette.cterm.darkblue = { 'dark' : "17" , 'light' : "194" }
let s:palette.cterm.darkcyan = { 'dark' : "24" , 'light' : "22" }
let s:palette.cterm.darkred = { 'dark' : "52" , 'light' : "189" }
let s:palette.cterm.darkpurple = { 'dark' : "53" , 'light' : "53" }
"}}}
" Formatting Options:"{{{
" ----------------------------------------------------------------------------
let s:none = "NONE"
let s:t_none = "NONE"
let s:n = "NONE"
let s:c = ",undercurl"
let s:r = ",reverse"
let s:s = ",standout"
let s:b = ",bold"
let s:u = ",underline"
let s:i = ",italic"
"}}}
" Highlighting Primitives:"{{{
" ----------------------------------------------------------------------------
function! s:build_prim(hi_elem, field)
" Given a:hi_elem = bg, a:field = comment
let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_comment
let l:gui_assign = "gui".a:hi_elem."=".s:palette.gui[a:field][s:style] " guibg=...
let l:cterm_assign = "cterm".a:hi_elem."=".s:palette.cterm[a:field][s:style] " ctermbg=...
exe "let " . l:vname . " = ' " . l:gui_assign . " " . l:cterm_assign . "'"
endfunction
let s:bg_none = ' guibg=NONE ctermbg=NONE'
call s:build_prim('bg', 'foreground')
call s:build_prim('bg', 'background')
call s:build_prim('bg', 'selection')
call s:build_prim('bg', 'line')
call s:build_prim('bg', 'comment')
call s:build_prim('bg', 'red')
call s:build_prim('bg', 'orange')
call s:build_prim('bg', 'yellow')
call s:build_prim('bg', 'green')
call s:build_prim('bg', 'aqua')
call s:build_prim('bg', 'blue')
call s:build_prim('bg', 'purple')
call s:build_prim('bg', 'window')
call s:build_prim('bg', 'darkcolumn')
call s:build_prim('bg', 'addbg')
call s:build_prim('bg', 'addfg')
call s:build_prim('bg', 'changebg')
call s:build_prim('bg', 'changefg')
call s:build_prim('bg', 'delbg')
call s:build_prim('bg', 'darkblue')
call s:build_prim('bg', 'darkcyan')
call s:build_prim('bg', 'darkred')
call s:build_prim('bg', 'darkpurple')
let s:fg_none = ' guifg=NONE ctermfg=NONE'
call s:build_prim('fg', 'foreground')
call s:build_prim('fg', 'background')
call s:build_prim('fg', 'selection')
call s:build_prim('fg', 'line')
call s:build_prim('fg', 'comment')
call s:build_prim('fg', 'red')
call s:build_prim('fg', 'orange')
call s:build_prim('fg', 'yellow')
call s:build_prim('fg', 'green')
call s:build_prim('fg', 'aqua')
call s:build_prim('fg', 'blue')
call s:build_prim('fg', 'purple')
call s:build_prim('fg', 'window')
call s:build_prim('fg', 'darkcolumn')
call s:build_prim('fg', 'addbg')
call s:build_prim('fg', 'addfg')
call s:build_prim('fg', 'changebg')
call s:build_prim('fg', 'changefg')
call s:build_prim('fg', 'darkblue')
call s:build_prim('fg', 'darkcyan')
call s:build_prim('fg', 'darkred')
call s:build_prim('fg', 'darkpurple')
exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'"
exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'"
exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'"
exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'"
exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'"
exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'"
exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'"
exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'"
exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'"
exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'"
exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'"
exe "let s:sp_none = ' guisp=". s:none ."'"
exe "let s:sp_foreground = ' guisp=". s:palette.gui.foreground[s:style] ."'"
exe "let s:sp_background = ' guisp=". s:palette.gui.background[s:style] ."'"
exe "let s:sp_selection = ' guisp=". s:palette.gui.selection[s:style] ."'"
exe "let s:sp_line = ' guisp=". s:palette.gui.line[s:style] ."'"
exe "let s:sp_comment = ' guisp=". s:palette.gui.comment[s:style] ."'"
exe "let s:sp_red = ' guisp=". s:palette.gui.red[s:style] ."'"
exe "let s:sp_orange = ' guisp=". s:palette.gui.orange[s:style] ."'"
exe "let s:sp_yellow = ' guisp=". s:palette.gui.yellow[s:style] ."'"
exe "let s:sp_green = ' guisp=". s:palette.gui.green[s:style] ."'"
exe "let s:sp_aqua = ' guisp=". s:palette.gui.aqua[s:style] ."'"
exe "let s:sp_blue = ' guisp=". s:palette.gui.blue[s:style] ."'"
exe "let s:sp_purple = ' guisp=". s:palette.gui.purple[s:style] ."'"
exe "let s:sp_window = ' guisp=". s:palette.gui.window[s:style] ."'"
exe "let s:sp_addbg = ' guisp=". s:palette.gui.addbg[s:style] ."'"
exe "let s:sp_addfg = ' guisp=". s:palette.gui.addfg[s:style] ."'"
exe "let s:sp_changebg = ' guisp=". s:palette.gui.changebg[s:style] ."'"
exe "let s:sp_changefg = ' guisp=". s:palette.gui.changefg[s:style] ."'"
exe "let s:sp_darkblue = ' guisp=". s:palette.gui.darkblue[s:style] ."'"
exe "let s:sp_darkcyan = ' guisp=". s:palette.gui.darkcyan[s:style] ."'"
exe "let s:sp_darkred = ' guisp=". s:palette.gui.darkred[s:style] ."'"
exe "let s:sp_darkpurple = ' guisp=". s:palette.gui.darkpurple[s:style] ."'"
"}}}
" Vim Highlighting: (see :help highlight-groups)"{{{
" ----------------------------------------------------------------------------
exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none
" Conceal"
" Cursor"
" CursorIM"
exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none
exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none
exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none
exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none
exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none
exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none
exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none
exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd
exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none
exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none
exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
" Incsearch"
exe "hi! LineNr" .s:fg_selection .s:bg_none .s:fmt_none
exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
exe "hi! MatchParen" .s:fg_background .s:bg_changebg .s:fmt_none
exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none
exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none
exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none
exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none
exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr
" PmenuSbar"
" PmenuThumb"
exe "hi! Question" .s:fg_green .s:bg_none .s:fmt_none
exe "hi! Search" .s:fg_background .s:bg_yellow .s:fmt_none
exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none
exe "hi! SpellCap" .s:fg_blue .s:bg_darkblue .s:fmt_undr
exe "hi! SpellLocal" .s:fg_aqua .s:bg_darkcyan .s:fmt_undr
exe "hi! SpellBad" .s:fg_red .s:bg_darkred .s:fmt_undr
exe "hi! SpellRare" .s:fg_purple .s:bg_darkpurple .s:fmt_undr
exe "hi! StatusLine" .s:fg_comment .s:bg_background .s:fmt_revr
exe "hi! StatusLineNC" .s:fg_window .s:bg_comment .s:fmt_revr
exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr
" TabLineFill"
" TabLineSel"
exe "hi! Title" .s:fg_yellow .s:bg_none .s:fmt_none
exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none
" VisualNos"
exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none
" FIXME LongLineWarning to use variables instead of hardcoding
hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
" WildMenu"
" Use defined custom background colour for terminal Vim.
if !has('gui_running') && exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1
let s:bg_normal = s:bg_none
else
let s:bg_normal = s:bg_background
endif
exe "hi! Normal" .s:fg_foreground .s:bg_normal .s:fmt_none
"}}}
" Generic Syntax Highlighting: (see :help group-name)"{{{
" ----------------------------------------------------------------------------
exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none
exe "hi! Constant" .s:fg_red .s:bg_none .s:fmt_none
exe "hi! String" .s:fg_green .s:bg_none .s:fmt_none
" Character"
" Number"
" Boolean"
" Float"
exe "hi! Identifier" .s:fg_purple .s:bg_none .s:fmt_none
exe "hi! Function" .s:fg_yellow .s:bg_none .s:fmt_none
exe "hi! Statement" .s:fg_blue .s:bg_none .s:fmt_none
" Conditional"
" Repeat"
" Label"
exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none
" Keyword"
" Exception"
exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fmt_none
" Include"
" Define"
" Macro"
" PreCondit"
exe "hi! Type" .s:fg_orange .s:bg_none .s:fmt_none
" StorageClass"
exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none
" Typedef"
exe "hi! Special" .s:fg_green .s:bg_none .s:fmt_none
" SpecialChar"
" Tag"
" Delimiter"
" SpecialComment"
" Debug"
"
exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none
exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none
exe "hi! Error" .s:fg_red .s:bg_darkred .s:fmt_undr
exe "hi! Todo" .s:fg_addfg .s:bg_none .s:fmt_none
" Quickfix window highlighting
exe "hi! qfLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
" qfFileName"
" qfLineNr"
" qfError"
"}}}
" Diff Syntax Highlighting:"{{{
" ----------------------------------------------------------------------------
" Diff
" diffOldFile
" diffNewFile
" diffFile
" diffOnly
" diffIdentical
" diffDiffer
" diffBDiffer
" diffIsA
" diffNoEOL
" diffCommon
hi! link diffRemoved Constant
" diffChanged
hi! link diffAdded Special
" diffLine
" diffSubname
" diffComment
"}}}
"
" This is needed for some reason: {{{
let &background = s:style
" }}}
" Legal:"{{{
" ----------------------------------------------------------------------------
" Copyright (c) 2011 Ethan Schoonover
" Copyright (c) 2009-2012 NanoTech
" Copyright (c) 2012 w0ng
"
" Permission is hereby granted, free of charge, to any per‐
" son obtaining a copy of this software and associated doc‐
" umentation files (the “Software”), to deal in the Soft‐
" ware without restriction, including without limitation
" the rights to use, copy, modify, merge, publish, distrib‐
" ute, sublicense, and/or sell copies of the Software, and
" to permit persons to whom the Software is furnished to do
" so, subject to the following conditions:
"
" The above copyright notice and this permission notice
" shall be included in all copies or substantial portions
" of the Software.
"
" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY
" KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
" THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐
" LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐
" TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐
" NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
" THE SOFTWARE.
" }}}

769
start/LOCAL/colors/lucius.vim

@ -0,0 +1,769 @@
" ============================================================================
" Name: Lucius vim color scheme
" Author: Jonathan Filip <jfilip1024@gmail.com>
" Version: 8.1.7
" ----------------------------------------------------------------------------
"
" Light and dark color scheme for GUI and 256 color terminal.
"
" There are several options available to customize the color scheme to your
" own tastes. This is particularly useful when you have to work in different
" environments at different times (home, work, day, night, etc).
"
" The GUI and 256 color terminal versions of this color scheme are identical.
"
" You can set up the color scheme by manually setting the options you want or
" by choosing one of the presets defined. These presets are loaded after you
" first source the color scheme file and are all commands that start with
" 'Lucius'.
"
" I have also started to create color schemes for different applications. I
" have been using them for PuTTY, iTerm2, and Visual Studio, but will keep
" adding more as I go along. You can find the files for these on Github:
"
" https://github.com/jonathanfilip/lucius
"
" You can also clone the following repository if you use Pathogen or something
" similar. It holds the vim color scheme in a 'colors' directory:
"
" https://github.com/jonathanfilip/vim-lucius
"
"
"
" Presets:
"
" There are several presets available that will set all the options for you.
" There are screenshots of each preset below:
"
" * LuciusDark (dark default): http://i.imgur.com/LsZbF.png
" * LuciusDarkHighContrast: http://i.imgur.com/e70i9.png
" * LuciusDarkLowContrast: http://i.imgur.com/Hmw8s.png
" * LuciusBlack: http://i.imgur.com/iD4ri.png
" * LuciusBlackHighContrast: http://i.imgur.com/lHvTJ.png
" * LuciusBlackLowContrast: http://i.imgur.com/oZLkg.png
"
" * LuciusLight (light default): http://i.imgur.com/soYD8.png
" * LuciusLightLowContrast: http://i.imgur.com/95I86.png
" * LuciusWhite: http://i.imgur.com/wDzkz.png
" * LuciusWhiteLowContrast: http://i.imgur.com/jlUf4.png
"
" To use the presets, you just need to set the color scheme first. In your
" vimrc, you can just do this:
"
" colorscheme lucius
" LuciusBlack
"
" You can still just set the background variable and then set the color
" scheme. This will default to LuciusDark for 'dark' and LuciusLight for
" 'light'.
"
"
" Options:
"
" The presets available cover most of the options. You can, however, customize
" things by setting the following variables yourself:
"
" g:lucius_style (default: 'dark')
"
" Set this option to either 'light' or 'dark' for your desired color scheme.
" It has the same effect as setting the background.
"
" g:lucius_contrast (default: 'normal')
"
" This option determines the contrast to use for text/ui elements. It can be
" set to 'low', 'normal', or 'high'. At this time there is no 'high' for the
" light scheme.
"
" g:lucius_contrast_bg (default: 'normal')
"
" Setting this option makes the background a higher contrast. Current settings
" are 'normal' and 'high'.
"
" g:lucius_use_bold (default: 1)
"
" Setting this will cause the color scheme to use bold fonts for some items.
"
" g:lucius_use_underline (default: 1)
"
" Setting this will cause the color scheme to use underlined fonts for some
" items.
"
" g:lucius_no_term_bg (default: 0)
"
" Setting this will cause the color scheme to not set a background color in
" the terminal (useful for transparency or terminals with different background
" colors).
"
" ============================================================================
" ============================================================================
" Options:
" ============================================================================
unlet! g:colors_name
hi clear
if exists("syntax_on")
syntax reset
endif
if exists("g:lucius_style")
let s:style = g:lucius_style
else
let s:style = &background
endif
if exists("g:lucius_contrast")
let s:contrast = g:lucius_contrast
else
let s:contrast = "normal"
endif
if exists("g:lucius_contrast_bg")
let s:contrast_bg = g:lucius_contrast_bg
else
let s:contrast_bg = "normal"
endif
if exists("g:lucius_use_bold")
let s:use_bold = g:lucius_use_bold
else
let s:use_bold = 1
endif
if exists("g:lucius_use_underline")
let s:use_underline = g:lucius_use_underline
else
let s:use_underline = 1
endif
if exists("g:lucius_no_term_bg")
let s:no_term_bg = g:lucius_no_term_bg
else
let s:no_term_bg = 0
endif
" ============================================================================
" Color Map:
" ============================================================================
let s:color_map = {
\ 'bg': 'bg', 'fg': 'fg', 'NONE': 'NONE',
\ '#000000': '16', '#00005f': '17', '#000087': '18', '#0000af': '19',
\ '#0000d7': '20', '#0000ff': '21', '#005f00': '22', '#005f5f': '23',
\ '#005f87': '24', '#005faf': '25', '#005fd7': '26', '#005fff': '27',
\ '#008700': '28', '#00875f': '29', '#008787': '30', '#0087af': '31',
\ '#0087d7': '32', '#0087ff': '33', '#00af00': '34', '#00af5f': '35',
\ '#00af87': '36', '#00afaf': '37', '#00afd7': '38', '#00afff': '39',
\ '#00d700': '40', '#00d75f': '41', '#00d787': '42', '#00d7af': '43',
\ '#00d7d7': '44', '#00d7ff': '45', '#00ff00': '46', '#00ff5f': '47',
\ '#00ff87': '48', '#00ffaf': '49', '#00ffd7': '50', '#00ffff': '51',
\ '#5f0000': '52', '#5f005f': '53', '#5f0087': '54', '#5f00af': '55',
\ '#5f00d7': '56', '#5f00ff': '57', '#5f5f00': '58', '#5f5f5f': '59',
\ '#5f5f87': '60', '#5f5faf': '61', '#5f5fd7': '62', '#5f5fff': '63',
\ '#5f8700': '64', '#5f875f': '65', '#5f8787': '66', '#5f87af': '67',
\ '#5f87d7': '68', '#5f87ff': '69', '#5faf00': '70', '#5faf5f': '71',
\ '#5faf87': '72', '#5fafaf': '73', '#5fafd7': '74', '#5fafff': '75',
\ '#5fd700': '76', '#5fd75f': '77', '#5fd787': '78', '#5fd7af': '79',
\ '#5fd7d7': '80', '#5fd7ff': '81', '#5fff00': '82', '#5fff5f': '83',
\ '#5fff87': '84', '#5fffaf': '85', '#5fffd7': '86', '#5fffff': '87',
\ '#870000': '88', '#87005f': '89', '#870087': '90', '#8700af': '91',
\ '#8700d7': '92', '#8700ff': '93', '#875f00': '94', '#875f5f': '95',
\ '#875f87': '96', '#875faf': '97', '#875fd7': '98', '#875fff': '99',
\ '#878700': '100', '#87875f': '101', '#878787': '102', '#8787af': '103',
\ '#8787d7': '104', '#8787ff': '105', '#87af00': '106', '#87af5f': '107',
\ '#87af87': '108', '#87afaf': '109', '#87afd7': '110', '#87afff': '111',
\ '#87d700': '112', '#87d75f': '113', '#87d787': '114', '#87d7af': '115',
\ '#87d7d7': '116', '#87d7ff': '117', '#87ff00': '118', '#87ff5f': '119',
\ '#87ff87': '120', '#87ffaf': '121', '#87ffd7': '122', '#87ffff': '123',
\ '#af0000': '124', '#af005f': '125', '#af0087': '126', '#af00af': '127',
\ '#af00d7': '128', '#af00ff': '129', '#af5f00': '130', '#af5f5f': '131',
\ '#af5f87': '132', '#af5faf': '133', '#af5fd7': '134', '#af5fff': '135',
\ '#af8700': '136', '#af875f': '137', '#af8787': '138', '#af87af': '139',
\ '#af87d7': '140', '#af87ff': '141', '#afaf00': '142', '#afaf5f': '143',
\ '#afaf87': '144', '#afafaf': '145', '#afafd7': '146', '#afafff': '147',
\ '#afd700': '148', '#afd75f': '149', '#afd787': '150', '#afd7af': '151',
\ '#afd7d7': '152', '#afd7ff': '153', '#afff00': '154', '#afff5f': '155',
\ '#afff87': '156', '#afffaf': '157', '#afffd7': '158', '#afffff': '159',
\ '#d70000': '160', '#d7005f': '161', '#d70087': '162', '#d700af': '163',
\ '#d700d7': '164', '#d700ff': '165', '#d75f00': '166', '#d75f5f': '167',
\ '#d75f87': '168', '#d75faf': '169', '#d75fd7': '170', '#d75fff': '171',
\ '#d78700': '172', '#d7875f': '173', '#d78787': '174', '#d787af': '175',
\ '#d787d7': '176', '#d787ff': '177', '#d7af00': '178', '#d7af5f': '179',
\ '#d7af87': '180', '#d7afaf': '181', '#d7afd7': '182', '#d7afff': '183',
\ '#d7d700': '184', '#d7d75f': '185', '#d7d787': '186', '#d7d7af': '187',
\ '#d7d7d7': '188', '#d7d7ff': '189', '#d7ff00': '190', '#d7ff5f': '191',
\ '#d7ff87': '192', '#d7ffaf': '193', '#d7ffd7': '194', '#d7ffff': '195',
\ '#ff0000': '196', '#ff005f': '197', '#ff0087': '198', '#ff00af': '199',
\ '#ff00d7': '200', '#ff00ff': '201', '#ff5f00': '202', '#ff5f5f': '203',
\ '#ff5f87': '204', '#ff5faf': '205', '#ff5fd7': '206', '#ff5fff': '207',
\ '#ff8700': '208', '#ff875f': '209', '#ff8787': '210', '#ff87af': '211',
\ '#ff87d7': '212', '#ff87ff': '213', '#ffaf00': '214', '#ffaf5f': '215',
\ '#ffaf87': '216', '#ffafaf': '217', '#ffafd7': '218', '#ffafff': '219',
\ '#ffd700': '220', '#ffd75f': '221', '#ffd787': '222', '#ffd7af': '223',
\ '#ffd7d7': '224', '#ffd7ff': '225', '#ffff00': '226', '#ffff5f': '227',
\ '#ffff87': '228', '#ffffaf': '229', '#ffffd7': '230', '#ffffff': '231',
\ '#080808': '232', '#121212': '233', '#1c1c1c': '234', '#262626': '235',
\ '#303030': '236', '#3a3a3a': '237', '#444444': '238', '#4e4e4e': '239',
\ '#585858': '240', '#626262': '241', '#6c6c6c': '242', '#767676': '243',
\ '#808080': '244', '#8a8a8a': '245', '#949494': '246', '#9e9e9e': '247',
\ '#a8a8a8': '248', '#b2b2b2': '249', '#bcbcbc': '250', '#c6c6c6': '251',
\ '#d0d0d0': '252', '#dadada': '253', '#e4e4e4': '254', '#eeeeee': '255',
\ }
" ============================================================================
" Functions:
" ============================================================================
function! s:AddCterm(name)
exec "let l:gfg = synIDattr(synIDtrans(hlID('" . a:name .
\ "')), 'fg', 'gui')"
exec "let l:gbg = synIDattr(synIDtrans(hlID('" . a:name .
\ "')), 'bg', 'gui')"
let l:gfg = l:gfg == "" ? "NONE" : l:gfg
let l:gbg = l:gbg == "" ? "NONE" : l:gbg
exec "hi " . a:name . " ctermfg=" . s:color_map[l:gfg] .
\ " ctermbg=" . s:color_map[l:gbg]
endfunction
function! s:AddSpCterm(name)
exec "let l:gsp = synIDattr(synIDtrans(hlID('" . a:name .
\ "')), 'sp', 'gui')"
let l:gsp = l:gsp == "" ? "NONE" : l:gsp
exec "hi " . a:name . " ctermfg=" . s:color_map[l:gsp]
endfunction
" ============================================================================
" Text Groups:
" ============================================================================
let s:normal_items = [
\ "ColorColumn", "Comment", "Constant", "Cursor", "CursorColumn",
\ "CursorIM", "CursorLine", "CursorLineNr", "DiffAdd", "DiffChange",
\ "DiffDelete", "Directory", "Error", "ErrorMsg", "Identifier",
\ "IncSearch", "LineNr", "MatchParen", "ModeMsg", "MoreMsg",
\ "NonText", "Pmenu", "PmenuSbar", "PmenuSel",
\ "PmenuThumb", "PreProc", "Question", "Search", "SignColumn",
\ "Special", "SpecialKey", "Statement", "StatusLineNC", "TabLine",
\ "TabLineFill", "Todo", "Type", "VertSplit", "Visual",
\ "WarningMsg", "WildMenu",
\ ]
let s:bold_items = [
\ "DiffText", "FoldColumn", "Folded", "StatusLine", "TabLineSel",
\ "Title", "CursorLineNr",
\ ]
let s:underline_items = [
\ "Underlined", "VisualNOS"
\ ]
let s:undercurl_items = [
\ "SpellBad", "SpellCap", "SpellLocal", "SpellRare"
\ ]
" ============================================================================
" Color Definitions:
" ============================================================================
" ----------------------------------------------------------------------------
" 'Normal' Colors:
" ----------------------------------------------------------------------------
hi clear Normal
hi Normal gui=none cterm=none term=none
if s:style == "light"
if s:contrast == "high"
hi Normal guifg=#000000
elseif s:contrast == "low"
hi Normal guifg=#626262
else
hi Normal guifg=#444444
endif
else
if s:contrast == "high"
hi Normal guifg=#eeeeee
elseif s:contrast == "low"
hi Normal guifg=#bcbcbc
else
hi Normal guifg=#d7d7d7
endif
endif
if s:style == "light"
if s:contrast_bg == "high"
hi Normal guibg=#ffffff
else
hi Normal guibg=#eeeeee
endif
else
if s:contrast_bg == "high"
hi Normal guibg=#121212
else
hi Normal guibg=#303030
endif
endif
call s:AddCterm("Normal")
" ----------------------------------------------------------------------------
" Extra setup
" ----------------------------------------------------------------------------
exec "set background=" . s:style
" Clear default settings
for s:item in s:normal_items + s:bold_items + s:underline_items + s:undercurl_items
exec "hi " . s:item . " guifg=NONE guibg=NONE gui=none"
\ . " ctermfg=NONE ctermbg=NONE cterm=none term=none"
endfor
let g:colors_name="lucius"
" ----------------------------------------------------------------------------
" Text Markup:
" ----------------------------------------------------------------------------
if s:style == "light"
hi NonText guifg=#afafd7
hi SpecialKey guifg=#afd7af
if s:contrast == "low"
hi Comment guifg=#9e9e9e
hi Constant guifg=#d78700
hi Directory guifg=#00af87
hi Identifier guifg=#00af00
hi PreProc guifg=#00afaf
hi Special guifg=#af00af
hi Statement guifg=#0087d7
hi Title guifg=#0087d7
hi Type guifg=#0087af
else
hi Comment guifg=#808080
hi Constant guifg=#af5f00
hi Directory guifg=#00875f
hi Identifier guifg=#008700
hi PreProc guifg=#008787
hi Special guifg=#870087
hi Statement guifg=#005faf
hi Title guifg=#005faf
hi Type guifg=#005f87
endif
else
hi NonText guifg=#5f5f87
hi SpecialKey guifg=#5f875f
if s:contrast == "low"
hi Comment guifg=#6c6c6c
hi Constant guifg=#afaf87
hi Directory guifg=#87af87
hi Identifier guifg=#87af5f
hi PreProc guifg=#5faf87
hi Special guifg=#af87af
hi Statement guifg=#5fafd7
hi Title guifg=#00afd7
hi Type guifg=#5fafaf
elseif s:contrast == "high"
hi Comment guifg=#8a8a8a
hi Constant guifg=#ffffd7
hi Directory guifg=#d7ffd7
hi Identifier guifg=#d7ffaf
hi PreProc guifg=#afffd7
hi Special guifg=#ffd7ff
hi Statement guifg=#afffff
hi Title guifg=#87d7ff
hi Type guifg=#afffff
else
hi Comment guifg=#808080
hi Constant guifg=#d7d7af
hi Directory guifg=#afd7af
hi Identifier guifg=#afd787
hi PreProc guifg=#87d7af
hi Special guifg=#d7afd7
hi Statement guifg=#87d7ff
hi Title guifg=#5fafd7
hi Type guifg=#87d7d7
endif
endif
" ----------------------------------------------------------------------------
" Highlighting:
" ----------------------------------------------------------------------------
hi Cursor guifg=bg
hi CursorColumn guifg=NONE
hi CursorIM guifg=bg
hi CursorLine guifg=NONE
hi Visual guifg=NONE
hi VisualNOS guifg=fg guibg=NONE
if s:style == "light"
hi CursorColumn guibg=#dadada
hi CursorLine guibg=#dadada
hi IncSearch guifg=fg guibg=#5fd7d7
hi MatchParen guifg=NONE guibg=#5fd7d7
hi Search guifg=fg guibg=#ffaf00
hi Visual guibg=#afd7ff
if s:contrast == "low"
hi Cursor guibg=#87afd7
hi CursorIM guibg=#87afd7
hi Error guifg=#d70000 guibg=#ffd7d7
hi Todo guifg=#af8700 guibg=#ffffaf
else
hi Cursor guibg=#5f87af
hi CursorIM guibg=#5f87af
hi Error guifg=#af0000 guibg=#d7afaf
hi Todo guifg=#875f00 guibg=#ffffaf
endif
else
hi CursorColumn guibg=#444444
hi CursorLine guibg=#444444
hi IncSearch guifg=bg
hi MatchParen guifg=fg guibg=#87af00
hi Search guifg=bg
hi Visual guibg=#005f87
if s:contrast == "low"
hi Cursor guibg=#5f87af
hi CursorIM guibg=#5f87af
hi Error guifg=#d75f5f guibg=#870000
hi IncSearch guibg=#00afaf
hi Search guibg=#d78700
hi Todo guifg=#afaf00 guibg=#5f5f00
elseif s:contrast == "high"
hi Cursor guibg=#afd7ff
hi CursorIM guibg=#afd7ff
hi Error guifg=#ffafaf guibg=#af0000
hi IncSearch guibg=#87ffff
hi Search guibg=#ffaf5f
hi Todo guifg=#ffff87 guibg=#87875f
else
hi Cursor guibg=#87afd7
hi CursorIM guibg=#87afd7
hi Error guifg=#ff8787 guibg=#870000
hi IncSearch guibg=#5fd7d7
hi Search guibg=#d78700
hi Todo guifg=#d7d75f guibg=#5f5f00
endif
endif
" ----------------------------------------------------------------------------
" Messages:
" ----------------------------------------------------------------------------
hi Question guifg=fg
if s:style == "light"
if s:contrast == "low"
hi ErrorMsg guifg=#d70000
hi ModeMsg guifg=#0087ff
hi MoreMsg guifg=#0087ff
hi WarningMsg guifg=#d78700
else
hi ErrorMsg guifg=#af0000
hi ModeMsg guifg=#005faf
hi MoreMsg guifg=#005faf
hi WarningMsg guifg=#af5f00
endif
else
if s:contrast == "low"
hi ErrorMsg guifg=#d75f5f
hi ModeMsg guifg=#87afaf
hi MoreMsg guifg=#87afaf
hi WarningMsg guifg=#af875f
elseif s:contrast == "high"
hi ErrorMsg guifg=#ff8787
hi ModeMsg guifg=#afffff
hi MoreMsg guifg=#afffff
hi WarningMsg guifg=#ffaf87
else
hi ErrorMsg guifg=#ff5f5f
hi ModeMsg guifg=#afd7d7
hi MoreMsg guifg=#afd7d7
hi WarningMsg guifg=#d7875f
endif
endif
" ----------------------------------------------------------------------------
" UI:
" ----------------------------------------------------------------------------
hi ColorColumn guifg=NONE
hi Pmenu guifg=bg
hi PmenuSel guifg=fg
hi PmenuThumb guifg=fg
hi StatusLine guifg=bg
hi TabLine guifg=bg
hi TabLineSel guifg=fg
hi WildMenu guifg=fg
if s:style == "light"
hi ColorColumn guibg=#e4e4e4
hi CursorLineNr guifg=#626262 guibg=#dadada
hi FoldColumn guibg=#bcbcbc
hi Folded guibg=#bcbcbc
hi LineNr guifg=#9e9e9e guibg=#dadada
hi PmenuSel guibg=#afd7ff
hi SignColumn guibg=#d0d0d0
hi StatusLineNC guifg=#dadada
hi TabLineFill guifg=#dadada
hi VertSplit guifg=#e4e4e4
hi WildMenu guibg=#afd7ff
if s:contrast == "low"
hi FoldColumn guifg=#808080
hi Folded guifg=#808080
hi Pmenu guibg=#9e9e9e
hi PmenuSbar guifg=#9e9e9e guibg=#626262
hi PmenuThumb guibg=#9e9e9e
hi SignColumn guifg=#808080
hi StatusLine guibg=#9e9e9e
hi StatusLineNC guibg=#9e9e9e
hi TabLine guibg=#9e9e9e
hi TabLineFill guibg=#9e9e9e
hi TabLineSel guibg=#afd7ff
hi VertSplit guibg=#9e9e9e
else
hi FoldColumn guifg=#626262
hi Folded guifg=#626262
hi Pmenu guibg=#808080
hi PmenuSbar guifg=#808080 guibg=#444444
hi PmenuThumb guibg=#9e9e9e
hi SignColumn guifg=#626262
hi StatusLine guibg=#808080
hi StatusLineNC guibg=