diff options
| author | Joe Zhao <ztuowen@gmail.com> | 2015-04-19 18:38:59 +0800 | 
|---|---|---|
| committer | Joe Zhao <ztuowen@gmail.com> | 2015-04-19 18:38:59 +0800 | 
| commit | 0a9a4caed74bb0bd21962f3a0f8de5c3b55c810a (patch) | |
| tree | f15900ee0ca16e5da77be8785d1cd9bf38d46b38 | |
| download | vim-0a9a4caed74bb0bd21962f3a0f8de5c3b55c810a.tar.gz vim-0a9a4caed74bb0bd21962f3a0f8de5c3b55c810a.tar.bz2 vim-0a9a4caed74bb0bd21962f3a0f8de5c3b55c810a.zip | |
first commit
| -rw-r--r-- | .gitmodules | 18 | ||||
| m--------- | bundle/markdown | 0 | ||||
| m--------- | bundle/neco-ghc | 0 | ||||
| m--------- | bundle/neocomplete | 0 | ||||
| m--------- | bundle/tabular | 0 | ||||
| m--------- | bundle/unbundle | 0 | ||||
| m--------- | bundle/vimproc | 0 | ||||
| -rw-r--r-- | colors/gruvbox.vim | 1027 | ||||
| -rw-r--r-- | colors/hemisu.vim | 215 | ||||
| -rw-r--r-- | colors/jellybeans.vim | 551 | ||||
| -rw-r--r-- | colors/molokai.vim | 276 | ||||
| -rw-r--r-- | colors/seoul256.vim | 341 | ||||
| -rw-r--r-- | colors/solarized.vim | 1117 | ||||
| -rw-r--r-- | colors/twilight.vim | 114 | ||||
| -rw-r--r-- | colors/wombat256mod.vim | 96 | ||||
| -rw-r--r-- | colors/xoria256.vim | 142 | ||||
| -rw-r--r-- | config/misc.vim | 6 | ||||
| -rw-r--r-- | config/neocomplete.vim | 85 | ||||
| -rw-r--r-- | skeleton/page | 7 | 
19 files changed, 3995 insertions, 0 deletions
| diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..851497d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,18 @@ +[submodule "bundle/unbundle"] +	path = bundle/unbundle +	url = https://github.com/sunaku/vim-unbundle.git +[submodule "bundle/neocomplete"] +	path = bundle/neocomplete +	url = https://github.com/Shougo/neocomplete.vim.git +[submodule "bundle/neco-ghc"] +	path = bundle/neco-ghc +	url = https://github.com/eagletmt/neco-ghc +[submodule "bundle/vimproc"] +	path = bundle/vimproc +	url = https://github.com/Shougo/vimproc.vim +[submodule "bundle/markdown"] +	path = bundle/markdown +	url = https://github.com/plasticboy/vim-markdown.git +[submodule "bundle/tabular"] +	path = bundle/tabular +	url = https://github.com/godlygeek/tabular.git diff --git a/bundle/markdown b/bundle/markdown new file mode 160000 +Subproject c4975a40eca842dfb11cb3e9aa938451146c9f1 diff --git a/bundle/neco-ghc b/bundle/neco-ghc new file mode 160000 +Subproject a45f4f98ee3f25eaa64a39328c253d4f78cd5fd diff --git a/bundle/neocomplete b/bundle/neocomplete new file mode 160000 +Subproject cb1ae10a8a394dd5a13c4b4865454e6937dce31 diff --git a/bundle/tabular b/bundle/tabular new file mode 160000 +Subproject 60f25648814f0695eeb6c1040d97adca93c4e0b diff --git a/bundle/unbundle b/bundle/unbundle new file mode 160000 +Subproject 8f150111104900d786d8f874fd6730cc6de3ef3 diff --git a/bundle/vimproc b/bundle/vimproc new file mode 160000 +Subproject 0f68bcd93399ecbcde3eaa4efd09107314c9bde diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim new file mode 100644 index 0000000..3bdd6c0 --- /dev/null +++ b/colors/gruvbox.vim @@ -0,0 +1,1027 @@ +" ----------------------------------------------------------------------------- +" File: gruvbox.vim +" Description: Retro groove color scheme for Vim +" Author: morhetz <morhetz@gmail.com> +" Source: https://github.com/morhetz/gruvbox +" Last Modified: 10 Nov 2014 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 +	hi clear +	if exists("syntax_on") +		syntax reset +	endif +endif + +let g:colors_name='gruvbox' + +if !has('gui_running') && &t_Co != 256 +	finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:gruvbox_bold') +	let g:gruvbox_bold=1 +endif +if !exists('g:gruvbox_italic') +	let g:gruvbox_italic=1 +endif +if !exists('g:gruvbox_undercurl') +	let g:gruvbox_undercurl=1 +endif +if !exists('g:gruvbox_underline') +	let g:gruvbox_underline=1 +endif + +if !exists('g:gruvbox_italicize_comments') +	let g:gruvbox_italicize_comments=1 +endif +if !exists('g:gruvbox_italicize_strings') +	let g:gruvbox_italicize_strings=0 +endif + +if !exists('g:gruvbox_improved_strings') +	let g:gruvbox_improved_strings=0 +endif + +if !exists('g:gruvbox_improved_warnings') +	let g:gruvbox_improved_warnings=0 +endif + +if !exists('g:gruvbox_termcolors') +	let g:gruvbox_termcolors=256 +endif + +if !exists('g:gruvbox_invert_indent_guides') +	let g:gruvbox_invert_indent_guides=0 +endif + +if !exists('g:gruvbox_hls_cursor') +	let g:gruvbox_hls_cursor='orange' +endif + +if !exists('g:gruvbox_sign_column') +	let g:gruvbox_sign_column='dark1' +endif + +if !exists('g:gruvbox_color_column') +	let g:gruvbox_color_column='dark1' +endif + +if !exists('g:gruvbox_vert_split') +	let g:gruvbox_vert_split='dark2' +endif + +if !exists('g:gruvbox_invert_signs') +	let g:gruvbox_invert_signs=0 +endif + +if !exists('g:gruvbox_invert_selection') +	let g:gruvbox_invert_selection=1 +endif + +if !exists('g:gruvbox_contrast') +	let g:gruvbox_contrast='medium' +endif + +if !exists('g:gruvbox_contrast_dark') +	let g:gruvbox_contrast_dark='medium' +endif + +if !exists('g:gruvbox_contrast_light') +	let g:gruvbox_contrast_light='medium' +endif + +if !exists('g:gruvbox_invert_tabline') +	let g:gruvbox_invert_tabline=0 +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +let s:gb = {} + +if s:is_dark +	let s:gb.dark0  = ['282828', 235]     " 40-40-40 +	let s:gb.dark1  = ['3c3836', 237]     " 60-56-54 +	let s:gb.dark2  = ['504945', 239]     " 80-73-69 +	let s:gb.dark3  = ['665c54', 241]     " 102-92-84 +	let s:gb.dark4  = ['7c6f64', 243]     " 124-111-100 + +	let s:gb.medium = ['928374', 245]     " 146-131-116 + +	let s:gb.light0 = ['fdf4c1', 229]     " 253-244-193 +	let s:gb.light1 = ['ebdbb2', 223]     " 235-219-178 +	let s:gb.light2 = ['d5c4a1', 250]     " 213-196-161 +	let s:gb.light3 = ['bdae93', 248]     " 189-174-147 +	let s:gb.light4 = ['a89984', 246]     " 168-153-132 + +	let s:gb.light4_256 = ['a89984', 246] " 168-153-132 + +	let s:gb.red    = ['fb4934', 167]     " 251-73-52 +	let s:gb.green  = ['b8bb26', 142]     " 184-187-38 +	let s:gb.yellow = ['fabd2f', 214]     " 250-189-47 +	let s:gb.blue   = ['83a598', 109]     " 131-165-152 +	let s:gb.purple = ['d3869b', 175]     " 211-134-155 +	let s:gb.aqua   = ['8ec07c', 108]     " 142-192-124 +	let s:gb.orange = ['fe8019', 208]     " 254-128-25 + +	if g:gruvbox_termcolors == 16 +		let s:gb.dark0  = ['282828', 0] +		let s:gb.light4 = ['a89984', 7] +		let s:gb.medium = ['928374', 8] +		let s:gb.red    = ['fb4934', 9] +		let s:gb.green  = ['b8bb26', 10] +		let s:gb.yellow = ['fabd2f', 11] +		let s:gb.blue   = ['83a598', 12] +		let s:gb.purple = ['d3869b', 13] +		let s:gb.aqua   = ['8ec07c', 14] +		let s:gb.light1 = ['ebdbb2', 15] +	endif + +	if g:gruvbox_contrast == 'soft' +		let s:gb.dark0  = ['32302f', 236]     " 50-48-47 +	endif + +	if g:gruvbox_contrast == 'hard' +		let s:gb.dark0  = ['1d2021', 234]     " 29-32-33 +	endif + +	if g:gruvbox_contrast_dark == 'soft' +		let s:gb.dark0  = ['32302f', 236]     " 50-48-47 +	endif + +	if g:gruvbox_contrast_dark == 'hard' +		let s:gb.dark0  = ['1d2021', 234]     " 29-32-33 +	endif +else +	let s:gb.dark0  = ['fbf1c7', 229]     " 251-241-199 +	let s:gb.dark1  = ['ebdbb2', 223]     " 235-219-178 +	let s:gb.dark2  = ['d5c4a1', 250]     " 213-196-161 +	let s:gb.dark3  = ['bdae93', 248]     " 189-174-147 +	let s:gb.dark4  = ['a89984', 246]     " 168-153-132 + +	let s:gb.medium = ['928374', 244]     " 146-131-116 + +	let s:gb.light0 = ['282828', 235]     " 40-40-40 +	let s:gb.light1 = ['3c3836', 237]     " 60-56-54 +	let s:gb.light2 = ['504945', 239]     " 80-73-69 +	let s:gb.light3 = ['665c54', 241]     " 102-92-84 +	let s:gb.light4 = ['7c6f64', 243]     " 124-111-100 + +	let s:gb.light4_256 = ['7c6f64', 243] " 124-111-100 + +	let s:gb.red    = ['9d0006', 88]      " 157-0-6 +	let s:gb.green  = ['79740e', 100]     " 121-116-14 +	let s:gb.yellow = ['b57614', 136]     " 181-118-20 +	let s:gb.blue   = ['076678', 24]      " 7-102-120 +	let s:gb.purple = ['8f3f71', 96]      " 143-63-113 +	let s:gb.aqua   = ['427b58', 66]      " 66-123-88 +	let s:gb.orange = ['af3a03', 130]     " 175-58-3 + +	if g:gruvbox_termcolors == 16 +		let s:gb.dark0  = ['fbf1c7', 0] +		let s:gb.light4 = ['7c6f64', 7] +		let s:gb.medium = ['928374', 8] +		let s:gb.red    = ['9d0006', 9] +		let s:gb.green  = ['79740e', 10] +		let s:gb.yellow = ['b57614', 11] +		let s:gb.blue   = ['076678', 12] +		let s:gb.purple = ['8f3f71', 13] +		let s:gb.aqua   = ['427b58', 14] +		let s:gb.light1 = ['3c3836', 15] +	endif + +	if g:gruvbox_contrast == 'soft' +		let s:gb.dark0  = ['f2e5bc', 228]     " 242-229-188 +	endif + +	if g:gruvbox_contrast == 'hard' +		let s:gb.dark0  = ['f9f5d7', 230]     " 249-245-215 +	endif + +	if g:gruvbox_contrast_light == 'soft' +		let s:gb.dark0  = ['f2e5bc', 228]     " 242-229-188 +	endif + +	if g:gruvbox_contrast_light == 'hard' +		let s:gb.dark0  = ['f9f5d7', 230]     " 249-245-215 +	endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) +	" Arguments: group, guifg, guibg, gui, guisp + +	let histring = 'hi ' . a:group . ' ' + +	if strlen(a:fg) +		if a:fg == 'fg' +			let histring .= 'guifg=fg ctermfg=fg ' +		elseif a:fg == 'bg' +			let histring .= 'guifg=bg ctermfg=bg ' +		elseif a:fg == 'none' +			let histring .= 'guifg=NONE ctermfg=NONE ' +		else +			let c = get(s:gb, a:fg) +			let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' ' +		endif +	endif + +	if a:0 >= 1 && strlen(a:1) +		if a:1 == 'bg' +			let histring .= 'guibg=bg ctermbg=bg ' +		elseif a:fg == 'fg' +			let histring .= 'guibg=fg ctermbg=fg ' +		elseif a:1 == 'none' +			let histring .= 'guibg=NONE ctermbg=NONE ' +		else +			let c = get(s:gb, a:1) +			let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' +		endif +	else +		let histring .= 'guibg=NONE ctermbg=NONE ' +	endif + +	" Hotfixing #24; +	" TODO: get rid of this spaghetti +	if a:0 >= 2 && strlen(a:2) +		if a:2 == 'none' +			let histring .= 'gui=NONE cterm=NONE ' +		elseif a:2 == 'italic' && g:gruvbox_italic == 0 +			let histring .= 'gui=NONE cterm=NONE ' +		elseif a:2 == 'bold' && g:gruvbox_bold == 0 +			let histring .= 'gui=NONE cterm=NONE ' +		elseif a:2 == 'bold,inverse' && g:gruvbox_bold == 0 +			let histring .= 'gui=inverse cterm=inverse ' +		elseif a:2 == 'undercurl' && g:gruvbox_undercurl == 0 +			let histring .= 'gui=NONE cterm=NONE ' +		elseif a:2 == 'underline' && g:gruvbox_underline == 0 +			let histring .= 'gui=NONE cterm=NONE ' +		elseif a:2 == 'bold,italic' +			if g:gruvbox_italic == 0 && g:gruvbox_bold == 0 +				let histring .= 'gui=NONE cterm=NONE ' +			elseif g:gruvbox_italic == 0 +				let histring .= 'gui=bold cterm=bold ' +			elseif g:gruvbox_bold == 0 +				let histring .= 'gui=italic cterm=italic ' +			else +				let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' +			endif +		elseif a:2 == 'bold,underline' +			if g:gruvbox_underline == 0 && g:gruvbox_bold == 0 +				let histring .= 'gui=NONE cterm=NONE ' +			elseif g:gruvbox_underline == 0 +				let histring .= 'gui=bold cterm=bold ' +			elseif g:gruvbox_bold == 0 +				let histring .= 'gui=underline cterm=underline ' +			else +				let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' +			endif +		elseif a:2 == 'underline,italic' +			if g:gruvbox_underline == 0 && g:gruvbox_italic == 0 +				let histring .= 'gui=NONE cterm=NONE ' +			elseif g:gruvbox_underline == 0 +				let histring .= 'gui=italic cterm=italic ' +			elseif g:gruvbox_italic == 0 +				let histring .= 'gui=underline cterm=underline ' +			else +				let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' +			endif +		elseif a:2 == 'bold,underline,italic' +			if g:gruvbox_italic == 0 && g:gruvbox_bold == 0 +				let histring .= 'gui=underline cterm=underline ' +			elseif g:gruvbox_italic == 0 +				let histring .= 'gui=bold,underline cterm=bold,underline ' +			elseif g:gruvbox_bold == 0 +				let histring .= 'gui=italic,underline cterm=italic,underline ' +			else +				let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' +			endif +		else +			let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' +		endif +	else +		let histring .= 'gui=NONE cterm=NONE ' +	endif + +	if a:0 >= 3 && strlen(a:3) +		if a:3 == 'none' +			let histring .= 'guisp=NONE ' +		else +			let c = get(s:gb, a:3) +			let histring .= 'guisp=#' . c[0] . ' ' +		endif +	endif + +	execute histring +endfunction + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', 'light1', 'dark0') + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/gruvbox/issues/7 +if s:is_dark +	set background=dark +else +	set background=light +endif + +if version >= 700 +	" Screen line that the cursor is +	call s:HL('CursorLine',   'none', 'dark1') +	" Screen column that the cursor is +	call s:HL('CursorColumn', 'none', 'dark1') + +if g:gruvbox_invert_tabline == 0 +	" Tab pages line filler +	call s:HL('TabLineFill', 'dark4', 'bg') +	" Active tab page label +	call s:HL('TabLineSel', 'bg', 'dark4', 'bold') +	" Not active tab page label +	call s:HL('TabLine', 'dark4', 'bg') +else +	call s:HL('TabLineFill', 'bg', 'dark4') +	call s:HL('TabLineSel', 'dark4', 'bg', 'bold') +	call s:HL('TabLine', 'bg', 'dark4') +endif + +	" Match paired bracket under the cursor +	call s:HL('MatchParen', 'none', 'dark3', 'bold') +endif + +if version >= 703 +	" Highlighted screen columns +	call s:HL('ColorColumn',  'none', g:gruvbox_color_column) + +	" Concealed element: \lambda → λ +	call s:HL('Conceal', 'blue', 'none') + +	" Line number of CursorLine +	call s:HL('CursorLineNr', 'yellow', 'dark1') +endif + +call s:HL('NonText',    'dark2') +call s:HL('SpecialKey', 'dark2') + +if g:gruvbox_invert_selection == 0 +	call s:HL('Visual',    'none',  'dark2') +	call s:HL('VisualNOS', 'none',  'dark2') +else +	call s:HL('Visual',    'none',  'dark3', 'inverse') +	call s:HL('VisualNOS', 'none',  'dark3', 'inverse') +endif + +call s:HL('Search',    'dark0', 'yellow') +call s:HL('IncSearch', 'dark0', g:gruvbox_hls_cursor) + +call s:HL('Underlined', 'blue', 'none', 'underline') + +call s:HL('StatusLine',   'dark4', 'dark0', 'bold,inverse') +call s:HL('StatusLineNC', 'dark2', 'light4', 'bold,inverse') + +" The column separating vertically split windows +call s:HL('VertSplit', 'light4', g:gruvbox_vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', 'blue', 'dark2', 'bold') + +" Directory names, special names in listing +call s:HL('Directory', 'green', 'none', 'bold') + +" Titles for output from :set all, :autocmd, etc. +call s:HL('Title', 'green', 'none', 'bold') + +" Error messages on the command line +call s:HL('ErrorMsg',   'bg', 'red', 'bold') +" More prompt: -- More -- +call s:HL('MoreMsg',    'yellow', 'none', 'bold') +" Current mode message: -- INSERT -- +call s:HL('ModeMsg',    'yellow', 'none', 'bold') +" 'Press enter' prompt and yes/no questions +call s:HL('Question',   'orange', 'none', 'bold') +" Warning messages +call s:HL('WarningMsg', 'red', 'none', 'bold') + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', 'dark4') + +" Column where signs are displayed +call s:HL('SignColumn', 'none', g:gruvbox_sign_column) + +" Line used for closed folds +call s:HL('Folded', 'medium', 'dark1', 'italic') +" Column where folds are displayed +call s:HL('FoldColumn', 'medium', 'dark1') + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', 'none', 'none', 'inverse') +" Visual mode cursor, selection +call s:HL('vCursor', 'none', 'none', 'inverse') +" Input moder cursor +call s:HL('iCursor', 'none', 'none', 'inverse') +" Language mapping cursor +call s:HL('lCursor', 'none', 'none', 'inverse') + +" }}} +" Syntax Highlighting: {{{ + +if g:gruvbox_improved_strings == 0 +	call s:HL('Special', 'orange') +else +	call s:HL('Special', 'dark1', 'orange', 'italic') +endif + +if g:gruvbox_italicize_comments == 0 +	call s:HL('Comment', 'medium', 'none') +else +	call s:HL('Comment', 'medium', 'none', 'italic') +endif +call s:HL('Todo', 'fg', 'bg', 'bold') +call s:HL('Error', 'bg', 'red', 'bold') + +" Generic statement +call s:HL('Statement',   'red') +" if, then, else, endif, swicth, etc. +call s:HL('Conditional', 'red') +" for, do, while, etc. +call s:HL('Repeat',      'red') +" case, default, etc. +call s:HL('Label',       'red') +" try, catch, throw +call s:HL('Exception',   'red') +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +call s:HL('Keyword',     'red') + +" Variable name +call s:HL('Identifier', 'blue') +" Function name +call s:HL('Function',   'green', 'none', 'bold') + +" Generic preprocessor +call s:HL('PreProc',   'aqua') +" Preprocessor #include +call s:HL('Include',   'aqua') +" Preprocessor #define +call s:HL('Define',    'aqua') +" Same as Define +call s:HL('Macro',     'aqua') +" Preprocessor #if, #else, #endif, etc. +call s:HL('PreCondit', 'aqua') + +" Generic constant +call s:HL('Constant',  'purple') +" Character constant: 'c', '/n' +call s:HL('Character', 'purple') +" String constant: "this is a string" +if g:gruvbox_italicize_strings == 0 +	call s:HL('String',  'green') +else +	if g:gruvbox_improved_strings == 0 +		call s:HL('String',  'green', 'none', 'italic') +	else +		call s:HL('String',  'dark1', 'light1', 'italic') +	endif +endif +" Boolean constant: TRUE, false +call s:HL('Boolean',   'purple') +" Number constant: 234, 0xff +call s:HL('Number',    'purple') +" Floating point constant: 2.3e10 +call s:HL('Float',     'purple') + +" Generic type +call s:HL('Type', 'yellow') +" static, register, volatile, etc +call s:HL('StorageClass', 'orange') +" struct, union, enum, etc. +call s:HL('Structure', 'aqua') +" typedef +call s:HL('Typedef', 'yellow') + +" }}} +" Completion Menu: {{{ + +if version >= 700 +	" Popup menu: normal item +	call s:HL('Pmenu', 'light1', 'dark2') +	" Popup menu: selected item +	call s:HL('PmenuSel', 'dark2', 'blue', 'bold') +	" Popup menu: scrollbar +	call s:HL('PmenuSbar', 'none', 'dark2') +	" Popup menu: scrollbar thumb +	call s:HL('PmenuThumb', 'none', 'dark4') +endif + +" }}} +" Diffs: {{{ + +call s:HL('DiffDelete', 'dark0', 'red') +call s:HL('DiffAdd',    'dark0', 'green') +"call s:HL('DiffChange', 'dark0', 'blue') +"call s:HL('DiffText',   'dark0', 'yellow') + +" Alternative setting +call s:HL('DiffChange', 'dark0', 'aqua') +call s:HL('DiffText',   'dark0', 'yellow') + +" }}} +" Spelling: {{{ + +if has("spell") +	" Not capitalised word, or compile warnings +	if g:gruvbox_improved_warnings == 0 +		call s:HL('SpellCap',   'none', 'none', 'undercurl', 'red') +	else +		call s:HL('SpellCap',   'green', 'none', 'italic,bold') +	endif +	" Not recognized word +	call s:HL('SpellBad',   'none', 'none', 'undercurl', 'blue') +	" Wrong spelling for selected region +	call s:HL('SpellLocal', 'none', 'none', 'undercurl', 'aqua') +	" Rare word +	call s:HL('SpellRare',  'none', 'none', 'undercurl', 'purple') +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +call s:HL('SneakStreakMask', 'yellow', 'yellow') +hi! link SneakStreakStatusLine Search + +" }}} +" Indent Guides: {{{ + +let g:indent_guides_auto_colors = 0 + +if g:gruvbox_invert_indent_guides == 0 +	call s:HL('IndentGuidesOdd', 'bg', 'dark2') +	call s:HL('IndentGuidesEven', 'bg', 'dark1') +else +	call s:HL('IndentGuidesOdd', 'bg', 'dark2', 'inverse') +	call s:HL('IndentGuidesEven', 'bg', 'dark3', 'inverse') +endif + +" }}} +" IndentLine: {{{ + +let g:indentLine_color_term = s:gb.dark2[1] +let g:indentLine_color_gui = '#' . s:gb.dark2[0] + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') +	let g:rbpt_colorpairs = +		\ [ +			\ ['blue', '#458588'], ['magenta', '#b16286'], +			\ ['red',  '#cc241d'], ['166',     '#d65d0e'] +		\ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') +   let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') +   let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') +   let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +if g:gruvbox_invert_signs == 0 +	call s:HL('GitGutterAdd', 'green', g:gruvbox_sign_column) +	call s:HL('GitGutterChange', 'aqua', g:gruvbox_sign_column) +	call s:HL('GitGutterDelete', 'red', g:gruvbox_sign_column) +	call s:HL('GitGutterChangeDelete', 'aqua', g:gruvbox_sign_column) +else +	call s:HL('GitGutterAdd', 'green', g:gruvbox_sign_column, 'inverse') +	call s:HL('GitGutterChange', 'aqua', g:gruvbox_sign_column, 'inverse') +	call s:HL('GitGutterDelete', 'red', g:gruvbox_sign_column, 'inverse') +	call s:HL('GitGutterChangeDelete', 'aqua', g:gruvbox_sign_column, 'inverse') +endif + +" }}} +" Signify: {{{ + +if g:gruvbox_invert_signs == 0 +	call s:HL('SignifySignAdd', 'green', g:gruvbox_sign_column) +	call s:HL('SignifySignChange ', 'aqua', g:gruvbox_sign_column) +	call s:HL('SignifySignDelete', 'red', g:gruvbox_sign_column) +else +	call s:HL('SignifySignAdd', 'green', g:gruvbox_sign_column, 'inverse') +	call s:HL('SignifySignChange ', 'aqua', g:gruvbox_sign_column, 'inverse') +	call s:HL('SignifySignDelete', 'red', g:gruvbox_sign_column, 'inverse') +endif + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', 'none', 'none', 'undercurl', 'red') +call s:HL('SyntasticWarning', 'none', 'none', 'undercurl', 'yellow') + +if g:gruvbox_invert_signs == 0 +	call s:HL('SyntasticErrorSign', 'red', g:gruvbox_sign_column) +	call s:HL('SyntasticWarningSign', 'yellow', g:gruvbox_sign_column) +else +	call s:HL('SyntasticErrorSign', 'red', g:gruvbox_sign_column, 'inverse') +	call s:HL('SyntasticWarningSign', 'yellow', g:gruvbox_sign_column, 'inverse') +endif + +" }}} +" Signature: {{{ + +if g:gruvbox_invert_signs == 0 +	call s:HL('SignatureMarkerText', 'purple', g:gruvbox_sign_column) +	call s:HL('SignatureMarkText', 'blue', g:gruvbox_sign_column) +else +	call s:HL('SignatureMarkerText', 'purple', g:gruvbox_sign_column, 'inverse') +	call s:HL('SignatureMarkText', 'blue', g:gruvbox_sign_column, 'inverse') +endif + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +if g:gruvbox_invert_signs == 0 +	call s:HL('ShowMarksHLl', 'blue', g:gruvbox_sign_column) +	call s:HL('ShowMarksHLu', 'blue', g:gruvbox_sign_column) +	call s:HL('ShowMarksHLo', 'blue', g:gruvbox_sign_column) +	call s:HL('ShowMarksHLm', 'blue', g:gruvbox_sign_column) +else +	call s:HL('ShowMarksHLl', 'blue', g:gruvbox_sign_column, 'inverse') +	call s:HL('ShowMarksHLu', 'blue', g:gruvbox_sign_column, 'inverse') +	call s:HL('ShowMarksHLo', 'blue', g:gruvbox_sign_column, 'inverse') +	call s:HL('ShowMarksHLm', 'blue', g:gruvbox_sign_column, 'inverse') +endif + +" }}} +" CtrlP: {{{ + +call s:HL('CtrlPMatch', 'yellow') +call s:HL('CtrlPNoEntries', 'red') +call s:HL('CtrlPPrtBase', 'dark2') +call s:HL('CtrlPPrtCursor', 'blue') +call s:HL('CtrlPLinePre', 'dark2') + +call s:HL('CtrlPMode1', 'blue', 'dark2', 'bold') +call s:HL('CtrlPMode2', 'dark0', 'blue', 'bold') +call s:HL('CtrlPStats', 'light4', 'dark2', 'bold') + +" }}} +" Startify: {{{ + +call s:HL('StartifyBracket', 'light3') +call s:HL('StartifyFile', 'light0') +call s:HL('StartifyNumber', 'blue') +call s:HL('StartifyPath', 'medium') +call s:HL('StartifySlash', 'medium') +call s:HL('StartifySection', 'yellow') +call s:HL('StartifySpecial', 'dark2') +call s:HL('StartifyHeader', 'orange') +call s:HL('StartifyFooter', 'dark2') + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = map(split( +	\ 'dark4 red green yellow blue purple aqua light4 ' . +	\ 'dark0 red green orange blue purple aqua light0' +	\ ), '"#" . s:gb[v:val][0]') + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +call s:HL('diffAdded', 'green') +call s:HL('diffRemoved', 'red') +call s:HL('diffChanged', 'aqua') + +call s:HL('diffFile', 'orange') +call s:HL('diffNewFile', 'yellow') + +call s:HL('diffLine', 'blue') + +" }}} +" Html: {{{ + +call s:HL('htmlTag', 'blue') +call s:HL('htmlEndTag', 'blue') + +call s:HL('htmlTagName', 'aqua', 'none', 'bold') +call s:HL('htmlArg', 'aqua') + +call s:HL('htmlScriptTag', 'purple') +call s:HL('htmlTagN', 'light1') +call s:HL('htmlSpecialTagName', 'aqua', 'none', 'bold') + +call s:HL('htmlLink', 'light4', 'none', 'underline') + +call s:HL('htmlSpecialChar', 'orange') + +call s:HL('htmlBold', 'fg', 'bg', 'bold') +call s:HL('htmlBoldUnderline', 'fg', 'bg', 'bold,underline') +call s:HL('htmlBoldItalic', 'fg', 'bg', 'bold,italic') +call s:HL('htmlBoldUnderlineItalic', 'fg', 'bg', 'bold,underline,italic') + +call s:HL('htmlUnderline', 'fg', 'bg', 'underline') +call s:HL('htmlUnderlineItalic', 'fg', 'bg', 'underline,italic') +call s:HL('htmlItalic', 'fg', 'bg', 'italic') + +" }}} +" Xml: {{{ + +call s:HL('xmlTag', 'blue') +call s:HL('xmlEndTag', 'blue') +call s:HL('xmlTagName', 'blue') +call s:HL('xmlEqual', 'blue') +call s:HL('docbkKeyword', 'aqua', 'none', 'bold') + +call s:HL('xmlDocTypeDecl', 'medium') +call s:HL('xmlDocTypeKeyword', 'purple') +call s:HL('xmlCdataStart', 'medium') +call s:HL('xmlCdataCdata', 'purple') +call s:HL('dtdFunction', 'medium') +call s:HL('dtdTagName', 'purple') + +call s:HL('xmlAttrib', 'aqua') +call s:HL('xmlProcessingDelim', 'medium') +call s:HL('dtdParamEntityPunct', 'medium') +call s:HL('dtdParamEntityDPunct', 'medium') +call s:HL('xmlAttribPunct', 'medium') + +call s:HL('xmlEntity', 'orange') +call s:HL('xmlEntityPunct', 'orange') +" }}} +" Vim: {{{ + +if g:gruvbox_italicize_comments == 0 +	call s:HL('vimCommentTitle', 'light4_256', 'none', 'bold') +else +	call s:HL('vimCommentTitle', 'light4_256', 'none', 'bold,italic') +endif +call s:HL('vimNotation', 'orange') +call s:HL('vimBracket', 'orange') +call s:HL('vimMapModKey', 'orange') +call s:HL('vimFuncSID', 'light3') +call s:HL('vimSetSep', 'light3') +call s:HL('vimSep', 'light3') +call s:HL('vimContinue', 'light3') + +" }}} +" Clojure: {{{ + +call s:HL('clojureKeyword', 'blue') +call s:HL('clojureCond', 'orange') +call s:HL('clojureSpecial', 'orange') +call s:HL('clojureDefine', 'orange') + +call s:HL('clojureFunc', 'yellow') +call s:HL('clojureRepeat', 'yellow') +call s:HL('clojureCharacter', 'aqua') +call s:HL('clojureStringEscape', 'aqua') +call s:HL('clojureException', 'red') + +call s:HL('clojureRegexp', 'aqua') +call s:HL('clojureRegexpEscape', 'aqua') +call s:HL('clojureRegexpCharClass', 'light3', 'none', 'bold') +call s:HL('clojureRegexpMod', 'light3', 'none', 'bold') +call s:HL('clojureRegexpQuantifier', 'light3', 'none', 'bold') + +call s:HL('clojureParen', 'light3') +call s:HL('clojureAnonArg', 'yellow') +call s:HL('clojureVariable', 'blue') +call s:HL('clojureMacro', 'orange') + +call s:HL('clojureMeta', 'yellow') +call s:HL('clojureDeref', 'yellow') +call s:HL('clojureQuote', 'yellow') +call s:HL('clojureUnquote', 'yellow') + +" }}} +" C: {{{ + +call s:HL('cOperator', 'purple') +call s:HL('cStructure', 'orange') + +" }}} +" Python: {{{ + +call s:HL('pythonBuiltin', 'orange') +call s:HL('pythonBuiltinObj', 'orange') +call s:HL('pythonBuiltinFunc', 'orange') +call s:HL('pythonFunction', 'aqua') +call s:HL('pythonDecorator', 'red') +call s:HL('pythonInclude', 'blue') +call s:HL('pythonImport', 'blue') +call s:HL('pythonRun', 'blue') +call s:HL('pythonCoding', 'blue') +call s:HL('pythonOperator', 'red') +call s:HL('pythonExceptions', 'purple') +call s:HL('pythonBoolean', 'purple') +call s:HL('pythonDot', 'light3') + +" }}} +" CSS: {{{ + +call s:HL('cssBraces', 'blue') +call s:HL('cssFunctionName', 'yellow') +call s:HL('cssIdentifier', 'orange') +call s:HL('cssClassName', 'green') +call s:HL('cssColor', 'blue') +call s:HL('cssSelectorOp', 'blue') +call s:HL('cssSelectorOp2', 'blue') +call s:HL('cssImportant', 'green') +call s:HL('cssVendor', 'light1') + +call s:HL('cssTextProp', 'aqua') +call s:HL('cssAnimationProp', 'aqua') +call s:HL('cssUIProp', 'yellow') +call s:HL('cssTransformProp', 'aqua') +call s:HL('cssTransitionProp', 'aqua') +call s:HL('cssPrintProp', 'aqua') +call s:HL('cssPositioningProp', 'yellow') +call s:HL('cssBoxProp', 'aqua') +call s:HL('cssFontDescriptorProp', 'aqua') +call s:HL('cssFlexibleBoxProp', 'aqua') +call s:HL('cssBorderOutlineProp', 'aqua') +call s:HL('cssBackgroundProp', 'aqua') +call s:HL('cssMarginProp', 'aqua') +call s:HL('cssListProp', 'aqua') +call s:HL('cssTableProp', 'aqua') +call s:HL('cssFontProp', 'aqua') +call s:HL('cssPaddingProp', 'aqua') +call s:HL('cssDimensionProp', 'aqua') +call s:HL('cssRenderProp', 'aqua') +call s:HL('cssColorProp', 'aqua') +call s:HL('cssGeneratedContentProp', 'aqua') + +" }}} +" JavaScript: {{{ + +call s:HL('javaScriptBraces', 'orange') +call s:HL('javaScriptFunction', 'aqua') +call s:HL('javaScriptIdentifier', 'red') +call s:HL('javaScriptMember', 'blue') +call s:HL('javaScriptNumber', 'purple') +call s:HL('javaScriptNull', 'purple') +call s:HL('javaScriptParens', 'light3') + +" }}} +" CoffeeScript: {{{ + +call s:HL('coffeeExtendedOp', 'light3') +call s:HL('coffeeSpecialOp', 'light3') +call s:HL('coffeeCurly', 'orange') +call s:HL('coffeeParen', 'light3') +call s:HL('coffeeBracket', 'orange') + +" }}} +" Ruby: {{{ + +call s:HL('rubyStringDelimiter', 'green') +call s:HL('rubyInterpolationDelimiter', 'aqua') + +" }}} +" ObjectiveC: {{{ + +call s:HL('objcTypeModifier', 'red') +call s:HL('objcDirective', 'blue') + +" }}} +" Go: {{{ + +call s:HL('goDirective', 'aqua') +call s:HL('goConstants', 'purple') +call s:HL('goDeclaration', 'red') +call s:HL('goDeclType', 'blue') +call s:HL('goBuiltins', 'orange') + +" }}} +" Lua: {{{ + +call s:HL('luaIn', 'red') +call s:HL('luaFunction', 'aqua') +call s:HL('luaTable', 'orange') + +" }}} +" MoonScript: {{{ + +call s:HL('moonSpecialOp', 'light3') +call s:HL('moonExtendedOp', 'light3') +call s:HL('moonFunction', 'light3') +call s:HL('moonObject', 'yellow') + +" }}} +" Java: {{{ + +call s:HL('javaAnnotation', 'blue') +call s:HL('javaDocTags', 'aqua') +hi! link javaCommentTitle vimCommentTitle +call s:HL('javaParen', 'light3') +call s:HL('javaParen1', 'light3') +call s:HL('javaParen2', 'light3') +call s:HL('javaParen3', 'light3') +call s:HL('javaParen4', 'light3') +call s:HL('javaParen5', 'light3') +call s:HL('javaOperator', 'orange') + +call s:HL('javaVarArg', 'green') + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +call s:HL('elixirStringDelimiter', 'green') +call s:HL('elixirInterpolationDelimiter', 'aqua') + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +call s:HL('scalaNameDefinition', 'light1') +call s:HL('scalaCaseFollowing', 'light1') +call s:HL('scalaCapitalWord', 'light1') +call s:HL('scalaTypeExtension', 'light1') + +call s:HL('scalaKeyword', 'red') +call s:HL('scalaKeywordModifier', 'red') + +call s:HL('scalaSpecial', 'aqua') +call s:HL('scalaOperator', 'light1') + +call s:HL('scalaTypeDeclaration', 'yellow') +call s:HL('scalaTypeTypePostDeclaration', 'yellow') + +call s:HL('scalaInstanceDeclaration', 'light1') +call s:HL('scalaInterpolation', 'aqua') + +" }}} + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! GruvboxHlsShowCursor() +	call s:HL('Cursor', 'dark0', g:gruvbox_hls_cursor) +	call s:HL('vCursor', 'dark0', g:gruvbox_hls_cursor) +	call s:HL('iCursor', 'dark0', g:gruvbox_hls_cursor) +	call s:HL('lCursor', 'dark0', g:gruvbox_hls_cursor) +endfunction + +function! GruvboxHlsHideCursor() +	call s:HL('Cursor', 'none', 'none', 'inverse') +	call s:HL('vCursor', 'none', 'none', 'inverse') +	call s:HL('iCursor', 'none', 'none', 'inverse') +	call s:HL('lCursor', 'none', 'none', 'inverse') +endfunction + +" }}} + +" vim: set sw=3 ts=3 sts=3 noet tw=80 ft=vim fdm=marker: diff --git a/colors/hemisu.vim b/colors/hemisu.vim new file mode 100644 index 0000000..e3c4043 --- /dev/null +++ b/colors/hemisu.vim @@ -0,0 +1,215 @@ +" hemisu.vim - Vim color scheme +" ---------------------------------------------------------- +" Author:   Noah Frederick (http://noahfrederick.com/) +" Version:  3.4 +" License:  Creative Commons Attribution-NonCommercial +"           3.0 Unported License       (see README.md) +" ---------------------------------------------------------- + +" Setup ----------------------------------------------------{{{ +" Reset syntax highlighting +hi clear +if exists("syntax_on") +  syntax reset +endif + +" Declare theme name +let g:colors_name = "hemisu" + +"}}} +" The Colors -----------------------------------------------{{{ +" Define reusable colors +let s:black            = { "gui": "#000000", "cterm": "16"  } +let s:white            = { "gui": "#FFFFFF", "cterm": "231" } +let s:almostWhite      = { "gui": "#EEEEEE", "cterm": "255" } +let s:almostBlack      = { "gui": "#111111", "cterm": "233" } +let s:middleDarkGrey   = { "gui": "#777777", "cterm": "241" } +let s:middleLightGrey  = { "gui": "#999999", "cterm": "246" } +let s:lightGrey        = { "gui": "#BBBBBB", "cterm": "249" } +let s:darkGrey         = { "gui": "#444444", "cterm": "238" } + +let s:darkPink         = { "gui": "#63001C", "cterm": "88"  } +let s:middleDarkPink   = { "gui": "#FF0055", "cterm": "197" } +let s:middleLightPink  = { "gui": "#D65E76", "cterm": "167" } +let s:lightPink        = { "gui": "#FFAFAF", "cterm": "217" } + +let s:darkBlue         = { "gui": "#005F87", "cterm": "24"  } +let s:middleDarkBlue   = { "gui": "#538192", "cterm": "24"  } +let s:middleLightBlue  = { "gui": "#9FD3E6", "cterm": "116" } +let s:lightBlue        = { "gui": "#CBE4EE", "cterm": "195" } + +let s:darkGreen        = { "gui": "#5F5F00", "cterm": "58"  } +let s:middleDarkGreen  = { "gui": "#739200", "cterm": "64"  } +let s:middleLightGreen = { "gui": "#B1D631", "cterm": "149" } +let s:lightGreen       = { "gui": "#BBFFAA", "cterm": "157" } + +let s:darkTan          = { "gui": "#503D15", "cterm": "52"  } +let s:lightTan         = { "gui": "#ECE1C8", "cterm": "230" } + +" Assign to semantic categories based on background color +if &background == "dark" +  " Dark theme +  let s:bg         = s:black +  let s:norm       = s:almostWhite +  let s:comment    = s:middleDarkGrey +  let s:dimmed     = s:middleLightGrey +  let s:subtle     = s:darkGrey +  let s:faint      = s:almostBlack +  let s:accent1    = s:middleLightBlue +  let s:accent2    = s:middleLightGreen +  let s:accent3    = s:lightGreen +  let s:accent4    = s:lightTan +  let s:normRed    = s:middleLightPink +  let s:normGreen  = s:middleLightGreen +  let s:normBlue   = s:middleLightBlue +  let s:faintRed   = s:darkPink +  let s:faintGreen = s:darkGreen +  let s:faintBlue  = s:darkBlue +else +  " Light theme +  let s:bg         = s:white +  let s:norm       = s:almostBlack +  let s:comment    = s:middleLightGrey +  let s:dimmed     = s:middleDarkGrey +  let s:subtle     = s:lightGrey +  let s:faint      = s:almostWhite +  let s:accent1    = s:middleDarkBlue +  let s:accent2    = s:middleDarkGreen +  let s:accent3    = s:middleDarkPink +  let s:accent4    = s:darkTan +  let s:normRed    = s:middleDarkPink +  let s:normGreen  = s:middleDarkGreen +  let s:normBlue   = s:middleDarkBlue +  let s:faintRed   = s:lightPink +  let s:faintGreen = s:lightGreen +  let s:faintBlue  = s:lightBlue +endif + +"}}} +" Utility Function -----------------------------------------{{{ +function! s:h(group, style) +  execute "highlight" a:group +        \ "guifg="   (has_key(a:style, "fg")    ? a:style.fg.gui   : "NONE") +        \ "guibg="   (has_key(a:style, "bg")    ? a:style.bg.gui   : "NONE") +        \ "guisp="   (has_key(a:style, "sp")    ? a:style.sp.gui   : "NONE") +        \ "gui="     (has_key(a:style, "gui")   ? a:style.gui      : "NONE") +        \ "ctermfg=" (has_key(a:style, "fg")    ? a:style.fg.cterm : "NONE") +        \ "ctermbg=" (has_key(a:style, "bg")    ? a:style.bg.cterm : "NONE") +        \ "cterm="   (has_key(a:style, "cterm") ? a:style.cterm    : "NONE") +endfunction + +"}}} +" Highlights - Vim >= 7 ------------------------------------{{{ +if version >= 700 +  call s:h("CursorLine",  { "bg": s:faint }) +  call s:h("MatchParen",  { "fg": s:accent1, "bg": s:faint, "gui": "bold" }) +  call s:h("Pmenu",       { "bg": s:faint }) +  call s:h("PmenuThumb",  { "bg": s:norm }) +  call s:h("PmenuSBar",   { "bg": s:subtle }) +  call s:h("PmenuSel",    { "bg": s:faintBlue }) +  call s:h("ColorColumn", { "bg": s:faintRed }) +  call s:h("SpellBad",    { "sp": s:normRed, "gui": "undercurl" }) +  call s:h("SpellCap",    { "sp": s:accent1, "gui": "undercurl" }) +  call s:h("SpellRare",   { "sp": s:normGreen, "gui": "undercurl" }) +  call s:h("SpellLocal",  { "sp": s:accent4, "gui": "undercurl" }) +  hi! link CursorColumn	CursorLine + +  " Use background for cterm Spell*, which does not support undercurl +  execute "hi! SpellBad   ctermbg=" s:faintRed.cterm +  execute "hi! SpellCap   ctermbg=" s:faintBlue.cterm +  execute "hi! SpellRare  ctermbg=" s:faintGreen.cterm +  execute "hi! SpellLocal ctermbg=" s:faint.cterm +endif + +"}}} +" Highlights - UI ------------------------------------------{{{ +call s:h("Normal",       { "fg": s:norm, "bg": s:bg }) +call s:h("NonText",      { "fg": s:subtle }) +call s:h("Cursor",       { "fg": s:bg, "bg": s:accent3 }) +call s:h("Visual",       { "bg": s:faintBlue }) +call s:h("IncSearch",    { "bg": s:faintBlue }) +call s:h("Search",       { "bg": s:faintGreen }) +call s:h("StatusLine",   { "fg": s:norm, "bg": s:faint, "gui": "bold", "cterm": "bold" }) +call s:h("StatusLineNC", { "fg": s:dimmed, "bg": s:faint }) +call s:h("SignColumn",   { "fg": s:norm }) +call s:h("VertSplit",    { "fg": s:subtle, "bg": s:faint }) +call s:h("TabLine",      { "fg": s:dimmed, "bg": s:faint }) +call s:h("TabLineSel",   { "gui": "bold", "cterm": "bold" }) +call s:h("Folded",       { "fg": s:comment, "bg": s:faint }) +call s:h("Directory",    { "fg": s:accent1 }) +call s:h("Title",        { "fg": s:accent4, "gui": "bold", "cterm": "bold" }) +call s:h("ErrorMsg",     { "bg": s:faintRed }) +call s:h("DiffAdd",      { "bg": s:faintGreen }) +call s:h("DiffChange",   { "bg": s:faintRed }) +call s:h("DiffDelete",   { "fg": s:normRed, "bg": s:faintRed }) +call s:h("DiffText",     { "bg": s:faintRed, "gui": "bold", "cterm": "bold" }) +call s:h("User1",        { "fg": s:bg, "bg": s:normGreen }) +call s:h("User2",        { "fg": s:bg, "bg": s:normRed }) +call s:h("User3",        { "fg": s:bg, "bg": s:normBlue }) +hi! link WildMenu     IncSearch +hi! link FoldColumn   SignColumn +hi! link WarningMsg   ErrorMsg +hi! link MoreMsg      Title +hi! link Question     MoreMsg +hi! link ModeMsg      MoreMsg +hi! link TabLineFill  StatusLineNC +hi! link LineNr       NonText +hi! link SpecialKey   NonText + +"}}} +" Highlights - Generic Syntax ------------------------------{{{ +call s:h("Delimiter",  { "fg": s:dimmed }) +call s:h("Comment",    { "fg": s:comment, "gui": "italic" }) +call s:h("Underlined", { "fg": s:accent1, "gui": "underline", "cterm": "underline" }) +call s:h("Type",       { "fg": s:accent3 }) +call s:h("String",     { "fg": s:accent2 }) +call s:h("Keyword",    { "fg": s:accent2, "gui": "bold", "cterm": "bold" }) +call s:h("Todo",       { "fg": s:normRed, "gui": "bold", "cterm": "bold" }) +call s:h("Function",   { "gui": "bold", "cterm": "bold" }) +hi! link Identifier  Function +hi! link Statement   Type +hi! link Constant    Directory +hi! link Number      Constant +hi! link Special     Constant +hi! link PreProc     Constant +hi! link Error       ErrorMsg + +"}}} +" Highlights - HTML ----------------------------------------{{{ +hi! link htmlLink    Underlined +hi! link htmlTag     Type +hi! link htmlEndTag  htmlTag + +"}}} +" Highlights - CSS -----------------------------------------{{{ +hi! link cssBraces      Delimiter +hi! link cssSelectorOp  cssBraces +hi! link cssClassName   Normal + +"}}} +" Highlights - Markdown ------------------------------------{{{ +hi! link mkdListItem  mkdDelimiter + +"}}} +" Highlights - Shell ---------------------------------------{{{ +hi! link shOperator  Delimiter +hi! link shCaseBar   Delimiter + +"}}} +" Highlights - JavaScript ----------------------------------{{{ +hi! link javaScriptValue   Constant +hi! link javaScriptNull    Constant +hi! link javaScriptBraces  Normal + +"}}} +" Highlights - Help ----------------------------------------{{{ +hi! link helpExample         String +hi! link helpHeadline        Title +hi! link helpSectionDelim    Comment +hi! link helpHyperTextEntry  Statement +hi! link helpHyperTextJump   Underlined +hi! link helpURL             Underlined + +"}}} + +" vim: fdm=marker:sw=2:sts=2:et diff --git a/colors/jellybeans.vim b/colors/jellybeans.vim new file mode 100644 index 0000000..21e7dbe --- /dev/null +++ b/colors/jellybeans.vim @@ -0,0 +1,551 @@ +" Vim color file +" +"  "    __       _ _       _                             " +"  "    \ \  ___| | |_   _| |__   ___  __ _ _ __  ___    " +"  "     \ \/ _ \ | | | | |  _ \ / _ \/ _  |  _ \/ __|   " +"  "  /\_/ /  __/ | | |_| | |_| |  __/ |_| | | | \__ \   " +"  "  \___/ \___|_|_|\__  |____/ \___|\____|_| |_|___/   " +"  "                 \___/                               " +" +"         "A colorful, dark color scheme for Vim." +" +" File:         jellybeans.vim +" URL:          github.com/nanotech/jellybeans.vim +" Scripts URL:  vim.org/scripts/script.php?script_id=2555 +" Maintainer:   NanoTech (nanotech.nanotechcorp.net) +" Version:      1.6~git +" Last Change:  January 15th, 2012 +" License:      MIT +" Contributors: Daniel Herbert (pocketninja) +"               Henry So, Jr. <henryso@panix.com> +"               David Liang <bmdavll at gmail dot com> +"               Rich Healey (richo) +"               Andrew Wong (w0ng) +" +" Copyright (c) 2009-2012 NanoTech +" +" 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. + +set background=dark + +hi clear + +if exists("syntax_on") +  syntax reset +endif + +let colors_name = "jellybeans" + +if has("gui_running") || &t_Co == 88 || &t_Co == 256 +  let s:low_color = 0 +else +  let s:low_color = 1 +endif + +" Color approximation functions by Henry So, Jr. and David Liang {{{ +" Added to jellybeans.vim by Daniel Herbert + +" returns an approximate grey index for the given grey level +fun! s: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! s: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! s: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! s: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! s: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! s: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! s:color(r, g, b) +  " get the closest grey +  let l:gx = s:grey_number(a:r) +  let l:gy = s:grey_number(a:g) +  let l:gz = s:grey_number(a:b) + +  " get the closest color +  let l:x = s:rgb_number(a:r) +  let l:y = s:rgb_number(a:g) +  let l:z = s:rgb_number(a:b) + +  if l:gx == l:gy && l:gy == l:gz +    " there are two possibilities +    let l:dgr = s:grey_level(l:gx) - a:r +    let l:dgg = s:grey_level(l:gy) - a:g +    let l:dgb = s:grey_level(l:gz) - a:b +    let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) +    let l:dr = s:rgb_level(l:gx) - a:r +    let l:dg = s:rgb_level(l:gy) - a:g +    let l:db = s: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 s:grey_color(l:gx) +    else +      " use the color +      return s:rgb_color(l:x, l:y, l:z) +    endif +  else +    " only one possibility +    return s:rgb_color(l:x, l:y, l:z) +  endif +endfun + +" returns the palette index to approximate the 'rrggbb' hex string +fun! s: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 s:color(l:r, l:g, l:b) +endfun + +" sets the highlighting for the given group +fun! s:X(group, fg, bg, attr, lcfg, lcbg) +  if s:low_color +    let l:fge = empty(a:lcfg) +    let l:bge = empty(a:lcbg) + +    if !l:fge && !l:bge +      exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=".a:lcbg +    elseif !l:fge && l:bge +      exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=NONE" +    elseif l:fge && !l:bge +      exec "hi ".a:group." ctermfg=NONE ctermbg=".a:lcbg +    endif +  else +    let l:fge = empty(a:fg) +    let l:bge = empty(a:bg) + +    if !l:fge && !l:bge +      exec "hi ".a:group." guifg=#".a:fg." guibg=#".a:bg." ctermfg=".s:rgb(a:fg)." ctermbg=".s:rgb(a:bg) +    elseif !l:fge && l:bge +      exec "hi ".a:group." guifg=#".a:fg." guibg=NONE ctermfg=".s:rgb(a:fg)." ctermbg=NONE" +    elseif l:fge && !l:bge +      exec "hi ".a:group." guifg=NONE guibg=#".a:bg." ctermfg=NONE ctermbg=".s:rgb(a:bg) +    endif +  endif + +  if a:attr == "" +    exec "hi ".a:group." gui=none cterm=none" +  else +    let l:noitalic = join(filter(split(a:attr, ","), "v:val !=? 'italic'"), ",") +    if empty(l:noitalic) +      let l:noitalic = "none" +    endif +    exec "hi ".a:group." gui=".a:attr." cterm=".l:noitalic +  endif +endfun +" }}} + +if !exists("g:jellybeans_background_color") +  let g:jellybeans_background_color = "151515" +end + +call s:X("Normal","e8e8d3",g:jellybeans_background_color,"","White","") +set background=dark + +if !exists("g:jellybeans_use_lowcolor_black") || g:jellybeans_use_lowcolor_black +    let s:termBlack = "Black" +else +    let s:termBlack = "Grey" +endif + +if version >= 700 +  call s:X("CursorLine","","1c1c1c","","",s:termBlack) +  call s:X("CursorColumn","","1c1c1c","","",s:termBlack) +  call s:X("MatchParen","ffffff","556779","bold","","DarkCyan") + +  call s:X("TabLine","000000","b0b8c0","italic","",s:termBlack) +  call s:X("TabLineFill","9098a0","","","",s:termBlack) +  call s:X("TabLineSel","000000","f0f0f0","italic,bold",s:termBlack,"White") + +  " Auto-completion +  call s:X("Pmenu","ffffff","606060","","White",s:termBlack) +  call s:X("PmenuSel","101010","eeeeee","",s:termBlack,"White") +endif + +call s:X("Visual","","404040","","",s:termBlack) +call s:X("Cursor",g:jellybeans_background_color,"b0d0f0","","","") + +call s:X("LineNr","605958",g:jellybeans_background_color,"none",s:termBlack,"") +call s:X("CursorLineNr","ccc5c4","","none","White","") +call s:X("Comment","888888","","italic","Grey","") +call s:X("Todo","c7c7c7","","bold","White",s:termBlack) + +call s:X("StatusLine","000000","dddddd","italic","","White") +call s:X("StatusLineNC","ffffff","403c41","italic","White","Black") +call s:X("VertSplit","777777","403c41","",s:termBlack,s:termBlack) +call s:X("WildMenu","f0a0c0","302028","","Magenta","") + +call s:X("Folded","a0a8b0","384048","italic",s:termBlack,"") +call s:X("FoldColumn","535D66","1f1f1f","","",s:termBlack) +call s:X("SignColumn","777777","333333","","",s:termBlack) +call s:X("ColorColumn","","000000","","",s:termBlack) + +call s:X("Title","70b950","","bold","Green","") + +call s:X("Constant","cf6a4c","","","Red","") +call s:X("Special","799d6a","","","Green","") +call s:X("Delimiter","668799","","","Grey","") + +call s:X("String","99ad6a","","","Green","") +call s:X("StringDelimiter","556633","","","DarkGreen","") + +call s:X("Identifier","c6b6ee","","","LightCyan","") +call s:X("Structure","8fbfdc","","","LightCyan","") +call s:X("Function","fad07a","","","Yellow","") +call s:X("Statement","8197bf","","","DarkBlue","") +call s:X("PreProc","8fbfdc","","","LightBlue","") + +hi! link Operator Structure + +call s:X("Type","ffb964","","","Yellow","") +call s:X("NonText","606060",g:jellybeans_background_color,"",s:termBlack,"") + +call s:X("SpecialKey","444444","1c1c1c","",s:termBlack,"") + +call s:X("Search","f0a0c0","302028","underline","Magenta","") + +call s:X("Directory","dad085","","","Yellow","") +call s:X("ErrorMsg","","902020","","","DarkRed") +hi! link Error ErrorMsg +hi! link MoreMsg Special +call s:X("Question","65C254","","","Green","") + + +" Spell Checking + +call s:X("SpellBad","","902020","underline","","DarkRed") +call s:X("SpellCap","","0000df","underline","","Blue") +call s:X("SpellRare","","540063","underline","","DarkMagenta") +call s:X("SpellLocal","","2D7067","underline","","Green") + +" Diff + +hi! link diffRemoved Constant +hi! link diffAdded String + +" VimDiff + +call s:X("DiffAdd","D2EBBE","437019","","White","DarkGreen") +call s:X("DiffDelete","40000A","700009","","DarkRed","DarkRed") +call s:X("DiffChange","","2B5B77","","White","DarkBlue") +call s:X("DiffText","8fbfdc","000000","reverse","Yellow","") + +" PHP + +hi! link phpFunctions Function +call s:X("StorageClass","c59f6f","","","Red","") +hi! link phpSuperglobal Identifier +hi! link phpQuoteSingle StringDelimiter +hi! link phpQuoteDouble StringDelimiter +hi! link phpBoolean Constant +hi! link phpNull Constant +hi! link phpArrayPair Operator +hi! link phpOperator Normal +hi! link phpRelation Normal +hi! link phpVarSelector Identifier + +" Python + +hi! link pythonOperator Statement + +" Ruby + +hi! link rubySharpBang Comment +call s:X("rubyClass","447799","","","DarkBlue","") +call s:X("rubyIdentifier","c6b6fe","","","Cyan","") +hi! link rubyConstant Type +hi! link rubyFunction Function + +call s:X("rubyInstanceVariable","c6b6fe","","","Cyan","") +call s:X("rubySymbol","7697d6","","","Blue","") +hi! link rubyGlobalVariable rubyInstanceVariable +hi! link rubyModule rubyClass +call s:X("rubyControl","7597c6","","","Blue","") + +hi! link rubyString String +hi! link rubyStringDelimiter StringDelimiter +hi! link rubyInterpolationDelimiter Identifier + +call s:X("rubyRegexpDelimiter","540063","","","Magenta","") +call s:X("rubyRegexp","dd0093","","","DarkMagenta","") +call s:X("rubyRegexpSpecial","a40073","","","Magenta","") + +call s:X("rubyPredefinedIdentifier","de5577","","","Red","") + +" Erlang + +hi! link erlangAtom rubySymbol +hi! link erlangBIF rubyPredefinedIdentifier +hi! link erlangFunction rubyPredefinedIdentifier +hi! link erlangDirective Statement +hi! link erlangNode Identifier + +" JavaScript + +hi! link javaScriptValue Constant +hi! link javaScriptRegexpString rubyRegexp + +" CoffeeScript + +hi! link coffeeRegExp javaScriptRegexpString + +" Lua + +hi! link luaOperator Conditional + +" C + +hi! link cFormat Identifier +hi! link cOperator Constant + +" Objective-C/Cocoa + +hi! link objcClass Type +hi! link cocoaClass objcClass +hi! link objcSubclass objcClass +hi! link objcSuperclass objcClass +hi! link objcDirective rubyClass +hi! link objcStatement Constant +hi! link cocoaFunction Function +hi! link objcMethodName Identifier +hi! link objcMethodArg Normal +hi! link objcMessageName Identifier + +" Vimscript + +hi! link vimOper Normal + +" Debugger.vim + +call s:X("DbgCurrent","DEEBFE","345FA8","","White","DarkBlue") +call s:X("DbgBreakPt","","4F0037","","","DarkMagenta") + +" vim-indent-guides + +if !exists("g:indent_guides_auto_colors") +  let g:indent_guides_auto_colors = 0 +endif +call s:X("IndentGuidesOdd","","232323","","","") +call s:X("IndentGuidesEven","","1b1b1b","","","") + +" Plugins, etc. + +hi! link TagListFileName Directory +call s:X("PreciseJumpTarget","B9ED67","405026","","White","Green") + +if !exists("g:jellybeans_background_color_256") +  let g:jellybeans_background_color_256=233 +end +" Manual overrides for 256-color terminals. Dark colors auto-map badly. +if !s:low_color +  hi StatusLineNC ctermbg=235 +  hi Folded ctermbg=236 +  hi FoldColumn ctermbg=234 +  hi SignColumn ctermbg=236 +  hi CursorColumn ctermbg=234 +  hi CursorLine ctermbg=234 +  hi SpecialKey ctermbg=234 +  exec "hi NonText ctermbg=".g:jellybeans_background_color_256 +  exec "hi LineNr ctermbg=".g:jellybeans_background_color_256 +  hi DiffText ctermfg=81 +  exec "hi Normal ctermbg=".g:jellybeans_background_color_256 +  hi DbgBreakPt ctermbg=53 +  hi IndentGuidesOdd ctermbg=235 +  hi IndentGuidesEven ctermbg=234 +endif + +if exists("g:jellybeans_overrides") +  fun! s:load_colors(defs) +    for [l:group, l:v] in items(a:defs) +      call s:X(l:group, get(l:v, 'guifg', ''), get(l:v, 'guibg', ''), +      \                 get(l:v, 'attr', ''), +      \                 get(l:v, 'ctermfg', ''), get(l:v, 'ctermbg', '')) +      if !s:low_color +        for l:prop in ['ctermfg', 'ctermbg'] +          let l:override_key = '256'.l:prop +          if has_key(l:v, l:override_key) +            exec "hi ".l:group." ".l:prop."=".l:v[l:override_key] +          endif +        endfor +      endif +      unlet l:group +      unlet l:v +    endfor +  endfun +  call s:load_colors(g:jellybeans_overrides) +  delf s:load_colors +endif + +" delete functions {{{ +delf s:X +delf s:rgb +delf s:color +delf s:rgb_color +delf s:rgb_level +delf s:rgb_number +delf s:grey_color +delf s:grey_level +delf s:grey_number +" }}} diff --git a/colors/molokai.vim b/colors/molokai.vim new file mode 100644 index 0000000..6d97053 --- /dev/null +++ b/colors/molokai.vim @@ -0,0 +1,276 @@ +" Vim color file +" +" Author: Tomas Restrepo <tomas@winterdom.com> +" https://github.com/tomasr/molokai +" +" Note: Based on the Monokai theme for TextMate +" by Wimer Hazenberg and its darker variant +" by Hamish Stuart Macpherson +" + +hi clear + +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="molokai" + +if exists("g:molokai_original") +    let s:molokai_original = g:molokai_original +else +    let s:molokai_original = 0 +endif + + +hi Boolean         guifg=#AE81FF +hi Character       guifg=#E6DB74 +hi Number          guifg=#AE81FF +hi String          guifg=#E6DB74 +hi Conditional     guifg=#F92672               gui=bold +hi Constant        guifg=#AE81FF               gui=bold +hi Cursor          guifg=#000000 guibg=#F8F8F0 +hi iCursor         guifg=#000000 guibg=#F8F8F0 +hi Debug           guifg=#BCA3A3               gui=bold +hi Define          guifg=#66D9EF +hi Delimiter       guifg=#8F8F8F +hi DiffAdd                       guibg=#13354A +hi DiffChange      guifg=#89807D guibg=#4C4745 +hi DiffDelete      guifg=#960050 guibg=#1E0010 +hi DiffText                      guibg=#4C4745 gui=italic,bold + +hi Directory       guifg=#A6E22E               gui=bold +hi Error           guifg=#E6DB74 guibg=#1E0010 +hi ErrorMsg        guifg=#F92672 guibg=#232526 gui=bold +hi Exception       guifg=#A6E22E               gui=bold +hi Float           guifg=#AE81FF +hi FoldColumn      guifg=#465457 guibg=#000000 +hi Folded          guifg=#465457 guibg=#000000 +hi Function        guifg=#A6E22E +hi Identifier      guifg=#FD971F +hi Ignore          guifg=#808080 guibg=bg +hi IncSearch       guifg=#C4BE89 guibg=#000000 + +hi Keyword         guifg=#F92672               gui=bold +hi Label           guifg=#E6DB74               gui=none +hi Macro           guifg=#C4BE89               gui=italic +hi SpecialKey      guifg=#66D9EF               gui=italic + +hi MatchParen      guifg=#000000 guibg=#FD971F gui=bold +hi ModeMsg         guifg=#E6DB74 +hi MoreMsg         guifg=#E6DB74 +hi Operator        guifg=#F92672 + +" complete menu +hi Pmenu           guifg=#66D9EF guibg=#000000 +hi PmenuSel                      guibg=#808080 +hi PmenuSbar                     guibg=#080808 +hi PmenuThumb      guifg=#66D9EF + +hi PreCondit       guifg=#A6E22E               gui=bold +hi PreProc         guifg=#A6E22E +hi Question        guifg=#66D9EF +hi Repeat          guifg=#F92672               gui=bold +hi Search          guifg=#000000 guibg=#FFE792 +" marks +hi SignColumn      guifg=#A6E22E guibg=#232526 +hi SpecialChar     guifg=#F92672               gui=bold +hi SpecialComment  guifg=#7E8E91               gui=bold +hi Special         guifg=#66D9EF guibg=bg      gui=italic +if has("spell") +    hi SpellBad    guisp=#FF0000 gui=undercurl +    hi SpellCap    guisp=#7070F0 gui=undercurl +    hi SpellLocal  guisp=#70F0F0 gui=undercurl +    hi SpellRare   guisp=#FFFFFF gui=undercurl +endif +hi Statement       guifg=#F92672               gui=bold +hi StatusLine      guifg=#455354 guibg=fg +hi StatusLineNC    guifg=#808080 guibg=#080808 +hi StorageClass    guifg=#FD971F               gui=italic +hi Structure       guifg=#66D9EF +hi Tag             guifg=#F92672               gui=italic +hi Title           guifg=#ef5939 +hi Todo            guifg=#FFFFFF guibg=bg      gui=bold + +hi Typedef         guifg=#66D9EF +hi Type            guifg=#66D9EF               gui=none +hi Underlined      guifg=#808080               gui=underline + +hi VertSplit       guifg=#808080 guibg=#080808 gui=bold +hi VisualNOS                     guibg=#403D3D +hi Visual                        guibg=#403D3D +hi WarningMsg      guifg=#FFFFFF guibg=#333333 gui=bold +hi WildMenu        guifg=#66D9EF guibg=#000000 + +hi TabLineFill     guifg=#1B1D1E guibg=#1B1D1E +hi TabLine         guibg=#1B1D1E guifg=#808080 gui=none + +if s:molokai_original == 1 +   hi Normal          guifg=#F8F8F2 guibg=#272822 +   hi Comment         guifg=#75715E +   hi CursorLine                    guibg=#3E3D32 +   hi CursorLineNr    guifg=#FD971F               gui=none +   hi CursorColumn                  guibg=#3E3D32 +   hi ColorColumn                   guibg=#3B3A32 +   hi LineNr          guifg=#BCBCBC guibg=#3B3A32 +   hi NonText         guifg=#75715E +   hi SpecialKey      guifg=#75715E +else +   hi Normal          guifg=#F8F8F2 guibg=#1B1D1E +   hi Comment         guifg=#7E8E91 +   hi CursorLine                    guibg=#293739 +   hi CursorLineNr    guifg=#FD971F               gui=none +   hi CursorColumn                  guibg=#293739 +   hi ColorColumn                   guibg=#232526 +   hi LineNr          guifg=#465457 guibg=#232526 +   hi NonText         guifg=#465457 +   hi SpecialKey      guifg=#465457 +end + +" +" Support for 256-color terminal +" +if &t_Co > 255 +   if s:molokai_original == 1 +      hi Normal                   ctermbg=234 +      hi CursorLine               ctermbg=235   cterm=none +      hi CursorLineNr ctermfg=208               cterm=none +   else +      hi Normal       ctermfg=252 ctermbg=233 +      hi CursorLine               ctermbg=234   cterm=none +      hi CursorLineNr ctermfg=208               cterm=none +   endif +   hi Boolean         ctermfg=135 +   hi Character       ctermfg=144 +   hi Number          ctermfg=135 +   hi String          ctermfg=144 +   hi Conditional     ctermfg=161               cterm=bold +   hi Constant        ctermfg=135               cterm=bold +   hi Cursor          ctermfg=16  ctermbg=253 +   hi Debug           ctermfg=225               cterm=bold +   hi Define          ctermfg=81 +   hi Delimiter       ctermfg=241 + +   hi DiffAdd                     ctermbg=24 +   hi DiffChange      ctermfg=181 ctermbg=239 +   hi DiffDelete      ctermfg=162 ctermbg=53 +   hi DiffText                    ctermbg=102 cterm=bold + +   hi Directory       ctermfg=118               cterm=bold +   hi Error           ctermfg=219 ctermbg=89 +   hi ErrorMsg        ctermfg=199 ctermbg=16    cterm=bold +   hi Exception       ctermfg=118               cterm=bold +   hi Float           ctermfg=135 +   hi FoldColumn      ctermfg=67  ctermbg=16 +   hi Folded          ctermfg=67  ctermbg=16 +   hi Function        ctermfg=118 +   hi Identifier      ctermfg=208               cterm=none +   hi Ignore          ctermfg=244 ctermbg=232 +   hi IncSearch       ctermfg=193 ctermbg=16 + +   hi keyword         ctermfg=161               cterm=bold +   hi Label           ctermfg=229               cterm=none +   hi Macro           ctermfg=193 +   hi SpecialKey      ctermfg=81 + +   hi MatchParen      ctermfg=233  ctermbg=208 cterm=bold +   hi ModeMsg         ctermfg=229 +   hi MoreMsg         ctermfg=229 +   hi Operator        ctermfg=161 + +   " complete menu +   hi Pmenu           ctermfg=81  ctermbg=16 +   hi PmenuSel        ctermfg=255 ctermbg=242 +   hi PmenuSbar                   ctermbg=232 +   hi PmenuThumb      ctermfg=81 + +   hi PreCondit       ctermfg=118               cterm=bold +   hi PreProc         ctermfg=118 +   hi Question        ctermfg=81 +   hi Repeat          ctermfg=161               cterm=bold +   hi Search          ctermfg=0   ctermbg=222   cterm=NONE + +   " marks column +   hi SignColumn      ctermfg=118 ctermbg=235 +   hi SpecialChar     ctermfg=161               cterm=bold +   hi SpecialComment  ctermfg=245               cterm=bold +   hi Special         ctermfg=81 +   if has("spell") +       hi SpellBad                ctermbg=52 +       hi SpellCap                ctermbg=17 +       hi SpellLocal              ctermbg=17 +       hi SpellRare  ctermfg=none ctermbg=none  cterm=reverse +   endif +   hi Statement       ctermfg=161               cterm=bold +   hi StatusLine      ctermfg=238 ctermbg=253 +   hi StatusLineNC    ctermfg=244 ctermbg=232 +   hi StorageClass    ctermfg=208 +   hi Structure       ctermfg=81 +   hi Tag             ctermfg=161 +   hi Title           ctermfg=166 +   hi Todo            ctermfg=231 ctermbg=232   cterm=bold + +   hi Typedef         ctermfg=81 +   hi Type            ctermfg=81                cterm=none +   hi Underlined      ctermfg=244               cterm=underline + +   hi VertSplit       ctermfg=244 ctermbg=232   cterm=bold +   hi VisualNOS                   ctermbg=238 +   hi Visual                      ctermbg=235 +   hi WarningMsg      ctermfg=231 ctermbg=238   cterm=bold +   hi WildMenu        ctermfg=81  ctermbg=16 + +   hi Comment         ctermfg=59 +   hi CursorColumn                ctermbg=236 +   hi ColorColumn                 ctermbg=236 +   hi LineNr          ctermfg=250 ctermbg=236 +   hi NonText         ctermfg=59 + +   hi SpecialKey      ctermfg=59 + +   if exists("g:rehash256") && g:rehash256 == 1 +       hi Normal       ctermfg=252 ctermbg=234 +       hi CursorLine               ctermbg=236   cterm=none +       hi CursorLineNr ctermfg=208               cterm=none + +       hi Boolean         ctermfg=141 +       hi Character       ctermfg=222 +       hi Number          ctermfg=141 +       hi String          ctermfg=222 +       hi Conditional     ctermfg=197               cterm=bold +       hi Constant        ctermfg=141               cterm=bold + +       hi DiffDelete      ctermfg=125 ctermbg=233 + +       hi Directory       ctermfg=154               cterm=bold +       hi Error           ctermfg=222 ctermbg=233 +       hi Exception       ctermfg=154               cterm=bold +       hi Float           ctermfg=141 +       hi Function        ctermfg=154 +       hi Identifier      ctermfg=208 + +       hi Keyword         ctermfg=197               cterm=bold +       hi Operator        ctermfg=197 +       hi PreCondit       ctermfg=154               cterm=bold +       hi PreProc         ctermfg=154 +       hi Repeat          ctermfg=197               cterm=bold + +       hi Statement       ctermfg=197               cterm=bold +       hi Tag             ctermfg=197 +       hi Title           ctermfg=203 +       hi Visual                      ctermbg=238 + +       hi Comment         ctermfg=244 +       hi LineNr          ctermfg=239 ctermbg=235 +       hi NonText         ctermfg=239 +       hi SpecialKey      ctermfg=239 +   endif +end + +" Must be at the end, because of ctermbg=234 bug. +" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ +set background=dark diff --git a/colors/seoul256.vim b/colors/seoul256.vim new file mode 100644 index 0000000..170caa2 --- /dev/null +++ b/colors/seoul256.vim @@ -0,0 +1,341 @@ +" "  _____             _ ___ ___ ___      " +" " |   __|___ ___ _ _| |_  |  _|  _|     " +" " |__   | -_| . | | | |  _|_  | . |     " +" " |_____|___|___|___|_|___|___|___|.vim " +" +" " Low-contrast dark Vim color scheme using Seoul Colors " +" +" File:         seoul256.vim +" URL:          github.com/junegunn/seoul256.vim +" Author:       Junegunn Choi (junegunn.c@gmail.com) +" Version:      1.5.3 +" Last Updated: Aug 4, 2014 +" License:      MIT +" +" Copyright (c) 2013 Junegunn Choi +" +" MIT License +" +" Permission is hereby granted, free of charge, to any person obtaining +" a copy of this software and associated documentation files (the +" "Software"), to deal in the Software without restriction, including +" without limitation the rights to use, copy, modify, merge, publish, +" distribute, 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 PARTICULAR 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 CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +if !exists('s:rgb_map') +  let s:rgb_map = +  \{ 22: '#006F00', 23: '#007173', 24: '#007299', 25: '#0074BE', 30: '#009799', +  \  31: '#0099BD', 38: '#00BDDF', 52: '#730B00', 58: '#727100', 59: '#727272', +  \  65: '#719872', 66: '#719899', 67: '#7299BC', 68: '#719CDF', 73: '#6FBCBD', +  \  74: '#70BDDF', 88: '#9B1300', 89: '#9B1D72', 94: '#9A7200', 95: '#9A7372', +  \  96: '#9A7599', 101: '#999872', 103: '#999ABD', 108: '#98BC99', 109: '#98BCBD', +  \ 110: '#98BEDE', 116: '#97DDDF', 125: '#BF2172', 131: '#BE7572', 137: '#BE9873', +  \ 143: '#BDBB72', 144: '#BDBC98', 145: '#BDBDBD', 151: '#BCDDBD', 152: '#BCDEDE', +  \ 153: '#BCE0FF', 161: '#E12672', 168: '#E17899', 173: '#E19972', 174: '#E09B99', +  \ 179: '#DFBC72', 181: '#E0BEBC', 184: '#DEDC00', 186: '#DEDD99', 187: '#DFDEBD', +  \ 189: '#DFDFFF', 216: '#FFBD98', 217: '#FFBFBD', 218: '#FFC0DE', 220: '#FFDD00', +  \ 222: '#FFDE99', 224: '#FFDFDF', 230: '#FFFFDF', 231: '#FFFFFF', 232: '#060606', +  \ 233: '#171717', 234: '#252525', 235: '#333233', 236: '#3F3F3F', 237: '#4B4B4B', +  \ 238: '#565656', 239: '#616161', 240: '#6B6B6B', 241: '#757575', 249: '#BFBFBF', +  \ 250: '#C8C8C8', 251: '#D1D0D1', 252: '#D9D9D9', 253: '#E1E1E1', 254: '#E9E9E9', +  \ 255: '#F1F1F1' } +endif + +let s:background  = &background +let s:colors_name = get(g:, 'colors_name', '') + +silent! unlet s:style s:seoul256_background + +" 1. If g:seoul256_background is found +if exists('g:seoul256_background') +  let s:seoul256_background = g:seoul256_background +  if s:seoul256_background >= 233 && s:seoul256_background <= 239 +    let s:style = 'dark' +  elseif s:seoul256_background >= 252 && s:seoul256_background <= 256 +    let s:style = 'light' +  else +    unlet s:seoul256_background +  endif +endif + +if !exists('s:style') +  " 2. If g:colors_name is NOT 'seoul256' -> dark version +  if s:colors_name != 'seoul256' +    let s:style = 'dark' +  " 3. Follow &background setting +  else +    let s:style = &background +  endif +endif +let s:style_idx = s:style == 'light' + +" Background colors +if s:style == 'dark' +  let s:dark_bg  = get(s:, 'seoul256_background', 237) +  let s:light_bg = 253 +else +  let s:dark_bg  = 237 +  let s:light_bg = get(s:, 'seoul256_background', 253) +endif +let s:dark_bg_2 = s:dark_bg > 233 ? s:dark_bg - 2 : 16 +let s:light_bg_1 = min([s:light_bg + 1, 256]) +let s:light_bg_2 = min([s:light_bg + 2, 256]) + +" Foreground colors +let s:dark_fg = 252 +let s:light_fg = 239 + +function! s:hi(item, fg, bg) +  let fg = a:fg[s:style_idx] > 255 ? 231 : a:fg[s:style_idx] +  let bg = a:bg[s:style_idx] > 255 ? 231 : a:bg[s:style_idx] + +  if !empty(fg) +    execute printf("highlight %s ctermfg=%s guifg=%s", a:item, fg, get(s:rgb_map, fg, 'NONE')) +  endif +  if !empty(bg) +    execute printf("highlight %s ctermbg=%s guibg=%s", a:item, bg, get(s:rgb_map, bg, 'NONE')) +  endif +endfunction + +let s:gui = has('gui_running') +if !s:gui +  set t_Co=256 +end + +silent! unlet g:colors_name +hi clear +if exists("syntax_on") +  syntax reset +endif + +call s:hi('Normal', [s:dark_fg, s:light_fg], [s:dark_bg, s:light_bg]) + +call s:hi('LineNr', [101, 101], [s:dark_bg + 1, s:light_bg - 2]) +call s:hi('Visual', ['', ''], [23, 152]) +call s:hi('VisualNOS', ['', ''], [23, 152]) + +call s:hi('Comment', [65, 65], ['', '']) +call s:hi('Number', [222, 95], ['', '']) +call s:hi('Float', [222, 95], ['', '']) +call s:hi('Boolean', [103, 168], ['', '']) +call s:hi('String', [109, 30], ['', '']) +call s:hi('Constant', [73, 23], ['', '']) +call s:hi('Character', [174, 168], ['', '']) +call s:hi('Delimiter', [137, 94], ['', '']) +call s:hi('StringDelimiter', [137, 94], ['', '']) +call s:hi('Statement', [108, 66], ['', '']) +" case, default, etc. +" hi Label ctermfg= + +" if else end +call s:hi('Conditional', [110, 31], ['', '']) + +" while end +call s:hi('Repeat', [68, 67], ['', '']) +call s:hi('Todo', [161, 125], [s:dark_bg_2, s:light_bg_2]) +call s:hi('Function', [187, 58], ['', '']) + +" Macros +call s:hi('Define', [173, 131], ['', '']) +call s:hi('Macro', [173, 131], ['', '']) +call s:hi('Include', [173, 131], ['', '']) +call s:hi('PreCondit', [173, 131], ['', '']) + + +" #! +call s:hi('PreProc', [143, 58], ['', '']) + +" @abc +call s:hi('Identifier', [217, 96], ['', '']) + +" AAA Abc +call s:hi('Type', [179, 94], ['', '']) + +" + - * / << +call s:hi('Operator', [186, 131], ['', '']) + +" super yield +call s:hi('Keyword', [168, 168], ['', '']) + +" raise +call s:hi('Exception', [161, 161], ['', '']) +" +" hi StorageClass ctermfg= +call s:hi('Structure', [116, 23], ['', '']) +" hi Typedef ctermfg= + +call s:hi('Error', [s:dark_fg, s:light_bg_1], [52, 174]) +call s:hi('ErrorMsg', [s:dark_fg, s:light_bg_1], [52, 168]) +call s:hi('Underlined', [181, 168], ['', '']) + +" set textwidth=80 +" set colorcolumn=+1 +call s:hi('ColorColumn', ['', ''], [s:dark_bg - 1, s:light_bg - 2]) + +" GVIM only +" hi Cursor ctermfg= +" hi CursorIM ctermfg= + +" set cursorline cursorcolumn +call s:hi('CursorLine', ['', ''], [s:dark_bg - 1, s:light_bg - 1]) +call s:hi('CursorLineNr', [131, 131], [s:dark_bg - 1, s:light_bg - 1]) +call s:hi('CursorColumn', ['', ''], [s:dark_bg - 1, s:light_bg - 1]) + +call s:hi('Directory', [187, 95], ['', '']) + +call s:hi('DiffAdd',    ['NONE', 'NONE'], [22, 151]) +call s:hi('DiffDelete', ['NONE', 'NONE'], [95, 181]) +call s:hi('DiffChange', ['NONE', 'NONE'], [s:dark_bg + 3, 189]) +call s:hi('DiffText',   ['NONE', 'NONE'], [52, 224]) + +call s:hi('VertSplit', [s:dark_bg_2, s:light_bg - 3], [s:dark_bg_2, s:light_bg - 3]) +call s:hi('Folded', [101, 101], [s:dark_bg + 1, s:light_bg - 2]) + +" set foldcolumn=1 +call s:hi('FoldColumn', [144, 94], [s:dark_bg + 1, s:light_bg - 2]) + +call s:hi('MatchParen', ['', ''], [s:dark_bg + 3, s:light_bg - 3]) + +" -- INSERT -- +call s:hi('ModeMsg', [173, 173], ['', '']) + +" let &showbreak = '> ' +call s:hi('NonText', [101, 101], ['', '']) + +call s:hi('MoreMsg', [173, 173], ['', '']) + +" Popup menu +call s:hi('Pmenu', [s:dark_bg + 1, 238], [224, 224]) +call s:hi('PmenuSel', [s:dark_fg, s:dark_fg], [89, 89]) +call s:hi('PmenuSbar', ['', ''], [65, 65]) +call s:hi('PmenuThumb', ['', ''], [23, 23]) + +call s:hi('Search', [s:dark_fg, 255], [24, 74]) +call s:hi('IncSearch', [220, 220], [s:dark_bg + 1, 238]) + +" String delimiter, interpolation +call s:hi('Special', [216, 173], ['', '']) +" hi SpecialChar ctermfg= +" hi SpecialComment ctermfg= +" hi Tag ctermfg= +" hi Debug ctermfg= + +" :map, listchars +call s:hi('SpecialKey', [59, 145], ['', '']) + +if !s:gui +  " Red / Blue / Cyan / Magenta +  if s:style_idx == 0 +    hi SpellBad   ctermbg=NONE cterm=underline ctermfg=168 +    hi SpellCap   ctermbg=NONE cterm=underline ctermfg=110 +    hi SpellLocal ctermbg=NONE cterm=underline ctermfg=153 +    hi SpellRare  ctermbg=NONE cterm=underline ctermfg=218 +  else +    hi SpellBad   ctermbg=NONE cterm=underline ctermfg=125 +    hi SpellCap   ctermbg=NONE cterm=underline ctermfg=25 +    hi SpellLocal ctermbg=NONE cterm=underline ctermfg=31 +    hi SpellRare  ctermbg=NONE cterm=underline ctermfg=96 +  endif +else +  if s:style_idx == 0 +    execute 'hi SpellBad   gui=undercurl guisp=' . s:rgb_map[168] +    execute 'hi SpellCap   gui=undercurl guisp=' . s:rgb_map[110] +    execute 'hi SpellLocal gui=undercurl guisp=' . s:rgb_map[153] +    execute 'hi SpellRare  gui=undercurl guisp=' . s:rgb_map[218] +  else +    execute 'hi SpellBad   gui=undercurl guisp=' . s:rgb_map[125] +    execute 'hi SpellCap   gui=undercurl guisp=' . s:rgb_map[25] +    execute 'hi SpellLocal gui=undercurl guisp=' . s:rgb_map[31] +    execute 'hi SpellRare  gui=undercurl guisp=' . s:rgb_map[96] +  endif +endif + +" +call s:hi('StatusLine', [95, 95], [187, 187]) +call s:hi('StatusLineNC', [s:dark_bg + 2, s:light_bg - 2], [187, 238]) +call s:hi('TabLineFill', [s:dark_bg + 2, s:light_bg - 2], ['', '']) +call s:hi('TabLineSel', [187, 187], [23, 66]) +call s:hi('TabLine', [s:dark_bg + 12, s:light_bg - 12], [s:dark_bg + 4, s:light_bg - 4]) +call s:hi('WildMenu', [95, 95], [184, 184]) + +" :set all +call s:hi('Title', [181, 88], ['', '']) + +" TODO +call s:hi('Question', [179, 88], ['', '']) + +" Search hit bottom +call s:hi('WarningMsg', [179, 88], ['', '']) + +" Sign column +call s:hi('SignColumn', [173, 173], [s:dark_bg, s:light_bg]) + +" Diff +call s:hi('diffAdded',   [108, 65], ['', '']) +call s:hi('diffRemoved', [174, 131], ['', '']) +hi link diffLine Constant + +call s:hi('Conceal', [s:dark_fg + 2, s:light_fg - 2], [s:dark_bg - 1, s:light_bg + 2]) +call s:hi('Ignore',  [s:dark_bg + 3, s:light_bg - 3], [s:dark_bg, s:light_bg]) + +""""""""""""""""""""""""""""""""""""""""""""""""" +" Plugins +""""""""""""""""""""""""""""""""""""""""""""""""" + +" vim-indent-guides +" ----------------- +let g:indent_guides_auto_colors = 0 +call s:hi('IndentGuidesOdd', ['', ''], [s:dark_bg - 1, s:light_bg + 1]) +call s:hi('IndentGuidesEven', ['', ''], [s:dark_bg + 1, s:light_bg - 1]) + +" vim-gitgutter +" ------------- +call s:hi('GitGutterAdd', [108, 65], ['', '']) +call s:hi('GitGutterChange', [68, 68], ['', '']) +call s:hi('GitGutterDelete', [161, 161], ['', '']) +call s:hi('GitGutterChangeDelete', [168, 168], ['', '']) + +" http://vim.wikia.com/wiki/Highlight_unwanted_spaces      +" ---------------------------------------------------^^^^^ +call s:hi('ExtraWhitespace', ['', ''], [s:dark_bg - 1, s:light_bg - 2]) + +" vim-ruby +" -------- +" " rubySymbol +let ruby_operators = 1 +call s:hi('rubyClass', [31, 31], ['', '']) +" call s:hi('rubyInstanceVariable', [189, 189], ['', '']) +call s:hi('rubyRegexp', [186, 101], ['', '']) +call s:hi('rubyRegexpDelimiter', [168, 168], ['', '']) +call s:hi('rubyArrayDelimiter', [67, 38], ['', '']) +call s:hi('rubyBlockParameterList', [186, 94], ['', '']) +call s:hi('rubyCurlyBlockDelimiter', [144, 101], ['', '']) + +" ARGV $stdout +call s:hi('rubyPredefinedIdentifier', [230, 52], ['', '']) +" hi rubyRegexpSpecial + +hi CursorLine cterm=NONE +hi CursorLineNr cterm=NONE + +let g:seoul256_current_fg = [s:dark_fg, s:light_fg][s:style_idx] +let g:seoul256_current_bg = [s:dark_bg, s:light_bg][s:style_idx] +let g:colors_name = 'seoul256' +if s:colors_name != g:colors_name || s:background == s:style +  let &background = s:style +else +  let &background = s:background +endif diff --git a/colors/solarized.vim b/colors/solarized.vim new file mode 100644 index 0000000..70f5223 --- /dev/null +++ b/colors/solarized.vim @@ -0,0 +1,1117 @@ +" Name:     Solarized vim colorscheme +" Author:   Ethan Schoonover <es@ethanschoonover.com> +" URL:      http://ethanschoonover.com/solarized +"           (see this url for latest release & screenshots) +" License:  OSI approved MIT license (see end of this file) +" Created:  In the middle of the night +" Modified: 2011 May 05 +" +" Usage "{{{ +" +" --------------------------------------------------------------------- +" ABOUT: +" --------------------------------------------------------------------- +" Solarized is a carefully designed selective contrast colorscheme with dual +" light and dark modes that runs in both GUI, 256 and 16 color modes. +" +" See the homepage above for screenshots and details. +" +" --------------------------------------------------------------------- +" OPTIONS: +" --------------------------------------------------------------------- +" See the "solarized.txt" help file included with this colorscheme (in the  +" "doc" subdirectory) for information on options, usage, the Toggle Background  +" function and more. If you have already installed Solarized, this is available  +" from the Solarized menu and command line as ":help solarized" +" +" --------------------------------------------------------------------- +" INSTALLATION: +" --------------------------------------------------------------------- +" Two options for installation: manual or pathogen +" +" MANUAL INSTALLATION OPTION: +" --------------------------------------------------------------------- +" +" 1.  Download the solarized distribution (available on the homepage above) +"     and unarchive the file. +" 2.  Move `solarized.vim` to your `.vim/colors` directory. +" 3.  Move each of the files in each subdirectories to the corresponding .vim +"     subdirectory (e.g. autoload/togglebg.vim goes into your .vim/autoload  +"     directory as .vim/autoload/togglebg.vim). +" +" RECOMMENDED PATHOGEN INSTALLATION OPTION: +" --------------------------------------------------------------------- +" +" 1.  Download and install Tim Pope's Pathogen from: +"     https://github.com/tpope/vim-pathogen +" +" 2.  Next, move or clone the `vim-colors-solarized` directory so that it is +"     a subdirectory of the `.vim/bundle` directory. +" +"     a. **clone with git:** +" +"       $ cd ~/.vim/bundle +"       $ git clone git://github.com/altercation/vim-colors-solarized.git +" +"     b. **or move manually into the pathogen bundle directory:** +"         In the parent directory of vim-colors-solarized: +" +"         $ mv vim-colors-solarized ~/.vim/bundle/ +" +" MODIFY VIMRC: +" +" After either Option 1 or Option 2 above, put the following two lines in your +" .vimrc: +" +"     syntax enable +"     set background=dark +"     colorscheme solarized +" +" or, for the light background mode of Solarized: +" +"     syntax enable +"     set background=light +"     colorscheme solarized +" +" I like to have a different background in GUI and terminal modes, so I can use +" the following if-then. However, I find vim's background autodetection to be +" pretty good and, at least with MacVim, I can leave this background value +" assignment out entirely and get the same results. +" +"     if has('gui_running') +"       set background=light +"     else +"       set background=dark +"     endif +" +" See the Solarized homepage at http://ethanschoonover.com/solarized for +" screenshots which will help you select either the light or dark background. +" +" --------------------------------------------------------------------- +" COLOR VALUES +" --------------------------------------------------------------------- +" Download palettes and files from: http://ethanschoonover.com/solarized +" +" L\*a\*b values are canonical (White D65, Reference D50), other values are +" matched in sRGB space. +" +" SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      sRGB        HSB +" --------- ------- ---- -------  ----------- ---------- ----------- ----------- +" base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21 +" base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26 +" base01    #586e75 10/7 brgreen  240 #4e4e4e 45 -07 -07  88 110 117 194  25  46 +" base00    #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195  23  51 +" base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59 +" base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63 +" base2     #eee8d5  7/7 white    254 #d7d7af 92 -00  10 238 232 213  44  11  93 +" base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99 +" yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71 +" orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80 +" red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86 +" magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83 +" violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77 +" blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82 +" cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63 +" green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60 +" +" --------------------------------------------------------------------- +" COLORSCHEME HACKING +" --------------------------------------------------------------------- +" +" Useful commands for testing colorschemes: +" :source $VIMRUNTIME/syntax/hitest.vim +" :help highlight-groups +" :help cterm-colors +" :help group-name +" +" Useful links for developing colorschemes: +" http://www.vim.org/scripts/script.php?script_id=2937 +" http://vimcasts.org/episodes/creating-colorschemes-for-vim/ +" http://www.frexx.de/xterm-256-notes/" +" +" }}} +" Environment Specific Overrides "{{{ +" Allow or disallow certain features based on current terminal emulator or  +" environment. + +" Terminals that support italics +let s:terms_italic=[ +            \"rxvt", +            \"gnome-terminal" +            \] +" For reference only, terminals are known to be incomptible. +" Terminals that are in neither list need to be tested. +let s:terms_noitalic=[ +            \"iTerm.app", +            \"Apple_Terminal" +            \] +if has("gui_running") +    let s:terminal_italic=1 " TODO: could refactor to not require this at all +else +    let s:terminal_italic=0 " terminals will be guilty until proven compatible +    for term in s:terms_italic +        if $TERM_PROGRAM =~ term +            let s:terminal_italic=1 +        endif +    endfor +endif + +" }}} +" Default option values"{{{ +" --------------------------------------------------------------------- +" s:options_list is used to autogenerate a list of all non-default options  +" using "call SolarizedOptions()" or with the "Generate .vimrc commands"  +" Solarized menu option. See the "Menus" section below for the function itself. +let s:options_list=[ +            \'" this block of commands has been autogenerated by solarized.vim and', +            \'" includes the current, non-default Solarized option values.', +            \'" To use, place these commands in your .vimrc file (replacing any', +            \'" existing colorscheme commands). See also ":help solarized"', +            \'', +            \'" ------------------------------------------------------------------', +            \'" Solarized Colorscheme Config', +            \'" ------------------------------------------------------------------', +            \] +let s:colorscheme_list=[ +            \'syntax enable', +            \'set background='.&background, +            \'colorscheme solarized', +            \] +let s:defaults_list=[ +            \'" ------------------------------------------------------------------', +            \'', +            \'" The following items are available options, but do not need to be', +            \'" included in your .vimrc as they are currently set to their defaults.', +            \'' +            \] +let s:lazycat_list=[ +            \'" lazy method of appending this onto your .vimrc ":w! >> ~/.vimrc"', +            \'" ------------------------------------------------------------------', +            \] + +function! s:SetOption(name,default) +    if type(a:default) == type(0) +        let l:wrap='' +        let l:ewrap='' +    else +        let l:wrap='"' +        let l:ewrap='\"' +    endif +    if !exists("g:solarized_".a:name) || g:solarized_{a:name}==a:default +        exe 'let g:solarized_'.a:name.'='.l:wrap.a:default.l:wrap.'"' +        exe 'call add(s:defaults_list, "\" let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.'")' +    else +        exe 'call add(s:options_list,  "let g:solarized_'.a:name.'='.l:ewrap.g:solarized_{a:name}.l:ewrap.'    \"default value is '.a:default.'")' +    endif +endfunction + +if ($TERM_PROGRAM ==? "apple_terminal" && &t_Co < 256) +    let s:solarized_termtrans_default = 1 +else +    let s:solarized_termtrans_default = 0 +endif +call s:SetOption("termtrans",s:solarized_termtrans_default) +call s:SetOption("degrade",0) +call s:SetOption("bold",1) +call s:SetOption("underline",1) +call s:SetOption("italic",1) " note that we need to override this later if the terminal doesn't support +call s:SetOption("termcolors",16) +call s:SetOption("contrast","normal") +call s:SetOption("visibility","normal") +call s:SetOption("diffmode","normal") +call s:SetOption("hitrail",0) +call s:SetOption("menu",1) + +"}}} +" Colorscheme initialization "{{{ +" --------------------------------------------------------------------- +hi clear +if exists("syntax_on") +  syntax reset +endif +let colors_name = "solarized" + +"}}} +" GUI & CSApprox hexadecimal palettes"{{{ +" --------------------------------------------------------------------- +" +" Set both gui and terminal color values in separate conditional statements +" Due to possibility that CSApprox is running (though I suppose we could just +" leave the hex values out entirely in that case and include only cterm colors) +" We also check to see if user has set solarized (force use of the +" neutral gray monotone palette component) +if (has("gui_running") && g:solarized_degrade == 0) +    let s:vmode       = "gui" +    let s:base03      = "#002b36" +    let s:base02      = "#073642" +    let s:base01      = "#586e75" +    let s:base00      = "#657b83" +    let s:base0       = "#839496" +    let s:base1       = "#93a1a1" +    let s:base2       = "#eee8d5" +    let s:base3       = "#fdf6e3" +    let s:yellow      = "#b58900" +    let s:orange      = "#cb4b16" +    let s:red         = "#dc322f" +    let s:magenta     = "#d33682" +    let s:violet      = "#6c71c4" +    let s:blue        = "#268bd2" +    let s:cyan        = "#2aa198" +    "let s:green       = "#859900" "original +    let s:green       = "#719e07" "experimental +elseif (has("gui_running") && g:solarized_degrade == 1) +    " These colors are identical to the 256 color mode. They may be viewed +    " while in gui mode via "let g:solarized_degrade=1", though this is not +    " recommened and is for testing only. +    let s:vmode       = "gui" +    let s:base03      = "#1c1c1c" +    let s:base02      = "#262626" +    let s:base01      = "#4e4e4e" +    let s:base00      = "#585858" +    let s:base0       = "#808080" +    let s:base1       = "#8a8a8a" +    let s:base2       = "#d7d7af" +    let s:base3       = "#ffffd7" +    let s:yellow      = "#af8700" +    let s:orange      = "#d75f00" +    let s:red         = "#af0000" +    let s:magenta     = "#af005f" +    let s:violet      = "#5f5faf" +    let s:blue        = "#0087ff" +    let s:cyan        = "#00afaf" +    let s:green       = "#5f8700" +elseif g:solarized_termcolors != 256 && &t_Co >= 16 +    let s:vmode       = "cterm" +    let s:base03      = "8" +    let s:base02      = "0" +    let s:base01      = "10" +    let s:base00      = "11" +    let s:base0       = "12" +    let s:base1       = "14" +    let s:base2       = "7" +    let s:base3       = "15" +    let s:yellow      = "3" +    let s:orange      = "9" +    let s:red         = "1" +    let s:magenta     = "5" +    let s:violet      = "13" +    let s:blue        = "4" +    let s:cyan        = "6" +    let s:green       = "2" +elseif g:solarized_termcolors == 256 +    let s:vmode       = "cterm" +    let s:base03      = "234" +    let s:base02      = "235" +    let s:base01      = "239" +    let s:base00      = "240" +    let s:base0       = "244" +    let s:base1       = "245" +    let s:base2       = "187" +    let s:base3       = "230" +    let s:yellow      = "136" +    let s:orange      = "166" +    let s:red         = "124" +    let s:magenta     = "125" +    let s:violet      = "61" +    let s:blue        = "33" +    let s:cyan        = "37" +    let s:green       = "64" +else +    let s:vmode       = "cterm" +    let s:bright      = "* term=bold cterm=bold" +"   let s:base03      = "0".s:bright +"   let s:base02      = "0" +"   let s:base01      = "2".s:bright +"   let s:base00      = "3".s:bright +"   let s:base0       = "4".s:bright +"   let s:base1       = "6".s:bright +"   let s:base2       = "7" +"   let s:base3       = "7".s:bright +"   let s:yellow      = "3" +"   let s:orange      = "1".s:bright +"   let s:red         = "1" +"   let s:magenta     = "5" +"   let s:violet      = "5".s:bright +"   let s:blue        = "4" +"   let s:cyan        = "6" +"   let s:green       = "2" +    let s:base03      = "DarkGray"      " 0* +    let s:base02      = "Black"         " 0 +    let s:base01      = "LightGreen"    " 2* +    let s:base00      = "LightYellow"   " 3* +    let s:base0       = "LightBlue"     " 4* +    let s:base1       = "LightCyan"     " 6* +    let s:base2       = "LightGray"     " 7 +    let s:base3       = "White"         " 7* +    let s:yellow      = "DarkYellow"    " 3 +    let s:orange      = "LightRed"      " 1* +    let s:red         = "DarkRed"       " 1 +    let s:magenta     = "DarkMagenta"   " 5 +    let s:violet      = "LightMagenta"  " 5* +    let s:blue        = "DarkBlue"      " 4 +    let s:cyan        = "DarkCyan"      " 6 +    let s:green       = "DarkGreen"     " 2 + +endif +"}}} +" Formatting options and null values for passthrough effect "{{{ +" --------------------------------------------------------------------- +    let s:none            = "NONE" +    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:ou              = "" +    let s:ob              = "" +"}}} +" Background value based on termtrans setting "{{{ +" --------------------------------------------------------------------- +if (has("gui_running") || g:solarized_termtrans == 0) +    let s:back        = s:base03 +else +    let s:back        = "NONE" +endif +"}}} +" Alternate light scheme "{{{ +" --------------------------------------------------------------------- +if &background == "light" +    let s:temp03      = s:base03 +    let s:temp02      = s:base02 +    let s:temp01      = s:base01 +    let s:temp00      = s:base00 +    let s:base03      = s:base3 +    let s:base02      = s:base2 +    let s:base01      = s:base1 +    let s:base00      = s:base0 +    let s:base0       = s:temp00 +    let s:base1       = s:temp01 +    let s:base2       = s:temp02 +    let s:base3       = s:temp03 +    if (s:back != "NONE") +        let s:back    = s:base03 +    endif +endif +"}}} +" Optional contrast schemes "{{{ +" --------------------------------------------------------------------- +if g:solarized_contrast == "high" +    let s:base01      = s:base00 +    let s:base00      = s:base0 +    let s:base0       = s:base1 +    let s:base1       = s:base2 +    let s:base2       = s:base3 +    let s:back        = s:back +endif +if g:solarized_contrast == "low" +    let s:back        = s:base02 +    let s:ou          = ",underline" +endif +"}}} +" Overrides dependent on user specified values and environment "{{{ +" --------------------------------------------------------------------- +if (g:solarized_bold == 0 || &t_Co == 8 ) +    let s:b           = "" +    let s:bb          = ",bold" +else +    let s:b           = ",bold" +    let s:bb          = "" +endif + +if g:solarized_underline == 0 +    let s:u           = "" +else +    let s:u           = ",underline" +endif + +if g:solarized_italic == 0 || s:terminal_italic == 0 +    let s:i           = "" +else +    let s:i           = ",italic" +endif +"}}} +" Highlighting primitives"{{{ +" --------------------------------------------------------------------- + +exe "let s:bg_none      = ' ".s:vmode."bg=".s:none   ."'" +exe "let s:bg_back      = ' ".s:vmode."bg=".s:back   ."'" +exe "let s:bg_base03    = ' ".s:vmode."bg=".s:base03 ."'" +exe "let s:bg_base02    = ' ".s:vmode."bg=".s:base02 ."'" +exe "let s:bg_base01    = ' ".s:vmode."bg=".s:base01 ."'" +exe "let s:bg_base00    = ' ".s:vmode."bg=".s:base00 ."'" +exe "let s:bg_base0     = ' ".s:vmode."bg=".s:base0  ."'" +exe "let s:bg_base1     = ' ".s:vmode."bg=".s:base1  ."'" +exe "let s:bg_base2     = ' ".s:vmode."bg=".s:base2  ."'" +exe "let s:bg_base3     = ' ".s:vmode."bg=".s:base3  ."'" +exe "let s:bg_green     = ' ".s:vmode."bg=".s:green  ."'" +exe "let s:bg_yellow    = ' ".s:vmode."bg=".s:yellow ."'" +exe "let s:bg_orange    = ' ".s:vmode."bg=".s:orange ."'" +exe "let s:bg_red       = ' ".s:vmode."bg=".s:red    ."'" +exe "let s:bg_magenta   = ' ".s:vmode."bg=".s:magenta."'" +exe "let s:bg_violet    = ' ".s:vmode."bg=".s:violet ."'" +exe "let s:bg_blue      = ' ".s:vmode."bg=".s:blue   ."'" +exe "let s:bg_cyan      = ' ".s:vmode."bg=".s:cyan   ."'" + +exe "let s:fg_none      = ' ".s:vmode."fg=".s:none   ."'" +exe "let s:fg_back      = ' ".s:vmode."fg=".s:back   ."'" +exe "let s:fg_base03    = ' ".s:vmode."fg=".s:base03 ."'" +exe "let s:fg_base02    = ' ".s:vmode."fg=".s:base02 ."'" +exe "let s:fg_base01    = ' ".s:vmode."fg=".s:base01 ."'" +exe "let s:fg_base00    = ' ".s:vmode."fg=".s:base00 ."'" +exe "let s:fg_base0     = ' ".s:vmode."fg=".s:base0  ."'" +exe "let s:fg_base1     = ' ".s:vmode."fg=".s:base1  ."'" +exe "let s:fg_base2     = ' ".s:vmode."fg=".s:base2  ."'" +exe "let s:fg_base3     = ' ".s:vmode."fg=".s:base3  ."'" +exe "let s:fg_green     = ' ".s:vmode."fg=".s:green  ."'" +exe "let s:fg_yellow    = ' ".s:vmode."fg=".s:yellow ."'" +exe "let s:fg_orange    = ' ".s:vmode."fg=".s:orange ."'" +exe "let s:fg_red       = ' ".s:vmode."fg=".s:red    ."'" +exe "let s:fg_magenta   = ' ".s:vmode."fg=".s:magenta."'" +exe "let s:fg_violet    = ' ".s:vmode."fg=".s:violet ."'" +exe "let s:fg_blue      = ' ".s:vmode."fg=".s:blue   ."'" +exe "let s:fg_cyan      = ' ".s:vmode."fg=".s:cyan   ."'" + +exe "let s:fmt_none     = ' ".s:vmode."=NONE".          " term=NONE".    "'" +exe "let s:fmt_bold     = ' ".s:vmode."=NONE".s:b.      " term=NONE".s:b."'" +exe "let s:fmt_bldi     = ' ".s:vmode."=NONE".s:b.      " term=NONE".s:b."'" +exe "let s:fmt_undr     = ' ".s:vmode."=NONE".s:u.      " term=NONE".s:u."'" +exe "let s:fmt_undb     = ' ".s:vmode."=NONE".s:u.s:b.  " term=NONE".s:u.s:b."'" +exe "let s:fmt_undi     = ' ".s:vmode."=NONE".s:u.      " term=NONE".s:u."'" +exe "let s:fmt_uopt     = ' ".s:vmode."=NONE".s:ou.     " term=NONE".s:ou."'" +exe "let s:fmt_curl     = ' ".s:vmode."=NONE".s:c.      " term=NONE".s:c."'" +exe "let s:fmt_ital     = ' ".s:vmode."=NONE".s:i.      " term=NONE".s:i."'" +exe "let s:fmt_stnd     = ' ".s:vmode."=NONE".s:s.      " term=NONE".s:s."'" +exe "let s:fmt_revr     = ' ".s:vmode."=NONE".s:r.      " term=NONE".s:r."'" +exe "let s:fmt_revb     = ' ".s:vmode."=NONE".s:r.s:b.  " term=NONE".s:r.s:b."'" +" revbb (reverse bold for bright colors) is only set to actual bold in low  +" color terminals (t_co=8, such as OS X Terminal.app) and should only be used  +" with colors 8-15. +exe "let s:fmt_revbb    = ' ".s:vmode."=NONE".s:r.s:bb.   " term=NONE".s:r.s:bb."'" +exe "let s:fmt_revbbu   = ' ".s:vmode."=NONE".s:r.s:bb.s:u." term=NONE".s:r.s:bb.s:u."'" + +if has("gui_running") +    exe "let s:sp_none      = ' guisp=".s:none   ."'" +    exe "let s:sp_back      = ' guisp=".s:back   ."'" +    exe "let s:sp_base03    = ' guisp=".s:base03 ."'" +    exe "let s:sp_base02    = ' guisp=".s:base02 ."'" +    exe "let s:sp_base01    = ' guisp=".s:base01 ."'" +    exe "let s:sp_base00    = ' guisp=".s:base00 ."'" +    exe "let s:sp_base0     = ' guisp=".s:base0  ."'" +    exe "let s:sp_base1     = ' guisp=".s:base1  ."'" +    exe "let s:sp_base2     = ' guisp=".s:base2  ."'" +    exe "let s:sp_base3     = ' guisp=".s:base3  ."'" +    exe "let s:sp_green     = ' guisp=".s:green  ."'" +    exe "let s:sp_yellow    = ' guisp=".s:yellow ."'" +    exe "let s:sp_orange    = ' guisp=".s:orange ."'" +    exe "let s:sp_red       = ' guisp=".s:red    ."'" +    exe "let s:sp_magenta   = ' guisp=".s:magenta."'" +    exe "let s:sp_violet    = ' guisp=".s:violet ."'" +    exe "let s:sp_blue      = ' guisp=".s:blue   ."'" +    exe "let s:sp_cyan      = ' guisp=".s:cyan   ."'" +else +    let s:sp_none      = "" +    let s:sp_back      = "" +    let s:sp_base03    = "" +    let s:sp_base02    = "" +    let s:sp_base01    = "" +    let s:sp_base00    = "" +    let s:sp_base0     = "" +    let s:sp_base1     = "" +    let s:sp_base2     = "" +    let s:sp_base3     = "" +    let s:sp_green     = "" +    let s:sp_yellow    = "" +    let s:sp_orange    = "" +    let s:sp_red       = "" +    let s:sp_magenta   = "" +    let s:sp_violet    = "" +    let s:sp_blue      = "" +    let s:sp_cyan      = "" +endif + +"}}} +" Basic highlighting"{{{ +" --------------------------------------------------------------------- +" note that link syntax to avoid duplicate configuration doesn't work with the +" exe compiled formats + +exe "hi! Normal"         .s:fmt_none   .s:fg_base0  .s:bg_back + +exe "hi! Comment"        .s:fmt_ital   .s:fg_base01 .s:bg_none +"       *Comment         any comment + +exe "hi! Constant"       .s:fmt_none   .s:fg_cyan   .s:bg_none +"       *Constant        any constant +"        String          a string constant: "this is a string" +"        Character       a character constant: 'c', '\n' +"        Number          a number constant: 234, 0xff +"        Boolean         a boolean constant: TRUE, false +"        Float           a floating point constant: 2.3e10 + +exe "hi! Identifier"     .s:fmt_none   .s:fg_blue   .s:bg_none +"       *Identifier      any variable name +"        Function        function name (also: methods for classes) +" +exe "hi! Statement"      .s:fmt_none   .s:fg_green  .s:bg_none +"       *Statement       any statement +"        Conditional     if, then, else, endif, switch, etc. +"        Repeat          for, do, while, etc. +"        Label           case, default, etc. +"        Operator        "sizeof", "+", "*", etc. +"        Keyword         any other keyword +"        Exception       try, catch, throw + +exe "hi! PreProc"        .s:fmt_none   .s:fg_orange .s:bg_none +"       *PreProc         generic Preprocessor +"        Include         preprocessor #include +"        Define          preprocessor #define +"        Macro           same as Define +"        PreCondit       preprocessor #if, #else, #endif, etc. + +exe "hi! Type"           .s:fmt_none   .s:fg_yellow .s:bg_none +"       *Type            int, long, char, etc. +"        StorageClass    static, register, volatile, etc. +"        Structure       struct, union, enum, etc. +"        Typedef         A typedef + +exe "hi! Special"        .s:fmt_none   .s:fg_red    .s:bg_none +"       *Special         any special symbol +"        SpecialChar     special character in a constant +"        Tag             you can use CTRL-] on this +"        Delimiter       character that needs attention +"        SpecialComment  special things inside a comment +"        Debug           debugging statements + +exe "hi! Underlined"     .s:fmt_none   .s:fg_violet .s:bg_none +"       *Underlined      text that stands out, HTML links + +exe "hi! Ignore"         .s:fmt_none   .s:fg_none   .s:bg_none +"       *Ignore          left blank, hidden  |hl-Ignore| + +exe "hi! Error"          .s:fmt_bold   .s:fg_red    .s:bg_none +"       *Error           any erroneous construct + +exe "hi! Todo"           .s:fmt_bold   .s:fg_magenta.s:bg_none +"       *Todo            anything that needs extra attention; mostly the +"                        keywords TODO FIXME and XXX +" +"}}} +" Extended highlighting "{{{ +" --------------------------------------------------------------------- +if      (g:solarized_visibility=="high") +    exe "hi! SpecialKey" .s:fmt_revr   .s:fg_red    .s:bg_none +    exe "hi! NonText"    .s:fmt_bold   .s:fg_red    .s:bg_none +elseif  (g:solarized_visibility=="low") +    exe "hi! SpecialKey" .s:fmt_bold   .s:fg_base02 .s:bg_none +    exe "hi! NonText"    .s:fmt_bold   .s:fg_base02 .s:bg_none +else +    exe "hi! SpecialKey" .s:fmt_bold   .s:fg_base00 .s:bg_base02 +    exe "hi! NonText"    .s:fmt_bold   .s:fg_base00 .s:bg_none +endif +exe "hi! StatusLine"     .s:fmt_none   .s:fg_base1  .s:bg_base02 .s:fmt_revbb +exe "hi! StatusLineNC"   .s:fmt_none   .s:fg_base00 .s:bg_base02 .s:fmt_revbb +exe "hi! Visual"         .s:fmt_none   .s:fg_base01 .s:bg_base03 .s:fmt_revbb +exe "hi! Directory"      .s:fmt_none   .s:fg_blue   .s:bg_none +exe "hi! ErrorMsg"       .s:fmt_revr   .s:fg_red    .s:bg_none +exe "hi! IncSearch"      .s:fmt_stnd   .s:fg_orange .s:bg_none +exe "hi! Search"         .s:fmt_revr   .s:fg_yellow .s:bg_none +exe "hi! MoreMsg"        .s:fmt_none   .s:fg_blue   .s:bg_none +exe "hi! ModeMsg"        .s:fmt_none   .s:fg_blue   .s:bg_none +exe "hi! LineNr"         .s:fmt_none   .s:fg_base01 .s:bg_base02 +exe "hi! Question"       .s:fmt_bold   .s:fg_cyan   .s:bg_none +if ( has("gui_running") || &t_Co > 8 ) +    exe "hi! VertSplit"  .s:fmt_none   .s:fg_base00 .s:bg_base00 +else +    exe "hi! VertSplit"  .s:fmt_revbb  .s:fg_base00 .s:bg_base02 +endif +exe "hi! Title"          .s:fmt_bold   .s:fg_orange .s:bg_none +exe "hi! VisualNOS"      .s:fmt_stnd   .s:fg_none   .s:bg_base02 .s:fmt_revbb +exe "hi! WarningMsg"     .s:fmt_bold   .s:fg_red    .s:bg_none +exe "hi! WildMenu"       .s:fmt_none   .s:fg_base2  .s:bg_base02 .s:fmt_revbb +exe "hi! Folded"         .s:fmt_undb   .s:fg_base0  .s:bg_base02  .s:sp_base03 +exe "hi! FoldColumn"     .s:fmt_none   .s:fg_base0  .s:bg_base02 +if      (g:solarized_diffmode=="high") +exe "hi! DiffAdd"        .s:fmt_revr   .s:fg_green  .s:bg_none +exe "hi! DiffChange"     .s:fmt_revr   .s:fg_yellow .s:bg_none +exe "hi! DiffDelete"     .s:fmt_revr   .s:fg_red    .s:bg_none +exe "hi! DiffText"       .s:fmt_revr   .s:fg_blue   .s:bg_none +elseif  (g:solarized_diffmode=="low") +exe "hi! DiffAdd"        .s:fmt_undr   .s:fg_green  .s:bg_none   .s:sp_green +exe "hi! DiffChange"     .s:fmt_undr   .s:fg_yellow .s:bg_none   .s:sp_yellow +exe "hi! DiffDelete"     .s:fmt_bold   .s:fg_red    .s:bg_none +exe "hi! DiffText"       .s:fmt_undr   .s:fg_blue   .s:bg_none   .s:sp_blue +else " normal +    if has("gui_running") +exe "hi! DiffAdd"        .s:fmt_bold   .s:fg_green  .s:bg_base02 .s:sp_green +exe "hi! DiffChange"     .s:fmt_bold   .s:fg_yellow .s:bg_base02 .s:sp_yellow +exe "hi! DiffDelete"     .s:fmt_bold   .s:fg_red    .s:bg_base02 +exe "hi! DiffText"       .s:fmt_bold   .s:fg_blue   .s:bg_base02 .s:sp_blue +    else +exe "hi! DiffAdd"        .s:fmt_none   .s:fg_green  .s:bg_base02 .s:sp_green +exe "hi! DiffChange"     .s:fmt_none   .s:fg_yellow .s:bg_base02 .s:sp_yellow +exe "hi! DiffDelete"     .s:fmt_none   .s:fg_red    .s:bg_base02 +exe "hi! DiffText"       .s:fmt_none   .s:fg_blue   .s:bg_base02 .s:sp_blue +    endif +endif +exe "hi! SignColumn"     .s:fmt_none   .s:fg_base0 +exe "hi! Conceal"        .s:fmt_none   .s:fg_blue   .s:bg_none +exe "hi! SpellBad"       .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_red +exe "hi! SpellCap"       .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_violet +exe "hi! SpellRare"      .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_cyan +exe "hi! SpellLocal"     .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_yellow +exe "hi! Pmenu"          .s:fmt_none   .s:fg_base0  .s:bg_base02  .s:fmt_revbb +exe "hi! PmenuSel"       .s:fmt_none   .s:fg_base01 .s:bg_base2   .s:fmt_revbb +exe "hi! PmenuSbar"      .s:fmt_none   .s:fg_base2  .s:bg_base0   .s:fmt_revbb +exe "hi! PmenuThumb"     .s:fmt_none   .s:fg_base0  .s:bg_base03  .s:fmt_revbb +exe "hi! TabLine"        .s:fmt_undr   .s:fg_base0  .s:bg_base02  .s:sp_base0 +exe "hi! TabLineFill"    .s:fmt_undr   .s:fg_base0  .s:bg_base02  .s:sp_base0 +exe "hi! TabLineSel"     .s:fmt_undr   .s:fg_base01 .s:bg_base2   .s:sp_base0  .s:fmt_revbbu +exe "hi! CursorColumn"   .s:fmt_none   .s:fg_none   .s:bg_base02 +exe "hi! CursorLine"     .s:fmt_uopt   .s:fg_none   .s:bg_base02  .s:sp_base1 +exe "hi! ColorColumn"    .s:fmt_none   .s:fg_none   .s:bg_base02 +exe "hi! Cursor"         .s:fmt_none   .s:fg_base03 .s:bg_base0 +hi! link lCursor Cursor +exe "hi! MatchParen"     .s:fmt_bold   .s:fg_red    .s:bg_base01 + +"}}} +" vim syntax highlighting "{{{ +" --------------------------------------------------------------------- +"exe "hi! vimLineComment" . s:fg_base01 .s:bg_none   .s:fmt_ital +"hi! link vimComment Comment +"hi! link vimLineComment Comment +hi! link vimVar Identifier +hi! link vimFunc Function +hi! link vimUserFunc Function +hi! link helpSpecial Special +hi! link vimSet Normal +hi! link vimSetEqual Normal +exe "hi! vimCommentString"  .s:fmt_none    .s:fg_violet .s:bg_none +exe "hi! vimCommand"        .s:fmt_none    .s:fg_yellow .s:bg_none +exe "hi! vimCmdSep"         .s:fmt_bold    .s:fg_blue   .s:bg_none +exe "hi! helpExample"       .s:fmt_none    .s:fg_base1  .s:bg_none +exe "hi! helpOption"        .s:fmt_none    .s:fg_cyan   .s:bg_none +exe "hi! helpNote"          .s:fmt_none    .s:fg_magenta.s:bg_none +exe "hi! helpVim"           .s:fmt_none    .s:fg_magenta.s:bg_none +exe "hi! helpHyperTextJump" .s:fmt_undr    .s:fg_blue   .s:bg_none +exe "hi! helpHyperTextEntry".s:fmt_none    .s:fg_green  .s:bg_none +exe "hi! vimIsCommand"      .s:fmt_none    .s:fg_base00 .s:bg_none +exe "hi! vimSynMtchOpt"     .s:fmt_none    .s:fg_yellow .s:bg_none +exe "hi! vimSynType"        .s:fmt_none    .s:fg_cyan   .s:bg_none +exe "hi! vimHiLink"         .s:fmt_none    .s:fg_blue   .s:bg_none +exe "hi! vimHiGroup"        .s:fmt_none    .s:fg_blue   .s:bg_none +exe "hi! vimGroup"          .s:fmt_undb    .s:fg_blue   .s:bg_none +"}}} +" diff highlighting "{{{ +" --------------------------------------------------------------------- +hi! link diffAdded Statement +hi! link diffLine Identifier +"}}} +" git & gitcommit highlighting "{{{ +"git +"exe "hi! gitDateHeader" +"exe "hi! gitIdentityHeader" +"exe "hi! gitIdentityKeyword" +"exe "hi! gitNotesHeader" +"exe "hi! gitReflogHeader" +"exe "hi! gitKeyword" +"exe "hi! gitIdentity" +"exe "hi! gitEmailDelimiter" +"exe "hi! gitEmail" +"exe "hi! gitDate" +"exe "hi! gitMode" +"exe "hi! gitHashAbbrev" +"exe "hi! gitHash" +"exe "hi! gitReflogMiddle" +"exe "hi! gitReference" +"exe "hi! gitStage" +"exe "hi! gitType" +"exe "hi! gitDiffAdded" +"exe "hi! gitDiffRemoved" +"gitcommit +"exe "hi! gitcommitSummary"       +exe "hi! gitcommitComment"      .s:fmt_ital     .s:fg_base01    .s:bg_none +hi! link gitcommitUntracked gitcommitComment +hi! link gitcommitDiscarded gitcommitComment +hi! link gitcommitSelected  gitcommitComment +exe "hi! gitcommitUnmerged"     .s:fmt_bold     .s:fg_green     .s:bg_none +exe "hi! gitcommitOnBranch"     .s:fmt_bold     .s:fg_base01    .s:bg_none +exe "hi! gitcommitBranch"       .s:fmt_bold     .s:fg_magenta   .s:bg_none +hi! link gitcommitNoBranch gitcommitBranch +exe "hi! gitcommitDiscardedType".s:fmt_none     .s:fg_red       .s:bg_none +exe "hi! gitcommitSelectedType" .s:fmt_none     .s:fg_green     .s:bg_none +"exe "hi! gitcommitUnmergedType" +"exe "hi! gitcommitType" +"exe "hi! gitcommitNoChanges" +"exe "hi! gitcommitHeader" +exe "hi! gitcommitHeader"       .s:fmt_none     .s:fg_base01    .s:bg_none +exe "hi! gitcommitUntrackedFile".s:fmt_bold     .s:fg_cyan      .s:bg_none +exe "hi! gitcommitDiscardedFile".s:fmt_bold     .s:fg_red       .s:bg_none +exe "hi! gitcommitSelectedFile" .s:fmt_bold     .s:fg_green     .s:bg_none +exe "hi! gitcommitUnmergedFile" .s:fmt_bold     .s:fg_yellow    .s:bg_none +exe "hi! gitcommitFile"         .s:fmt_bold     .s:fg_base0     .s:bg_none +hi! link gitcommitDiscardedArrow gitcommitDiscardedFile +hi! link gitcommitSelectedArrow  gitcommitSelectedFile +hi! link gitcommitUnmergedArrow  gitcommitUnmergedFile +"exe "hi! gitcommitArrow" +"exe "hi! gitcommitOverflow" +"exe "hi! gitcommitBlank" +" }}} +" html highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! htmlTag"           .s:fmt_none .s:fg_base01 .s:bg_none +exe "hi! htmlEndTag"        .s:fmt_none .s:fg_base01 .s:bg_none +exe "hi! htmlTagN"          .s:fmt_bold .s:fg_base1  .s:bg_none +exe "hi! htmlTagName"       .s:fmt_bold .s:fg_blue   .s:bg_none +exe "hi! htmlSpecialTagName".s:fmt_ital .s:fg_blue   .s:bg_none +exe "hi! htmlArg"           .s:fmt_none .s:fg_base00 .s:bg_none +exe "hi! javaScript"        .s:fmt_none .s:fg_yellow .s:bg_none +"}}} +" perl highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! perlHereDoc"    . s:fg_base1  .s:bg_back   .s:fmt_none +exe "hi! perlVarPlain"   . s:fg_yellow .s:bg_back   .s:fmt_none +exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none + +"}}} +" tex highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! texStatement"   . s:fg_cyan   .s:bg_back   .s:fmt_none +exe "hi! texMathZoneX"   . s:fg_yellow .s:bg_back   .s:fmt_none +exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back   .s:fmt_none +exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back   .s:fmt_none +exe "hi! texRefLabel"    . s:fg_yellow .s:bg_back   .s:fmt_none +"}}} +" ruby highlighting "{{{ +" --------------------------------------------------------------------- +exe "hi! rubyDefine"     . s:fg_base1  .s:bg_back   .s:fmt_bold +"rubyInclude +"rubySharpBang +"rubyAccess +"rubyPredefinedVariable +"rubyBoolean +"rubyClassVariable +"rubyBeginEnd +"rubyRepeatModifier +"hi! link rubyArrayDelimiter    Special  " [ , , ] +"rubyCurlyBlock  { , , } + +"hi! link rubyClass             Keyword +"hi! link rubyModule            Keyword +"hi! link rubyKeyword           Keyword +"hi! link rubyOperator          Operator +"hi! link rubyIdentifier        Identifier +"hi! link rubyInstanceVariable  Identifier +"hi! link rubyGlobalVariable    Identifier +"hi! link rubyClassVariable     Identifier +"hi! link rubyConstant          Type +"}}} +" haskell syntax highlighting"{{{ +" --------------------------------------------------------------------- +" For use with syntax/haskell.vim : Haskell Syntax File +" http://www.vim.org/scripts/script.php?script_id=3034 +" See also Steffen Siering's github repository: +" http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim +" --------------------------------------------------------------------- +" +" Treat True and False specially, see the plugin referenced above +let hs_highlight_boolean=1 +" highlight delims, see the plugin referenced above +let hs_highlight_delimiters=1 + +exe "hi! cPreCondit". s:fg_orange.s:bg_none   .s:fmt_none + +exe "hi! VarId"    . s:fg_blue   .s:bg_none   .s:fmt_none +exe "hi! ConId"    . s:fg_yellow .s:bg_none   .s:fmt_none +exe "hi! hsImport" . s:fg_magenta.s:bg_none   .s:fmt_none +exe "hi! hsString" . s:fg_base00 .s:bg_none   .s:fmt_none + +exe "hi! hsStructure"        . s:fg_cyan   .s:bg_none   .s:fmt_none +exe "hi! hs_hlFunctionName"  . s:fg_blue   .s:bg_none +exe "hi! hsStatement"        . s:fg_cyan   .s:bg_none   .s:fmt_none +exe "hi! hsImportLabel"      . s:fg_cyan   .s:bg_none   .s:fmt_none +exe "hi! hs_OpFunctionName"  . s:fg_yellow .s:bg_none   .s:fmt_none +exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none   .s:fmt_none +exe "hi! hsVarSym"           . s:fg_cyan   .s:bg_none   .s:fmt_none +exe "hi! hsType"             . s:fg_yellow .s:bg_none   .s:fmt_none +exe "hi! hsTypedef"          . s:fg_cyan   .s:bg_none   .s:fmt_none +exe "hi! hsModuleName"       . s:fg_green  .s:bg_none   .s:fmt_undr +exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none   .s:fmt_none +hi! link hsImportParams      Delimiter +hi! link hsDelimTypeExport   Delimiter +hi! link hsModuleStartLabel  hsStructure +hi! link hsModuleWhereLabel  hsModuleStartLabel + +" following is for the haskell-conceal plugin +" the first two items don't have an impact, but better safe +exe "hi! hsNiceOperator"     . s:fg_cyan   .s:bg_none   .s:fmt_none +exe "hi! hsniceoperator"     . s:fg_cyan   .s:bg_none   .s:fmt_none + +"}}} +" pandoc markdown syntax highlighting "{{{ +" --------------------------------------------------------------------- + +"PandocHiLink pandocNormalBlock +exe "hi! pandocTitleBlock"               .s:fg_blue   .s:bg_none   .s:fmt_none +exe "hi! pandocTitleBlockTitle"          .s:fg_blue   .s:bg_none   .s:fmt_bold +exe "hi! pandocTitleComment"             .s:fg_blue   .s:bg_none   .s:fmt_bold +exe "hi! pandocComment"                  .s:fg_base01 .s:bg_none   .s:fmt_ital +exe "hi! pandocVerbatimBlock"            .s:fg_yellow .s:bg_none   .s:fmt_none +hi! link pandocVerbatimBlockDeep         pandocVerbatimBlock +hi! link pandocCodeBlock                 pandocVerbatimBlock +hi! link pandocCodeBlockDelim            pandocVerbatimBlock +exe "hi! pandocBlockQuote"               .s:fg_blue   .s:bg_none   .s:fmt_none +exe "hi! pandocBlockQuoteLeader1"        .s:fg_blue   .s:bg_none   .s:fmt_none +exe "hi! pandocBlockQuoteLeader2"        .s:fg_cyan   .s:bg_none   .s:fmt_none +exe "hi! pandocBlockQuoteLeader3"        .s:fg_yellow .s:bg_none   .s:fmt_none +exe "hi! pandocBlockQuoteLeader4"        .s:fg_red    .s:bg_none   .s:fmt_none +exe "hi! pandocBlockQuoteLeader5"        .s:fg_base0  .s:bg_none   .s:fmt_none +exe "hi! pandocBlockQuoteLeader6"        .s:fg_base01 .s:bg_none   .s:fmt_none +exe "hi! pandocListMarker"               .s:fg_magenta.s:bg_none   .s:fmt_none +exe "hi! pandocListReference"            .s:fg_magenta.s:bg_none   .s:fmt_undr + +" Definitions +" --------------------------------------------------------------------- +let s:fg_pdef = s:fg_violet +exe "hi! pandocDefinitionBlock"              .s:fg_pdef  .s:bg_none  .s:fmt_none +exe "hi! pandocDefinitionTerm"               .s:fg_pdef  .s:bg_none  .s:fmt_stnd +exe "hi! pandocDefinitionIndctr"             .s:fg_pdef  .s:bg_none  .s:fmt_bold +exe "hi! pandocEmphasisDefinition"           .s:fg_pdef  .s:bg_none  .s:fmt_ital +exe "hi! pandocEmphasisNestedDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_bldi +exe "hi! pandocStrongEmphasisDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_bold +exe "hi! pandocStrongEmphasisNestedDefinition"   .s:fg_pdef.s:bg_none.s:fmt_bldi +exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi +exe "hi! pandocStrikeoutDefinition"          .s:fg_pdef  .s:bg_none  .s:fmt_revr +exe "hi! pandocVerbatimInlineDefinition"     .s:fg_pdef  .s:bg_none  .s:fmt_none +exe "hi! pandocSuperscriptDefinition"        .s:fg_pdef  .s:bg_none  .s:fmt_none +exe "hi! pandocSubscriptDefinition"          .s:fg_pdef  .s:bg_none  .s:fmt_none + +" Tables +" --------------------------------------------------------------------- +let s:fg_ptable = s:fg_blue +exe "hi! pandocTable"                        .s:fg_ptable.s:bg_none  .s:fmt_none +exe "hi! pandocTableStructure"               .s:fg_ptable.s:bg_none  .s:fmt_none +hi! link pandocTableStructureTop             pandocTableStructre +hi! link pandocTableStructureEnd             pandocTableStructre +exe "hi! pandocTableZebraLight"              .s:fg_ptable.s:bg_base03.s:fmt_none +exe "hi! pandocTableZebraDark"               .s:fg_ptable.s:bg_base02.s:fmt_none +exe "hi! pandocEmphasisTable"                .s:fg_ptable.s:bg_none  .s:fmt_ital +exe "hi! pandocEmphasisNestedTable"          .s:fg_ptable.s:bg_none  .s:fmt_bldi +exe "hi! pandocStrongEmphasisTable"          .s:fg_ptable.s:bg_none  .s:fmt_bold +exe "hi! pandocStrongEmphasisNestedTable"    .s:fg_ptable.s:bg_none  .s:fmt_bldi +exe "hi! pandocStrongEmphasisEmphasisTable"  .s:fg_ptable.s:bg_none  .s:fmt_bldi +exe "hi! pandocStrikeoutTable"               .s:fg_ptable.s:bg_none  .s:fmt_revr +exe "hi! pandocVerbatimInlineTable"          .s:fg_ptable.s:bg_none  .s:fmt_none +exe "hi! pandocSuperscriptTable"             .s:fg_ptable.s:bg_none  .s:fmt_none +exe "hi! pandocSubscriptTable"               .s:fg_ptable.s:bg_none  .s:fmt_none + +" Headings +" --------------------------------------------------------------------- +let s:fg_phead = s:fg_orange +exe "hi! pandocHeading"                      .s:fg_phead .s:bg_none.s:fmt_bold +exe "hi! pandocHeadingMarker"                .s:fg_yellow.s:bg_none.s:fmt_bold +exe "hi! pandocEmphasisHeading"              .s:fg_phead .s:bg_none.s:fmt_bldi +exe "hi! pandocEmphasisNestedHeading"        .s:fg_phead .s:bg_none.s:fmt_bldi +exe "hi! pandocStrongEmphasisHeading"        .s:fg_phead .s:bg_none.s:fmt_bold +exe "hi! pandocStrongEmphasisNestedHeading"  .s:fg_phead .s:bg_none.s:fmt_bldi +exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi +exe "hi! pandocStrikeoutHeading"             .s:fg_phead .s:bg_none.s:fmt_revr +exe "hi! pandocVerbatimInlineHeading"        .s:fg_phead .s:bg_none.s:fmt_bold +exe "hi! pandocSuperscriptHeading"           .s:fg_phead .s:bg_none.s:fmt_bold +exe "hi! pandocSubscriptHeading"             .s:fg_phead .s:bg_none.s:fmt_bold + +" Links +" --------------------------------------------------------------------- +exe "hi! pandocLinkDelim"                .s:fg_base01 .s:bg_none   .s:fmt_none +exe "hi! pandocLinkLabel"                .s:fg_blue   .s:bg_none   .s:fmt_undr +exe "hi! pandocLinkText"                 .s:fg_blue   .s:bg_none   .s:fmt_undb +exe "hi! pandocLinkURL"                  .s:fg_base00 .s:bg_none   .s:fmt_undr +exe "hi! pandocLinkTitle"                .s:fg_base00 .s:bg_none   .s:fmt_undi +exe "hi! pandocLinkTitleDelim"           .s:fg_base01 .s:bg_none   .s:fmt_undi   .s:sp_base00 +exe "hi! pandocLinkDefinition"           .s:fg_cyan   .s:bg_none   .s:fmt_undr   .s:sp_base00 +exe "hi! pandocLinkDefinitionID"         .s:fg_blue   .s:bg_none   .s:fmt_bold +exe "hi! pandocImageCaption"             .s:fg_violet .s:bg_none   .s:fmt_undb +exe "hi! pandocFootnoteLink"             .s:fg_green  .s:bg_none   .s:fmt_undr +exe "hi! pandocFootnoteDefLink"          .s:fg_green  .s:bg_none   .s:fmt_bold +exe "hi! pandocFootnoteInline"           .s:fg_green  .s:bg_none   .s:fmt_undb +exe "hi! pandocFootnote"                 .s:fg_green  .s:bg_none   .s:fmt_none +exe "hi! pandocCitationDelim"            .s:fg_magenta.s:bg_none   .s:fmt_none +exe "hi! pandocCitation"                 .s:fg_magenta.s:bg_none   .s:fmt_none +exe "hi! pandocCitationID"               .s:fg_magenta.s:bg_none   .s:fmt_undr +exe "hi! pandocCitationRef"              .s:fg_magenta.s:bg_none   .s:fmt_none + +" Main Styles +" --------------------------------------------------------------------- +exe "hi! pandocStyleDelim"               .s:fg_base01 .s:bg_none  .s:fmt_none +exe "hi! pandocEmphasis"                 .s:fg_base0  .s:bg_none  .s:fmt_ital +exe "hi! pandocEmphasisNested"           .s:fg_base0  .s:bg_none  .s:fmt_bldi +exe "hi! pandocStrongEmphasis"           .s:fg_base0  .s:bg_none  .s:fmt_bold +exe "hi! pandocStrongEmphasisNested"     .s:fg_base0  .s:bg_none  .s:fmt_bldi +exe "hi! pandocStrongEmphasisEmphasis"   .s:fg_base0  .s:bg_none  .s:fmt_bldi +exe "hi! pandocStrikeout"                .s:fg_base01 .s:bg_none  .s:fmt_revr +exe "hi! pandocVerbatimInline"           .s:fg_yellow .s:bg_none  .s:fmt_none +exe "hi! pandocSuperscript"              .s:fg_violet .s:bg_none  .s:fmt_none +exe "hi! pandocSubscript"                .s:fg_violet .s:bg_none  .s:fmt_none + +exe "hi! pandocRule"                     .s:fg_blue   .s:bg_none  .s:fmt_bold +exe "hi! pandocRuleLine"                 .s:fg_blue   .s:bg_none  .s:fmt_bold +exe "hi! pandocEscapePair"               .s:fg_red    .s:bg_none  .s:fmt_bold +exe "hi! pandocCitationRef"              .s:fg_magenta.s:bg_none   .s:fmt_none +exe "hi! pandocNonBreakingSpace"         . s:fg_red   .s:bg_none  .s:fmt_revr +hi! link pandocEscapedCharacter          pandocEscapePair +hi! link pandocLineBreak                 pandocEscapePair + +" Embedded Code +" --------------------------------------------------------------------- +exe "hi! pandocMetadataDelim"            .s:fg_base01 .s:bg_none   .s:fmt_none +exe "hi! pandocMetadata"                 .s:fg_blue   .s:bg_none   .s:fmt_none +exe "hi! pandocMetadataKey"              .s:fg_blue   .s:bg_none   .s:fmt_none +exe "hi! pandocMetadata"                 .s:fg_blue   .s:bg_none   .s:fmt_bold +hi! link pandocMetadataTitle             pandocMetadata + +"}}} +" Utility autocommand "{{{ +" --------------------------------------------------------------------- +" In cases where Solarized is initialized inside a terminal vim session and  +" then transferred to a gui session via the command `:gui`, the gui vim process  +" does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui`  +" related code that sets gui specific values isn't executed. +" +" Currently, Solarized sets only the cterm or gui values for the colorscheme  +" depending on gui or terminal mode. It's possible that, if the following  +" autocommand method is deemed excessively poor form, that approach will be  +" used again and the autocommand below will be dropped. +" +" However it seems relatively benign in this case to include the autocommand  +" here. It fires only in cases where vim is transferring from terminal to gui  +" mode (detected with the script scope s:vmode variable). It also allows for  +" other potential terminal customizations that might make gui mode suboptimal. +" +autocmd GUIEnter * if (s:vmode != "gui") | exe "colorscheme " . g:colors_name | endif +"}}} +" Highlight Trailing Space {{{ +" Experimental: Different highlight when on cursorline +function! s:SolarizedHiTrail() +    if g:solarized_hitrail==0 +        hi! clear solarizedTrailingSpace +    else +        syn match solarizedTrailingSpace "\s*$" +        exe "hi! solarizedTrailingSpace " .s:fmt_undr .s:fg_red .s:bg_none .s:sp_red +    endif +endfunction   +augroup SolarizedHiTrail +    autocmd! +    if g:solarized_hitrail==1 +        autocmd! Syntax * call s:SolarizedHiTrail() +        autocmd! ColorScheme * if g:colors_name == "solarized" | call s:SolarizedHiTrail() | else | augroup! s:SolarizedHiTrail | endif +    endif +augroup END +" }}} +" Menus "{{{ +" --------------------------------------------------------------------- +" Turn off Solarized menu by including the following assignment in your .vimrc: +" +"    let g:solarized_menu=0 + +function! s:SolarizedOptions() +    new "new buffer +    setf vim "vim filetype +    let failed = append(0, s:defaults_list) +    let failed = append(0, s:colorscheme_list) +    let failed = append(0, s:options_list) +    let failed = append(0, s:lazycat_list) +    0 "jump back to the top +endfunction +if !exists(":SolarizedOptions") +    command SolarizedOptions :call s:SolarizedOptions() +endif + +function! SolarizedMenu() +    if exists("g:loaded_solarized_menu") +        try +            silent! aunmenu Solarized +        endtry +    endif +    let g:loaded_solarized_menu = 1 + +    if g:colors_name == "solarized" && g:solarized_menu != 0 + +        amenu &Solarized.&Contrast.&Low\ Contrast        :let g:solarized_contrast="low"       \| colorscheme solarized<CR> +        amenu &Solarized.&Contrast.&Normal\ Contrast     :let g:solarized_contrast="normal"    \| colorscheme solarized<CR> +        amenu &Solarized.&Contrast.&High\ Contrast       :let g:solarized_contrast="high"      \| colorscheme solarized<CR> +        an    &Solarized.&Contrast.-sep-                 <Nop> +        amenu &Solarized.&Contrast.&Help:\ Contrast      :help 'solarized_contrast'<CR> + +        amenu &Solarized.&Visibility.&Low\ Visibility    :let g:solarized_visibility="low"     \| colorscheme solarized<CR> +        amenu &Solarized.&Visibility.&Normal\ Visibility :let g:solarized_visibility="normal"  \| colorscheme solarized<CR> +        amenu &Solarized.&Visibility.&High\ Visibility   :let g:solarized_visibility="high"    \| colorscheme solarized<CR> +        an    &Solarized.&Visibility.-sep-                 <Nop> +        amenu &Solarized.&Visibility.&Help:\ Visibility    :help 'solarized_visibility'<CR> + +        amenu &Solarized.&Background.&Toggle\ Background :ToggleBG<CR> +        amenu &Solarized.&Background.&Dark\ Background   :set background=dark  \| colorscheme solarized<CR> +        amenu &Solarized.&Background.&Light\ Background  :set background=light \| colorscheme solarized<CR> +        an    &Solarized.&Background.-sep-               <Nop> +        amenu &Solarized.&Background.&Help:\ ToggleBG     :help togglebg<CR> + +        if g:solarized_bold==0 | let l:boldswitch="On" | else | let l:boldswitch="Off" | endif +        exe "amenu &Solarized.&Styling.&Turn\\ Bold\\ ".l:boldswitch." :let g:solarized_bold=(abs(g:solarized_bold-1)) \\| colorscheme solarized<CR>" +        if g:solarized_italic==0 | let l:italicswitch="On" | else | let l:italicswitch="Off" | endif +        exe "amenu &Solarized.&Styling.&Turn\\ Italic\\ ".l:italicswitch." :let g:solarized_italic=(abs(g:solarized_italic-1)) \\| colorscheme solarized<CR>" +        if g:solarized_underline==0 | let l:underlineswitch="On" | else | let l:underlineswitch="Off" | endif +        exe "amenu &Solarized.&Styling.&Turn\\ Underline\\ ".l:underlineswitch." :let g:solarized_underline=(abs(g:solarized_underline-1)) \\| colorscheme solarized<CR>" + +        amenu &Solarized.&Diff\ Mode.&Low\ Diff\ Mode    :let g:solarized_diffmode="low"     \| colorscheme solarized<CR> +        amenu &Solarized.&Diff\ Mode.&Normal\ Diff\ Mode :let g:solarized_diffmode="normal"  \| colorscheme solarized<CR> +        amenu &Solarized.&Diff\ Mode.&High\ Diff\ Mode   :let g:solarized_diffmode="high"    \| colorscheme solarized<CR> + +        if g:solarized_hitrail==0 | let l:hitrailswitch="On" | else | let l:hitrailswitch="Off" | endif +        exe "amenu &Solarized.&Experimental.&Turn\\ Highlight\\ Trailing\\ Spaces\\ ".l:hitrailswitch." :let g:solarized_hitrail=(abs(g:solarized_hitrail-1)) \\| colorscheme solarized<CR>" +        an    &Solarized.&Experimental.-sep-               <Nop> +        amenu &Solarized.&Experimental.&Help:\ HiTrail    :help 'solarized_hitrail'<CR> + +        an    &Solarized.-sep1-                          <Nop> + +        amenu &Solarized.&Autogenerate\ options          :SolarizedOptions<CR> + +        an    &Solarized.-sep2-                          <Nop> + +        amenu &Solarized.&Help.&Solarized\ Help          :help solarized<CR> +        amenu &Solarized.&Help.&Toggle\ Background\ Help :help togglebg<CR> +        amenu &Solarized.&Help.&Removing\ This\ Menu     :help solarized-menu<CR> + +        an 9999.77 &Help.&Solarized\ Colorscheme         :help solarized<CR> +        an 9999.78 &Help.&Toggle\ Background             :help togglebg<CR> +        an 9999.79 &Help.-sep3-                          <Nop> + +    endif +endfunction + +autocmd ColorScheme * if g:colors_name != "solarized" | silent! aunmenu Solarized | else | call SolarizedMenu() | endif + +"}}} +" License "{{{ +" --------------------------------------------------------------------- +" +" Copyright (c) 2011 Ethan Schoonover +" +" Permission is hereby granted, free of charge, to any person obtaining a copy +" of this software and associated documentation files (the "Software"), to deal +" in the Software without restriction, including without limitation the rights +" to use, copy, modify, merge, publish, distribute, 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 PARTICULAR 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 CONTRACT, TORT OR OTHERWISE, ARISING FROM, +" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +" THE SOFTWARE. +" +" vim:foldmethod=marker:foldlevel=0 +"}}} diff --git a/colors/twilight.vim b/colors/twilight.vim new file mode 100644 index 0000000..f2ccdd3 --- /dev/null +++ b/colors/twilight.vim @@ -0,0 +1,114 @@ + +set background=dark + +hi clear + +if exists("syntax_on") +  syntax reset +endif + +let colors_name = "twilight" + +let s:grey_blue = '#8a9597' +let s:light_grey_blue = '#a0a8b0' +let s:dark_grey_blue = '#34383c' +let s:mid_grey_blue = '#64686c' +let s:beige = '#ceb67f' +let s:light_orange = '#ebc471' +let s:yellow = '#e3d796' +let s:violet = '#a999ac' +let s:green = '#a2a96f' +let s:lightgreen = '#c2c98f' +let s:red = '#d08356' +let s:cyan = '#74dad9' +let s:darkgrey = '#1a1a1a' +let s:grey = '#303030' +let s:lightgrey = '#605958' +let s:white = '#fffedc' + +if version >= 700 +  hi CursorLine guibg=#262626 +  hi CursorColumn guibg=#262626 +  hi MatchParen guifg=white guibg=#80a090 gui=bold + +  "Tabpages +  hi TabLine guifg=#a09998 guibg=#202020 gui=underline +  hi TabLineFill guifg=#a09998 guibg=#202020 gui=underline +  hi TabLineSel guifg=#a09998 guibg=#404850 gui=underline + +  "P-Menu (auto-completion) +  hi Pmenu guifg=#605958 guibg=#303030 gui=underline +  hi PmenuSel guifg=#a09998 guibg=#404040 gui=underline +  "PmenuSbar +  "PmenuThumb +endif + +hi Visual guibg=#404040 + +"hi Cursor guifg=NONE guibg=#586068 +hi Cursor guibg=#b0d0f0 + + +exe 'hi Normal         guifg='.s:white             .' guibg='.s:darkgrey +exe 'hi Underlined     guifg='.s:white             .' guibg='.s:darkgrey        .' gui=underline' +exe 'hi NonText        guifg='.s:lightgrey         .' guibg='.s:grey +exe 'hi SpecialKey     guifg='.s:grey              .' guibg='.s:darkgrey + +exe 'hi LineNr         guifg='.s:mid_grey_blue     .' guibg='.s:dark_grey_blue  .' gui=none' +exe 'hi StatusLine     guifg='.s:white             .' guibg='.s:grey            .' gui=italic,underline' +exe 'hi StatusLineNC   guifg='.s:lightgrey         .' guibg='.s:grey            .' gui=italic,underline' +exe 'hi VertSplit      guifg='.s:grey              .' guibg='.s:grey            .' gui=none' + +exe 'hi Folded         guifg='.s:grey_blue         .' guibg='.s:dark_grey_blue  .' gui=none' +exe 'hi FoldColumn     guifg='.s:grey_blue         .' guibg='.s:dark_grey_blue  .' gui=none' +exe 'hi SignColumn     guifg='.s:grey_blue         .' guibg='.s:dark_grey_blue  .' gui=none' + +exe 'hi Comment        guifg='.s:mid_grey_blue     .' guibg='.s:darkgrey        .' gui=italic' +exe 'hi TODO           guifg='.s:grey_blue         .' guibg='.s:darkgrey        .' gui=italic,bold' + +exe 'hi Title          guifg='.s:red               .' guibg='.s:darkgrey        .' gui=underline' + +exe 'hi Constant       guifg='.s:red               .' guibg='.s:darkgrey        .' gui=none' +exe 'hi String         guifg='.s:green             .' guibg='.s:darkgrey        .' gui=none' +exe 'hi Special        guifg='.s:lightgreen        .' guibg='.s:darkgrey        .' gui=none' + +exe 'hi Identifier     guifg='.s:grey_blue         .' guibg='.s:darkgrey        .' gui=none' +exe 'hi Statement      guifg='.s:beige             .' guibg='.s:darkgrey        .' gui=none' +exe 'hi Conditional    guifg='.s:beige             .' guibg='.s:darkgrey        .' gui=none' +exe 'hi Repeat         guifg='.s:beige             .' guibg='.s:darkgrey        .' gui=none' +exe 'hi Structure      guifg='.s:beige             .' guibg='.s:darkgrey        .' gui=none' +exe 'hi Function       guifg='.s:violet            .' guibg='.s:darkgrey        .' gui=none' + +exe 'hi PreProc        guifg='.s:grey_blue         .' guibg='.s:darkgrey        .' gui=none' +exe 'hi Operator       guifg='.s:light_orange      .' guibg='.s:darkgrey        .' gui=none' +exe 'hi Type           guifg='.s:yellow            .' guibg='.s:darkgrey        .' gui=italic' + +"hi Identifier guifg=#7587a6 +" Type d: 'class' +"hi Structure guifg=#9B859D gui=underline +"hi Function guifg=#dad085 +" dylan: method, library, ... d: if, return, ... +"hi Statement guifg=#7187a1 gui=NONE +" Keywords  d: import, module... +"hi PreProc guifg=#8fbfdc +"gui=underline +"hi Operator guifg=#a07020 +"hi Repeat guifg=#906040 gui=underline +"hi Type guifg=#708090 + +"hi Type guifg=#f9ee98 gui=NONE + +"hi NonText guifg=#808080 guibg=#303030 + +"hi Macro guifg=#a0b0c0 gui=underline + +"Tabs, trailing spaces, etc (lcs) +"hi SpecialKey guifg=#808080 guibg=#343434 + +"hi TooLong guibg=#ff0000 guifg=#f8f8f8 + +hi Search guifg=#606000 guibg=#c0c000 gui=bold + +hi Directory guifg=#dad085 gui=NONE +hi Error guibg=#602020 + diff --git a/colors/wombat256mod.vim b/colors/wombat256mod.vim new file mode 100644 index 0000000..1137eb8 --- /dev/null +++ b/colors/wombat256mod.vim @@ -0,0 +1,96 @@ +" Vim color file +" Original Maintainer:  Lars H. Nielsen (dengmao@gmail.com) +" Last Change:  2010-07-23 +" +" Modified version of wombat for 256-color terminals by +"   David Liang (bmdavll@gmail.com) +" based on version by +"   Danila Bespalov (danila.bespalov@gmail.com) + +set background=dark + +if version > 580 +	hi clear +	if exists("syntax_on") +		syntax reset +	endif +endif + +let colors_name = "wombat256mod" + + +" General colors +hi Normal		ctermfg=252		ctermbg=234		cterm=none		guifg=#e3e0d7	guibg=#242424	gui=none +hi Cursor		ctermfg=234		ctermbg=228		cterm=none		guifg=#242424	guibg=#eae788	gui=none +hi Visual		ctermfg=251		ctermbg=239		cterm=none		guifg=#c3c6ca	guibg=#554d4b	gui=none +hi VisualNOS	ctermfg=251		ctermbg=236		cterm=none		guifg=#c3c6ca	guibg=#303030	gui=none +hi Search		ctermfg=177		ctermbg=241		cterm=none		guifg=#d787ff	guibg=#636066	gui=none +hi Folded		ctermfg=103		ctermbg=237		cterm=none		guifg=#a0a8b0	guibg=#3a4046	gui=none +hi Title		ctermfg=230						cterm=bold		guifg=#ffffd7					gui=bold +hi StatusLine	ctermfg=230		ctermbg=238		cterm=none		guifg=#ffffd7	guibg=#444444	gui=italic +hi VertSplit	ctermfg=238		ctermbg=238		cterm=none		guifg=#444444	guibg=#444444	gui=none +hi StatusLineNC	ctermfg=241		ctermbg=238		cterm=none		guifg=#857b6f	guibg=#444444	gui=none +hi LineNr		ctermfg=241		ctermbg=232		cterm=none		guifg=#857b6f	guibg=#080808	gui=none +hi SpecialKey	ctermfg=241		ctermbg=235		cterm=none		guifg=#626262	guibg=#2b2b2b	gui=none +hi WarningMsg	ctermfg=203										guifg=#ff5f55 +hi ErrorMsg		ctermfg=196		ctermbg=236		cterm=bold		guifg=#ff2026	guibg=#3a3a3a	gui=bold + +" Vim >= 7.0 specific colors +if version >= 700 +hi CursorLine					ctermbg=236		cterm=none						guibg=#32322f +hi MatchParen	ctermfg=228		ctermbg=101		cterm=bold		guifg=#eae788	guibg=#857b6f	gui=bold +hi Pmenu		ctermfg=230		ctermbg=238						guifg=#ffffd7	guibg=#444444 +hi PmenuSel		ctermfg=232		ctermbg=192						guifg=#080808	guibg=#cae982 +endif + +" Diff highlighting +hi DiffAdd						ctermbg=17										guibg=#2a0d6a +hi DiffDelete	ctermfg=234		ctermbg=60		cterm=none		guifg=#242424	guibg=#3e3969	gui=none +hi DiffText						ctermbg=53		cterm=none						guibg=#73186e	gui=none +hi DiffChange					ctermbg=237										guibg=#382a37 + +"hi CursorIM +"hi Directory +"hi IncSearch +"hi Menu +"hi ModeMsg +"hi MoreMsg +"hi PmenuSbar +"hi PmenuThumb +"hi Question +"hi Scrollbar +"hi SignColumn +"hi SpellBad +"hi SpellCap +"hi SpellLocal +"hi SpellRare +"hi TabLine +"hi TabLineFill +"hi TabLineSel +"hi Tooltip +"hi User1 +"hi User9 +"hi WildMenu + + +" Syntax highlighting +hi Keyword		ctermfg=111		cterm=none		guifg=#88b8f6	gui=none +hi Statement	ctermfg=111		cterm=none		guifg=#88b8f6	gui=none +hi Constant		ctermfg=173		cterm=none		guifg=#e5786d	gui=none +hi Number		ctermfg=173		cterm=none		guifg=#e5786d	gui=none +hi PreProc		ctermfg=173		cterm=none		guifg=#e5786d	gui=none +hi Function		ctermfg=192		cterm=none		guifg=#cae982	gui=none +hi Identifier	ctermfg=192		cterm=none		guifg=#cae982	gui=none +hi Type			ctermfg=186		cterm=none		guifg=#d4d987	gui=none +hi Special		ctermfg=229		cterm=none		guifg=#eadead	gui=none +hi String		ctermfg=113		cterm=none		guifg=#95e454	gui=italic +hi Comment		ctermfg=246		cterm=none		guifg=#9c998e	gui=italic +hi Todo			ctermfg=101		cterm=none		guifg=#857b6f	gui=italic + + +" Links +hi! link FoldColumn		Folded +hi! link CursorColumn	CursorLine +hi! link NonText		LineNr + +" vim:set ts=4 sw=4 noet: diff --git a/colors/xoria256.vim b/colors/xoria256.vim new file mode 100644 index 0000000..7d1010b --- /dev/null +++ b/colors/xoria256.vim @@ -0,0 +1,142 @@ +" Vim color file +" +" Name:       xoria256.vim +" Version:    1.5 +" Maintainer:	Dmitriy Y. Zotikov (xio) <xio@ungrund.org> +" +" Should work in recent 256 color terminals.  88-color terms like urxvt are +" NOT supported. +" +" Don't forget to install 'ncurses-term' and set TERM to xterm-256color or +" similar value. +" +" Color numbers (0-255) see: +" http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html +" +" For a specific filetype highlighting rules issue :syntax list when a file of +" that type is opened. + +" Initialization {{{ +if &t_Co != 256 && ! has("gui_running") +  echomsg "" +  echomsg "err: please use GUI or a 256-color terminal (so that t_Co=256 could be set)" +  echomsg "" +  finish +endif + +set background=dark + +hi clear + +if exists("syntax_on") +  syntax reset +endif + +let colors_name = "xoria256" +"}}} +" Colours {{{1 +"" General {{{2 +hi Normal       ctermfg=252 guifg=#d0d0d0 ctermbg=234 guibg=#1c1c1c cterm=none gui=none +hi Cursor                                 ctermbg=214 guibg=#ffaf00 +hi CursorColumn                           ctermbg=238 guibg=#444444 +hi CursorLine                             ctermbg=237 guibg=#3a3a3a cterm=none gui=none +hi Error        ctermfg=15  guifg=#ffffff ctermbg=1   guibg=#800000 +hi ErrorMsg     ctermfg=15  guifg=#ffffff ctermbg=1   guibg=#800000 +hi FoldColumn   ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212 +hi Folded       ctermfg=255 guifg=#eeeeee ctermbg=60  guibg=#5f5f87 +hi IncSearch    ctermfg=0   guifg=#000000 ctermbg=223 guibg=#ffdfaf cterm=none gui=none +hi LineNr       ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212 +hi MatchParen   ctermfg=188 guifg=#dfdfdf ctermbg=68  guibg=#5f87df cterm=bold gui=bold +" TODO +" hi MoreMsg +hi NonText      ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212 cterm=bold gui=bold +hi Pmenu        ctermfg=0   guifg=#000000 ctermbg=250 guibg=#bcbcbc +hi PmenuSel     ctermfg=255 guifg=#eeeeee ctermbg=243 guibg=#767676 +hi PmenuSbar                              ctermbg=252 guibg=#d0d0d0 +hi PmenuThumb   ctermfg=243 guifg=#767676 +hi Search       ctermfg=0   guifg=#000000 ctermbg=149 guibg=#afdf5f +hi SignColumn   ctermfg=248 guifg=#a8a8a8 +hi SpecialKey   ctermfg=77  guifg=#5fdf5f +hi SpellBad     ctermfg=160 guifg=fg      ctermbg=bg                cterm=underline               guisp=#df0000 +hi SpellCap     ctermfg=189 guifg=#dfdfff ctermbg=bg  guibg=bg      cterm=underline gui=underline +hi SpellRare    ctermfg=168 guifg=#df5f87 ctermbg=bg  guibg=bg      cterm=underline gui=underline +hi SpellLocal   ctermfg=98  guifg=#875fdf ctermbg=bg  guibg=bg      cterm=underline gui=underline +hi StatusLine   ctermfg=15  guifg=#ffffff ctermbg=239 guibg=#4e4e4e cterm=bold gui=bold +hi StatusLineNC ctermfg=249 guifg=#b2b2b2 ctermbg=237 guibg=#3a3a3a cterm=none gui=none +hi TabLine      ctermfg=fg  guifg=fg      ctermbg=242 guibg=#666666 cterm=none gui=none +hi TabLineFill  ctermfg=fg  guifg=fg      ctermbg=237 guibg=#3a3a3a cterm=none gui=none +" FIXME +hi Title        ctermfg=225 guifg=#ffdfff +hi Todo         ctermfg=0   guifg=#000000 ctermbg=184 guibg=#dfdf00 +hi Underlined   ctermfg=39  guifg=#00afff                           cterm=underline gui=underline +hi VertSplit    ctermfg=237 guifg=#3a3a3a ctermbg=237 guibg=#3a3a3a cterm=none gui=none +" hi VIsualNOS    ctermfg=24  guifg=#005f87 ctermbg=153 guibg=#afdfff cterm=none gui=none +" hi Visual       ctermfg=24  guifg=#005f87 ctermbg=153 guibg=#afdfff +hi Visual       ctermfg=255 guifg=#eeeeee ctermbg=96  guibg=#875f87 +" hi Visual       ctermfg=255 guifg=#eeeeee ctermbg=24  guibg=#005f87 +hi VisualNOS    ctermfg=255 guifg=#eeeeee ctermbg=60  guibg=#5f5f87 +hi WildMenu     ctermfg=0   guifg=#000000 ctermbg=150 guibg=#afdf87 cterm=bold gui=bold + +"" Syntax highlighting {{{2 +hi Comment      ctermfg=244 guifg=#808080 +hi Constant     ctermfg=229 guifg=#ffffaf +hi Identifier   ctermfg=182 guifg=#dfafdf                           cterm=none +hi Ignore       ctermfg=238 guifg=#444444 +hi Number       ctermfg=180 guifg=#dfaf87 +hi PreProc      ctermfg=150 guifg=#afdf87 +hi Special      ctermfg=174 guifg=#df8787 +hi Statement    ctermfg=110 guifg=#87afdf                           cterm=none gui=none +hi Type         ctermfg=146 guifg=#afafdf                           cterm=none gui=none + +"" Special {{{2 +""" .diff {{{3 +hi diffAdded    ctermfg=150 guifg=#afdf87 +hi diffRemoved  ctermfg=174 guifg=#df8787 +""" vimdiff {{{3 +hi diffAdd      ctermfg=bg  guifg=bg      ctermbg=151 guibg=#afdfaf +"hi diffDelete   ctermfg=bg  guifg=bg      ctermbg=186 guibg=#dfdf87 cterm=none gui=none +hi diffDelete   ctermfg=bg  guifg=bg      ctermbg=246 guibg=#949494 cterm=none gui=none +hi diffChange   ctermfg=bg  guifg=bg      ctermbg=181 guibg=#dfafaf +hi diffText     ctermfg=bg  guifg=bg      ctermbg=174 guibg=#df8787 cterm=none gui=none +""" HTML {{{3 +" hi htmlTag      ctermfg=146  guifg=#afafdf +" hi htmlEndTag   ctermfg=146  guifg=#afafdf +hi htmlTag      ctermfg=244 +hi htmlEndTag   ctermfg=244 +hi htmlArg	ctermfg=182  guifg=#dfafdf +hi htmlValue	ctermfg=187  guifg=#dfdfaf +hi htmlTitle	ctermfg=254  ctermbg=95 +" hi htmlArg	ctermfg=146 +" hi htmlTagName	ctermfg=146 +" hi htmlString	ctermfg=187 +""" django {{{3 +hi djangoVarBlock ctermfg=180 +hi djangoTagBlock ctermfg=150 +hi djangoStatement ctermfg=146 +hi djangoFilter ctermfg=174 +""" python {{{3 +hi pythonExceptions ctermfg=174 +""" NERDTree {{{3 +hi Directory      ctermfg=110  guifg=#87afdf +hi treeCWD        ctermfg=180  guifg=#dfaf87 +hi treeClosable   ctermfg=174  guifg=#df8787 +hi treeOpenable   ctermfg=150  guifg=#afdf87 +hi treePart       ctermfg=244  guifg=#808080 +hi treeDirSlash   ctermfg=244  guifg=#808080 +hi treeLink       ctermfg=182  guifg=#dfafdf + +""" VimDebug {{{3 +" FIXME +" you may want to set SignColumn highlight in your .vimrc +" :help sign +" :help SignColumn + +" hi currentLine term=reverse cterm=reverse gui=reverse +" hi breakPoint  term=NONE    cterm=NONE    gui=NONE +" hi empty       term=NONE    cterm=NONE    gui=NONE + +" sign define currentLine linehl=currentLine +" sign define breakPoint  linehl=breakPoint  text=>> +" sign define both        linehl=currentLine text=>> +" sign define empty       linehl=empty + diff --git a/config/misc.vim b/config/misc.vim new file mode 100644 index 0000000..1f6a9c8 --- /dev/null +++ b/config/misc.vim @@ -0,0 +1,6 @@ +colorscheme wombat256mod + +au BufNewFile *.page 0r ~/.vim/skeleton/page +au BufRead,BufNewFile *.page set filetype=mkd +let g:vim_markdown_folding_disabled=1 +let g:vim_markdown_math=1 diff --git a/config/neocomplete.vim b/config/neocomplete.vim new file mode 100644 index 0000000..07268cf --- /dev/null +++ b/config/neocomplete.vim @@ -0,0 +1,85 @@ +" Note: This option must set it in .vimrc(_vimrc).  NOT IN .gvimrc(_gvimrc)! +" Disable AutoComplPop. +let g:acp_enableAtStartup = 0 +" Use neocomplete. +let g:neocomplete#enable_at_startup = 1 +" Use smartcase. +let g:neocomplete#enable_smart_case = 1 +" Set minimum syntax keyword length. +let g:neocomplete#sources#syntax#min_keyword_length = 3 +let g:neocomplete#lock_buffer_name_pattern = '\*ku\*' + +" Define dictionary. +let g:neocomplete#sources#dictionary#dictionaries = { +    \ 'default' : '', +    \ 'vimshell' : $HOME.'/.vimshell_hist', +    \ 'scheme' : $HOME.'/.gosh_completions' +        \ } + +" Define keyword. +if !exists('g:neocomplete#keyword_patterns') +    let g:neocomplete#keyword_patterns = {} +endif +let g:neocomplete#keyword_patterns['default'] = '\h\w*' + +" Plugin key-mappings. +inoremap <expr><C-g>     neocomplete#undo_completion() +inoremap <expr><C-l>     neocomplete#complete_common_string() + +" Recommended key-mappings. +" <CR>: close popup and save indent. +inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> +function! s:my_cr_function() +  return neocomplete#close_popup() . "\<CR>" +  " For no inserting <CR> key. +  "return pumvisible() ? neocomplete#close_popup() : "\<CR>" +endfunction +" <TAB>: completion. +inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>" +" <C-h>, <BS>: close popup and delete backword char. +inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>" +inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>" +inoremap <expr><C-y>  neocomplete#close_popup() +inoremap <expr><C-e>  neocomplete#cancel_popup() +" Close popup by <Space>. +"inoremap <expr><Space> pumvisible() ? neocomplete#close_popup() : "\<Space>" + +" For cursor moving in insert mode(Not recommended) +"inoremap <expr><Left>  neocomplete#close_popup() . "\<Left>" +"inoremap <expr><Right> neocomplete#close_popup() . "\<Right>" +"inoremap <expr><Up>    neocomplete#close_popup() . "\<Up>" +"inoremap <expr><Down>  neocomplete#close_popup() . "\<Down>" +" Or set this. +"let g:neocomplete#enable_cursor_hold_i = 1 +" Or set this. +"let g:neocomplete#enable_insert_char_pre = 1 + +" AutoComplPop like behavior. +"let g:neocomplete#enable_auto_select = 1 + +" Shell like behavior(not recommended). +"set completeopt+=longest +"let g:neocomplete#enable_auto_select = 1 +"let g:neocomplete#disable_auto_complete = 1 +"inoremap <expr><TAB>  pumvisible() ? "\<Down>" : "\<C-x>\<C-u>" + +" Enable omni completion. +autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS +autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags +autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS +autocmd FileType python setlocal omnifunc=pythoncomplete#Complete +autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags +autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc + +" Enable heavy omni completion. +if !exists('g:neocomplete#sources#omni#input_patterns') +  let g:neocomplete#sources#omni#input_patterns = {} +endif + +"let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\h\w*\|\h\w*::' +""let g:neocomplete#sources#omni#input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)' +"let g:neocomplete#sources#omni#input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::' +" +"" For perlomni.vim setting. +" https://github.com/c9s/perlomni.vim +let g:neocomplete#sources#omni#input_patterns.perl = '\h\w*->\h\w*\|\h\w*::' diff --git a/skeleton/page b/skeleton/page new file mode 100644 index 0000000..3c64c9e --- /dev/null +++ b/skeleton/page @@ -0,0 +1,7 @@ +--- +title:  +categories:  +toc:  +... + + | 
