diff --git a/.fishrc b/.fishrc new file mode 100644 index 0000000..e69de29 diff --git a/.vim/.netrwhist b/.vim/.netrwhist new file mode 100644 index 0000000..9767514 --- /dev/null +++ b/.vim/.netrwhist @@ -0,0 +1,5 @@ +let g:netrw_dirhistmax =10 +let g:netrw_dirhist_cnt =3 +let g:netrw_dirhist_1='/home/beppe/Downloads/EFI' +let g:netrw_dirhist_2='/usr/local/bin' +let g:netrw_dirhist_3='/home/beppe/.backup' diff --git a/.vim/autoload/pathogen.vim b/.vim/autoload/pathogen.vim new file mode 100644 index 0000000..3582fbf --- /dev/null +++ b/.vim/autoload/pathogen.vim @@ -0,0 +1,264 @@ +" pathogen.vim - path option manipulation +" Maintainer: Tim Pope +" Version: 2.4 + +" Install in ~/.vim/autoload (or ~\vimfiles\autoload). +" +" For management of individually installed plugins in ~/.vim/bundle (or +" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your +" .vimrc is the only other setup necessary. +" +" The API is documented inline below. + +if exists("g:loaded_pathogen") || &cp + finish +endif +let g:loaded_pathogen = 1 + +" Point of entry for basic default usage. Give a relative path to invoke +" pathogen#interpose() or an absolute path to invoke pathogen#surround(). +" Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all +" subdirectories inside "bundle" inside all directories in the runtime path. +" If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}" +" on versions of Vim without native package support. +function! pathogen#infect(...) abort + if a:0 + let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")') + else + let paths = ['bundle/{}', 'pack/{}/start/{}'] + endif + if has('packages') + call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"') + endif + let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$' + for path in filter(copy(paths), 'v:val =~# static') + call pathogen#surround(path) + endfor + for path in filter(copy(paths), 'v:val !~# static') + if path =~# '^\%([$~\\/]\|\w:[\\/]\)' + call pathogen#surround(path) + else + call pathogen#interpose(path) + endif + endfor + call pathogen#cycle_filetype() + if pathogen#is_disabled($MYVIMRC) + return 'finish' + endif + return '' +endfunction + +" Split a path into a list. +function! pathogen#split(path) abort + if type(a:path) == type([]) | return a:path | endif + if empty(a:path) | return [] | endif + let split = split(a:path,'\\\@]','\\&','') + endif +endfunction + +" Like findfile(), but hardcoded to use the runtimepath. +function! pathogen#runtime_findfile(file,count) abort + let rtp = pathogen#join(1,pathogen#split(&rtp)) + let file = findfile(a:file,rtp,a:count) + if file ==# '' + return '' + else + return fnamemodify(file,':p') + endif +endfunction + +" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': diff --git a/.vim/bundle/Vundle.vim b/.vim/bundle/Vundle.vim new file mode 160000 index 0000000..9a38216 --- /dev/null +++ b/.vim/bundle/Vundle.vim @@ -0,0 +1 @@ +Subproject commit 9a38216a1c0c597f978d73547d37681fc689c90d diff --git a/.vim/bundle/YouCompleteMe b/.vim/bundle/YouCompleteMe new file mode 160000 index 0000000..80246aa --- /dev/null +++ b/.vim/bundle/YouCompleteMe @@ -0,0 +1 @@ +Subproject commit 80246aa9a23cab4175c41a514598284efe218c20 diff --git a/.vim/bundle/ctrlp.vim b/.vim/bundle/ctrlp.vim new file mode 160000 index 0000000..e953ee7 --- /dev/null +++ b/.vim/bundle/ctrlp.vim @@ -0,0 +1 @@ +Subproject commit e953ee7a80dc96cd00c20ed6fe82e0e817d977ff diff --git a/.vim/bundle/indentpython.vim b/.vim/bundle/indentpython.vim new file mode 160000 index 0000000..6aaddfd --- /dev/null +++ b/.vim/bundle/indentpython.vim @@ -0,0 +1 @@ +Subproject commit 6aaddfde21fe9e7acbe448b92b3cbb67f2fe1fc1 diff --git a/.vim/bundle/syntastic b/.vim/bundle/syntastic new file mode 160000 index 0000000..0d25f4f --- /dev/null +++ b/.vim/bundle/syntastic @@ -0,0 +1 @@ +Subproject commit 0d25f4fb4203e600a28e776847d4beca254d3f84 diff --git a/.vim/bundle/vim-coloresque b/.vim/bundle/vim-coloresque new file mode 160000 index 0000000..0c21b14 --- /dev/null +++ b/.vim/bundle/vim-coloresque @@ -0,0 +1 @@ +Subproject commit 0c21b1469993e610600e88e734ffe90b9c10a514 diff --git a/.vim/bundle/vim-gitgutter b/.vim/bundle/vim-gitgutter new file mode 160000 index 0000000..5c636b1 --- /dev/null +++ b/.vim/bundle/vim-gitgutter @@ -0,0 +1 @@ +Subproject commit 5c636b128ed40f3ed926d18adb307e01dfc082f8 diff --git a/.vim/bundle/vim-go b/.vim/bundle/vim-go new file mode 160000 index 0000000..30cdcf3 --- /dev/null +++ b/.vim/bundle/vim-go @@ -0,0 +1 @@ +Subproject commit 30cdcf3c1e4d0be92115f40ea3197a2effde0c27 diff --git a/.vim/colors/badwolf.vim b/.vim/colors/badwolf.vim new file mode 100644 index 0000000..9ce5441 --- /dev/null +++ b/.vim/colors/badwolf.vim @@ -0,0 +1,670 @@ +" _ _ _ __ +" | |__ __ _ __| | __ _____ | |/ _| +" | '_ \ / _` |/ _` | \ \ /\ / / _ \| | |_ +" | |_) | (_| | (_| | \ V V / (_) | | _| +" |_.__/ \__,_|\__,_| \_/\_/ \___/|_|_| +" +" I am the Bad Wolf. I create myself. +" I take the words. I scatter them in time and space. +" A message to lead myself here. +" +" A Vim colorscheme pieced together by Steve Losh. +" Available at http://stevelosh.com/projects/badwolf/ +" +" Why? {{{ +" +" After using Molokai for quite a long time, I started longing for +" a replacement. +" +" I love Molokai's high contrast and gooey, saturated tones, but it can be +" a little inconsistent at times. +" +" Also it's winter here in Rochester, so I wanted a color scheme that's a bit +" warmer. A little less blue and a bit more red. +" +" And so Bad Wolf was born. I'm no designer, but designers have been scattering +" beautiful colors through time and space long before I came along. I took +" advantage of that and reused some of my favorites to lead me to this scheme. +" +" }}} + +" Supporting code ------------------------------------------------------------- +" Preamble {{{ + +if !has("gui_running") && &t_Co != 88 && &t_Co != 256 + finish +endif + +set background=dark + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name = "badwolf" + +if !exists("g:badwolf_html_link_underline") " {{{ + let g:badwolf_html_link_underline = 1 +endif " }}} + +if !exists("g:badwolf_css_props_highlight") " {{{ + let g:badwolf_css_props_highlight = 0 +endif " }}} + +" }}} +" Palette {{{ + +let s:bwc = {} + +" The most basic of all our colors is a slightly tweaked version of the Molokai +" Normal text. +let s:bwc.plain = ['f8f6f2', 15] + +" Pure and simple. +let s:bwc.snow = ['ffffff', 15] +let s:bwc.coal = ['000000', 16] + +" All of the Gravel colors are based on a brown from Clouds Midnight. +let s:bwc.brightgravel = ['d9cec3', 252] +let s:bwc.lightgravel = ['998f84', 245] +let s:bwc.gravel = ['857f78', 243] +let s:bwc.mediumgravel = ['666462', 241] +let s:bwc.deepgravel = ['45413b', 238] +let s:bwc.deepergravel = ['35322d', 236] +let s:bwc.darkgravel = ['242321', 235] +let s:bwc.blackgravel = ['1c1b1a', 233] +let s:bwc.blackestgravel = ['141413', 232] + +" A color sampled from a highlight in a photo of a glass of Dale's Pale Ale on +" my desk. +let s:bwc.dalespale = ['fade3e', 221] + +" A beautiful tan from Tomorrow Night. +let s:bwc.dirtyblonde = ['f4cf86', 222] + +" Delicious, chewy red from Made of Code for the poppiest highlights. +let s:bwc.taffy = ['ff2c4b', 196] + +" Another chewy accent, but use sparingly! +let s:bwc.saltwatertaffy = ['8cffba', 121] + +" The star of the show comes straight from Made of Code. +" +" You should almost never use this. It should be used for things that denote +" 'where the user is', which basically consists of: +" +" * The cursor +" * A REPL prompt +let s:bwc.tardis = ['0a9dff', 39] + +" This one's from Mustang, not Florida! +let s:bwc.orange = ['ffa724', 214] + +" A limier green from Getafe. +let s:bwc.lime = ['aeee00', 154] + +" Rose's dress in The Idiot's Lantern. +let s:bwc.dress = ['ff9eb8', 211] + +" Another play on the brown from Clouds Midnight. I love that color. +let s:bwc.toffee = ['b88853', 137] + +" Also based on that Clouds Midnight brown. +let s:bwc.coffee = ['c7915b', 173] +let s:bwc.darkroast = ['88633f', 95] + +" }}} +" 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 ' + else + let c = get(s:bwc, 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 ' + else + let c = get(s:bwc, a:1) + let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' + endif + endif + + if a:0 >= 2 && strlen(a:2) + let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' + endif + + if a:0 >= 3 && strlen(a:3) + let c = get(s:bwc, a:3) + let histring .= 'guisp=#' . c[0] . ' ' + endif + + " echom histring + + execute histring +endfunction +" }}} +" Configuration Options {{{ + +if exists('g:badwolf_darkgutter') && g:badwolf_darkgutter + let s:gutter = 'blackestgravel' +else + let s:gutter = 'blackgravel' +endif + +if exists('g:badwolf_tabline') + if g:badwolf_tabline == 0 + let s:tabline = 'blackestgravel' + elseif g:badwolf_tabline == 1 + let s:tabline = 'blackgravel' + elseif g:badwolf_tabline == 2 + let s:tabline = 'darkgravel' + elseif g:badwolf_tabline == 3 + let s:tabline = 'deepgravel' + else + let s:tabline = 'blackestgravel' + endif +else + let s:tabline = 'blackgravel' +endif + +" }}} + +" Actual colorscheme ---------------------------------------------------------- +" Vanilla Vim {{{ + +" General/UI {{{ + +call s:HL('Normal', 'plain', 'blackgravel') + +call s:HL('Folded', 'mediumgravel', 'bg', 'none') + +call s:HL('VertSplit', 'lightgravel', 'bg', 'none') + +call s:HL('CursorLine', '', 'darkgravel', 'none') +call s:HL('CursorColumn', '', 'darkgravel') +call s:HL('ColorColumn', '', 'darkgravel') + +call s:HL('TabLine', 'plain', s:tabline, 'none') +call s:HL('TabLineFill', 'plain', s:tabline, 'none') +call s:HL('TabLineSel', 'coal', 'tardis', 'none') + +call s:HL('MatchParen', 'dalespale', 'darkgravel', 'bold') + +call s:HL('NonText', 'deepgravel', 'bg') +call s:HL('SpecialKey', 'deepgravel', 'bg') + +call s:HL('Visual', '', 'deepgravel') +call s:HL('VisualNOS', '', 'deepgravel') + +call s:HL('Search', 'coal', 'dalespale', 'bold') +call s:HL('IncSearch', 'coal', 'tardis', 'bold') + +call s:HL('Underlined', 'fg', '', 'underline') + +call s:HL('StatusLine', 'coal', 'tardis', 'bold') +call s:HL('StatusLineNC', 'snow', 'deepgravel', 'bold') + +call s:HL('Directory', 'dirtyblonde', '', 'bold') + +call s:HL('Title', 'lime') + +call s:HL('ErrorMsg', 'taffy', 'bg', 'bold') +call s:HL('MoreMsg', 'dalespale', '', 'bold') +call s:HL('ModeMsg', 'dirtyblonde', '', 'bold') +call s:HL('Question', 'dirtyblonde', '', 'bold') +call s:HL('WarningMsg', 'dress', '', 'bold') + +" This is a ctags tag, not an HTML one. 'Something you can use c-] on'. +call s:HL('Tag', '', '', 'bold') + +" hi IndentGuides guibg=#373737 +" hi WildMenu guifg=#66D9EF guibg=#000000 + +" }}} +" Gutter {{{ + +call s:HL('LineNr', 'mediumgravel', s:gutter) +call s:HL('SignColumn', '', s:gutter) +call s:HL('FoldColumn', 'mediumgravel', s:gutter) + +" }}} +" Cursor {{{ + +call s:HL('Cursor', 'coal', 'tardis', 'bold') +call s:HL('vCursor', 'coal', 'tardis', 'bold') +call s:HL('iCursor', 'coal', 'tardis', 'none') + +" }}} +" Syntax highlighting {{{ + +" Start with a simple base. +call s:HL('Special', 'plain') + +" Comments are slightly brighter than folds, to make 'headers' easier to see. +call s:HL('Comment', 'gravel') +call s:HL('Todo', 'snow', 'bg', 'bold') +call s:HL('SpecialComment', 'snow', 'bg', 'bold') + +" Strings are a nice, pale straw color. Nothing too fancy. +call s:HL('String', 'dirtyblonde') + +" Control flow stuff is taffy. +call s:HL('Statement', 'taffy', '', 'bold') +call s:HL('Keyword', 'taffy', '', 'bold') +call s:HL('Conditional', 'taffy', '', 'bold') +call s:HL('Operator', 'taffy', '', 'none') +call s:HL('Label', 'taffy', '', 'none') +call s:HL('Repeat', 'taffy', '', 'none') + +" Functions and variable declarations are orange, because plain looks weird. +call s:HL('Identifier', 'orange', '', 'none') +call s:HL('Function', 'orange', '', 'none') + +" Preprocessor stuff is lime, to make it pop. +" +" This includes imports in any given language, because they should usually be +" grouped together at the beginning of a file. If they're in the middle of some +" other code they should stand out, because something tricky is +" probably going on. +call s:HL('PreProc', 'lime', '', 'none') +call s:HL('Macro', 'lime', '', 'none') +call s:HL('Define', 'lime', '', 'none') +call s:HL('PreCondit', 'lime', '', 'bold') + +" Constants of all kinds are colored together. +" I'm not really happy with the color yet... +call s:HL('Constant', 'toffee', '', 'bold') +call s:HL('Character', 'toffee', '', 'bold') +call s:HL('Boolean', 'toffee', '', 'bold') + +call s:HL('Number', 'toffee', '', 'bold') +call s:HL('Float', 'toffee', '', 'bold') + +" Not sure what 'special character in a constant' means, but let's make it pop. +call s:HL('SpecialChar', 'dress', '', 'bold') + +call s:HL('Type', 'dress', '', 'none') +call s:HL('StorageClass', 'taffy', '', 'none') +call s:HL('Structure', 'taffy', '', 'none') +call s:HL('Typedef', 'taffy', '', 'bold') + +" Make try/catch blocks stand out. +call s:HL('Exception', 'lime', '', 'bold') + +" Misc +call s:HL('Error', 'snow', 'taffy', 'bold') +call s:HL('Debug', 'snow', '', 'bold') +call s:HL('Ignore', 'gravel', '', '') + +" }}} +" Completion Menu {{{ + +call s:HL('Pmenu', 'plain', 'deepergravel') +call s:HL('PmenuSel', 'coal', 'tardis', 'bold') +call s:HL('PmenuSbar', '', 'deepergravel') +call s:HL('PmenuThumb', 'brightgravel') + +" }}} +" Diffs {{{ + +call s:HL('DiffDelete', 'coal', 'coal') +call s:HL('DiffAdd', '', 'deepergravel') +call s:HL('DiffChange', '', 'darkgravel') +call s:HL('DiffText', 'snow', 'deepergravel', 'bold') + +" }}} +" Spelling {{{ + +if has("spell") + call s:HL('SpellCap', 'dalespale', 'bg', 'undercurl,bold', 'dalespale') + call s:HL('SpellBad', '', 'bg', 'undercurl', 'dalespale') + call s:HL('SpellLocal', '', '', 'undercurl', 'dalespale') + call s:HL('SpellRare', '', '', 'undercurl', 'dalespale') +endif + +" }}} + +" }}} +" Plugins {{{ + +" CtrlP {{{ + + " the message when no match is found + call s:HL('CtrlPNoEntries', 'snow', 'taffy', 'bold') + + " the matched pattern + call s:HL('CtrlPMatch', 'orange', 'bg', 'none') + + " the line prefix '>' in the match window + call s:HL('CtrlPLinePre', 'deepgravel', 'bg', 'none') + + " the prompt’s base + call s:HL('CtrlPPrtBase', 'deepgravel', 'bg', 'none') + + " the prompt’s text + call s:HL('CtrlPPrtText', 'plain', 'bg', 'none') + + " the prompt’s cursor when moving over the text + call s:HL('CtrlPPrtCursor', 'coal', 'tardis', 'bold') + + " 'prt' or 'win', also for 'regex' + call s:HL('CtrlPMode1', 'coal', 'tardis', 'bold') + + " 'file' or 'path', also for the local working dir + call s:HL('CtrlPMode2', 'coal', 'tardis', 'bold') + + " the scanning status + call s:HL('CtrlPStats', 'coal', 'tardis', 'bold') + + " TODO: CtrlP extensions. + " CtrlPTabExtra : the part of each line that’s not matched against (Comment) + " CtrlPqfLineCol : the line and column numbers in quickfix mode (|s:HL-Search|) + " CtrlPUndoT : the elapsed time in undo mode (|s:HL-Directory|) + " CtrlPUndoBr : the square brackets [] in undo mode (Comment) + " CtrlPUndoNr : the undo number inside [] in undo mode (String) + +" }}} +" EasyMotion {{{ + +call s:HL('EasyMotionTarget', 'tardis', 'bg', 'bold') +call s:HL('EasyMotionShade', 'deepgravel', 'bg') + +" }}} +" Interesting Words {{{ + +" These are only used if you're me or have copied the hNUM mappings +" from my Vimrc. +call s:HL('InterestingWord1', 'coal', 'orange') +call s:HL('InterestingWord2', 'coal', 'lime') +call s:HL('InterestingWord3', 'coal', 'saltwatertaffy') +call s:HL('InterestingWord4', 'coal', 'toffee') +call s:HL('InterestingWord5', 'coal', 'dress') +call s:HL('InterestingWord6', 'coal', 'taffy') + + +" }}} +" Makegreen {{{ + +" hi GreenBar term=reverse ctermfg=white ctermbg=green guifg=coal guibg=#9edf1c +" hi RedBar term=reverse ctermfg=white ctermbg=red guifg=white guibg=#C50048 + +" }}} +" Rainbow Parentheses {{{ + +call s:HL('level16c', 'mediumgravel', '', 'bold') +call s:HL('level15c', 'dalespale', '', '') +call s:HL('level14c', 'dress', '', '') +call s:HL('level13c', 'orange', '', '') +call s:HL('level12c', 'tardis', '', '') +call s:HL('level11c', 'lime', '', '') +call s:HL('level10c', 'toffee', '', '') +call s:HL('level9c', 'saltwatertaffy', '', '') +call s:HL('level8c', 'coffee', '', '') +call s:HL('level7c', 'dalespale', '', '') +call s:HL('level6c', 'dress', '', '') +call s:HL('level5c', 'orange', '', '') +call s:HL('level4c', 'tardis', '', '') +call s:HL('level3c', 'lime', '', '') +call s:HL('level2c', 'toffee', '', '') +call s:HL('level1c', 'saltwatertaffy', '', '') + +" }}} +" ShowMarks {{{ + +call s:HL('ShowMarksHLl', 'tardis', 'blackgravel') +call s:HL('ShowMarksHLu', 'tardis', 'blackgravel') +call s:HL('ShowMarksHLo', 'tardis', 'blackgravel') +call s:HL('ShowMarksHLm', 'tardis', 'blackgravel') + +" }}} + +" }}} +" Filetype-specific {{{ + +" Clojure {{{ + +call s:HL('clojureSpecial', 'taffy', '', '') +call s:HL('clojureDefn', 'taffy', '', '') +call s:HL('clojureDefMacro', 'taffy', '', '') +call s:HL('clojureDefine', 'taffy', '', '') +call s:HL('clojureMacro', 'taffy', '', '') +call s:HL('clojureCond', 'taffy', '', '') + +call s:HL('clojureKeyword', 'orange', '', 'none') + +call s:HL('clojureFunc', 'dress', '', 'none') +call s:HL('clojureRepeat', 'dress', '', 'none') + +call s:HL('clojureParen0', 'lightgravel', '', 'none') + +call s:HL('clojureAnonArg', 'snow', '', 'bold') + +" }}} +" Common Lisp {{{ + +call s:HL('lispFunc', 'lime', '', 'none') +call s:HL('lispVar', 'orange', '', 'bold') +call s:HL('lispEscapeSpecial', 'orange', '', 'none') + +" }}} +" CSS {{{ + +if g:badwolf_css_props_highlight + call s:HL('cssColorProp', 'taffy', '', 'none') + call s:HL('cssBoxProp', 'taffy', '', 'none') + call s:HL('cssTextProp', 'taffy', '', 'none') + call s:HL('cssRenderProp', 'taffy', '', 'none') + call s:HL('cssGeneratedContentProp', 'taffy', '', 'none') +else + call s:HL('cssColorProp', 'fg', '', 'none') + call s:HL('cssBoxProp', 'fg', '', 'none') + call s:HL('cssTextProp', 'fg', '', 'none') + call s:HL('cssRenderProp', 'fg', '', 'none') + call s:HL('cssGeneratedContentProp', 'fg', '', 'none') +end + +call s:HL('cssValueLength', 'toffee', '', 'bold') +call s:HL('cssColor', 'toffee', '', 'bold') +call s:HL('cssBraces', 'lightgravel', '', 'none') +call s:HL('cssIdentifier', 'orange', '', 'bold') +call s:HL('cssClassName', 'orange', '', 'none') + +" }}} +" Diff {{{ + +call s:HL('gitDiff', 'lightgravel', '',) + +call s:HL('diffRemoved', 'dress', '',) +call s:HL('diffAdded', 'lime', '',) +call s:HL('diffFile', 'coal', 'taffy', 'bold') +call s:HL('diffNewFile', 'coal', 'taffy', 'bold') + +call s:HL('diffLine', 'coal', 'orange', 'bold') +call s:HL('diffSubname', 'orange', '', 'none') + +" }}} +" Django Templates {{{ + +call s:HL('djangoArgument', 'dirtyblonde', '',) +call s:HL('djangoTagBlock', 'orange', '') +call s:HL('djangoVarBlock', 'orange', '') +" hi djangoStatement guifg=#ff3853 gui=bold +" hi djangoVarBlock guifg=#f4cf86 + +" }}} +" HTML {{{ + +" Punctuation +call s:HL('htmlTag', 'darkroast', 'bg', 'none') +call s:HL('htmlEndTag', 'darkroast', 'bg', 'none') + +" Tag names +call s:HL('htmlTagName', 'coffee', '', 'bold') +call s:HL('htmlSpecialTagName', 'coffee', '', 'bold') +call s:HL('htmlSpecialChar', 'lime', '', 'none') + +" Attributes +call s:HL('htmlArg', 'coffee', '', 'none') + +" Stuff inside an tag + +if g:badwolf_html_link_underline + call s:HL('htmlLink', 'lightgravel', '', 'underline') +else + call s:HL('htmlLink', 'lightgravel', '', 'none') +endif + +" }}} +" Java {{{ + +call s:HL('javaClassDecl', 'taffy', '', 'bold') +call s:HL('javaScopeDecl', 'taffy', '', 'bold') +call s:HL('javaCommentTitle', 'gravel', '') +call s:HL('javaDocTags', 'snow', '', 'none') +call s:HL('javaDocParam', 'dalespale', '', '') + +" }}} +" LaTeX {{{ + +call s:HL('texStatement', 'tardis', '', 'none') +call s:HL('texMathZoneX', 'orange', '', 'none') +call s:HL('texMathZoneA', 'orange', '', 'none') +call s:HL('texMathZoneB', 'orange', '', 'none') +call s:HL('texMathZoneC', 'orange', '', 'none') +call s:HL('texMathZoneD', 'orange', '', 'none') +call s:HL('texMathZoneE', 'orange', '', 'none') +call s:HL('texMathZoneV', 'orange', '', 'none') +call s:HL('texMathZoneX', 'orange', '', 'none') +call s:HL('texMath', 'orange', '', 'none') +call s:HL('texMathMatcher', 'orange', '', 'none') +call s:HL('texRefLabel', 'dirtyblonde', '', 'none') +call s:HL('texRefZone', 'lime', '', 'none') +call s:HL('texComment', 'darkroast', '', 'none') +call s:HL('texDelimiter', 'orange', '', 'none') +call s:HL('texZone', 'brightgravel', '', 'none') + +augroup badwolf_tex + au! + + au BufRead,BufNewFile *.tex syn region texMathZoneV start="\\(" end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup + au BufRead,BufNewFile *.tex syn region texMathZoneX start="\$" skip="\\\\\|\\\$" end="\$\|%stopzone\>" keepend contains=@texMathZoneGroup +augroup END + +" }}} +" LessCSS {{{ + +call s:HL('lessVariable', 'lime', '', 'none') + +" }}} +" Lispyscript {{{ + +call s:HL('lispyscriptDefMacro', 'lime', '', '') +call s:HL('lispyscriptRepeat', 'dress', '', 'none') + +" }}} +" REPLs {{{ +" This isn't a specific plugin, but just useful highlight classes for anything +" that might want to use them. + +call s:HL('replPrompt', 'tardis', '', 'bold') + +" }}} +" Mail {{{ + +call s:HL('mailSubject', 'orange', '', 'bold') +call s:HL('mailHeader', 'lightgravel', '', '') +call s:HL('mailHeaderKey', 'lightgravel', '', '') +call s:HL('mailHeaderEmail', 'snow', '', '') +call s:HL('mailURL', 'toffee', '', 'underline') +call s:HL('mailSignature', 'gravel', '', 'none') + +call s:HL('mailQuoted1', 'gravel', '', 'none') +call s:HL('mailQuoted2', 'dress', '', 'none') +call s:HL('mailQuoted3', 'dirtyblonde', '', 'none') +call s:HL('mailQuoted4', 'orange', '', 'none') +call s:HL('mailQuoted5', 'lime', '', 'none') + +" }}} +" Markdown {{{ + +call s:HL('markdownHeadingRule', 'lightgravel', '', 'bold') +call s:HL('markdownHeadingDelimiter', 'lightgravel', '', 'bold') +call s:HL('markdownOrderedListMarker', 'lightgravel', '', 'bold') +call s:HL('markdownListMarker', 'lightgravel', '', 'bold') +call s:HL('markdownItalic', 'snow', '', 'bold') +call s:HL('markdownBold', 'snow', '', 'bold') +call s:HL('markdownH1', 'orange', '', 'bold') +call s:HL('markdownH2', 'lime', '', 'bold') +call s:HL('markdownH3', 'lime', '', 'none') +call s:HL('markdownH4', 'lime', '', 'none') +call s:HL('markdownH5', 'lime', '', 'none') +call s:HL('markdownH6', 'lime', '', 'none') +call s:HL('markdownLinkText', 'toffee', '', 'underline') +call s:HL('markdownIdDeclaration', 'toffee') +call s:HL('markdownAutomaticLink', 'toffee', '', 'bold') +call s:HL('markdownUrl', 'toffee', '', 'bold') +call s:HL('markdownUrldelimiter', 'lightgravel', '', 'bold') +call s:HL('markdownLinkDelimiter', 'lightgravel', '', 'bold') +call s:HL('markdownLinkTextDelimiter', 'lightgravel', '', 'bold') +call s:HL('markdownCodeDelimiter', 'dirtyblonde', '', 'bold') +call s:HL('markdownCode', 'dirtyblonde', '', 'none') +call s:HL('markdownCodeBlock', 'dirtyblonde', '', 'none') + +" }}} +" MySQL {{{ + +call s:HL('mysqlSpecial', 'dress', '', 'bold') + +" }}} +" Python {{{ + +hi def link pythonOperator Operator +call s:HL('pythonBuiltin', 'dress') +call s:HL('pythonBuiltinObj', 'dress') +call s:HL('pythonBuiltinFunc', 'dress') +call s:HL('pythonEscape', 'dress') +call s:HL('pythonException', 'lime', '', 'bold') +call s:HL('pythonExceptions', 'lime', '', 'none') +call s:HL('pythonPrecondit', 'lime', '', 'none') +call s:HL('pythonDecorator', 'taffy', '', 'none') +call s:HL('pythonRun', 'gravel', '', 'bold') +call s:HL('pythonCoding', 'gravel', '', 'bold') + +" }}} +" SLIMV {{{ + +" Rainbow parentheses +call s:HL('hlLevel0', 'gravel') +call s:HL('hlLevel1', 'orange') +call s:HL('hlLevel2', 'saltwatertaffy') +call s:HL('hlLevel3', 'dress') +call s:HL('hlLevel4', 'coffee') +call s:HL('hlLevel5', 'dirtyblonde') +call s:HL('hlLevel6', 'orange') +call s:HL('hlLevel7', 'saltwatertaffy') +call s:HL('hlLevel8', 'dress') +call s:HL('hlLevel9', 'coffee') + +" }}} +" Vim {{{ + +call s:HL('VimCommentTitle', 'lightgravel', '', 'bold') + +call s:HL('VimMapMod', 'dress', '', 'none') +call s:HL('VimMapModKey', 'dress', '', 'none') +call s:HL('VimNotation', 'dress', '', 'none') +call s:HL('VimBracket', 'dress', '', 'none') + +" }}} + +" }}} + diff --git a/.vim/colors/goodwolf.vim b/.vim/colors/goodwolf.vim new file mode 100644 index 0000000..61d24e0 --- /dev/null +++ b/.vim/colors/goodwolf.vim @@ -0,0 +1,523 @@ +" _ _ __ +" | | | |/ _| +" __ _ ___ ___ __| | __ _____ | | |_ +" / _` |/ _ \ / _ \ / _` | \ \ /\ / / _ \| | _| +" | (_| | (_) | (_) | (_| | \ V V / (_) | | | +" \__, |\___/ \___/ \__,_| \_/\_/ \___/|_|_| +" __/ | +" |___/ +" +" :syntax less +" +" A Vim colorscheme pieced together by Steve Losh. +" Available at http://stevelosh.com/projects/badwolf/ +" +" Supporting code ------------------------------------------------------------- +" Preamble {{{ + +if !has("gui_running") && &t_Co != 88 && &t_Co != 256 + finish +endif + +set background=dark + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name = "goodwolf" + +if !exists("g:badwolf_html_link_underline") " {{{ + let g:badwolf_html_link_underline = 1 +endif " }}} + +" }}} +" Palette {{{ + +let s:bwc = {} + +" The most basic of all our colors is a slightly tweaked version of the Molokai +" Normal text. +let s:bwc.plain = ['f8f6f2', 15] + +" Pure and simple. +let s:bwc.snow = ['ffffff', 15] +let s:bwc.coal = ['000000', 16] + +" All of the Gravel colors are based on a brown from Clouds Midnight. +let s:bwc.brightgravel = ['d9cec3', 252] +let s:bwc.lightgravel = ['998f84', 245] +let s:bwc.gravel = ['857f78', 243] +let s:bwc.mediumgravel = ['666462', 241] +let s:bwc.deepgravel = ['45413b', 238] +let s:bwc.deepergravel = ['35322d', 236] +let s:bwc.darkgravel = ['242321', 235] +let s:bwc.blackgravel = ['1c1b1a', 233] +let s:bwc.blackestgravel = ['141413', 232] + +" A color sampled from a highlight in a photo of a glass of Dale's Pale Ale on +" my desk. +let s:bwc.dalespale = ['fade3e', 221] + +" A beautiful tan from Tomorrow Night. +let s:bwc.dirtyblonde = ['f4cf86', 222] + +" Delicious, chewy red from Made of Code for the poppiest highlights. +let s:bwc.taffy = ['ff2c4b', 196] + +" Another chewy accent, but use sparingly! +let s:bwc.saltwatertaffy = ['8cffba', 121] + +" The star of the show comes straight from Made of Code. +" +" You should almost never use this. It should be used for things that denote +" 'where the user is', which basically consists of: +" +" * The cursor +" * A REPL prompt +let s:bwc.tardis = ['0a9dff', 39] + +" This one's from Mustang, not Florida! +let s:bwc.orange = ['ffa724', 214] + +" A limier green from Getafe. +let s:bwc.lime = ['aeee00', 154] + +" Rose's dress in The Idiot's Lantern. +let s:bwc.dress = ['ff9eb8', 211] + +" Another play on the brown from Clouds Midnight. I love that color. +let s:bwc.toffee = ['b88853', 137] + +" Also based on that Clouds Midnight brown. +let s:bwc.coffee = ['c7915b', 173] +let s:bwc.darkroast = ['88633f', 95] + +" }}} +" Highlighting Function {{{ +function! GoodWolfHL(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 ' + else + let c = get(s:bwc, 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 ' + else + let c = get(s:bwc, a:1) + let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' + endif + endif + + if a:0 >= 2 && strlen(a:2) + let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' + endif + + if a:0 >= 3 && strlen(a:3) + let c = get(s:bwc, a:3) + let histring .= 'guisp=#' . c[0] . ' ' + endif + + execute histring +endfunction + +" }}} +" Configuration Options {{{ + +if exists('g:badwolf_darkgutter') && g:badwolf_darkgutter + let s:gutter = 'blackestgravel' +else + let s:gutter = 'blackgravel' +endif + +if exists('g:badwolf_tabline') + if g:badwolf_tabline == 0 + let s:tabline = 'blackestgravel' + elseif g:badwolf_tabline == 1 + let s:tabline = 'blackgravel' + elseif g:badwolf_tabline == 2 + let s:tabline = 'darkgravel' + elseif g:badwolf_tabline == 3 + let s:tabline = 'deepgravel' + else + let s:tabline = 'blackestgravel' + endif +else + let s:tabline = 'blackgravel' +endif + +" }}} + +" Actual colorscheme ---------------------------------------------------------- +" Vanilla Vim {{{ + +" General/UI {{{ + +" call GoodWolfHL('Normal', 'plain', 'blackgravel') +call GoodWolfHL('Normal', 'plain', 'blackestgravel') + +call GoodWolfHL('Folded', 'mediumgravel', 'bg', 'none') + +call GoodWolfHL('VertSplit', 'lightgravel', 'bg', 'none') + +call GoodWolfHL('CursorLine', '', 'darkgravel', 'none') +call GoodWolfHL('CursorColumn', '', 'darkgravel') +call GoodWolfHL('ColorColumn', '', 'darkgravel') + +call GoodWolfHL('TabLine', 'plain', s:tabline, 'none') +call GoodWolfHL('TabLineFill', 'plain', s:tabline, 'none') +call GoodWolfHL('TabLineSel', 'coal', 'tardis', 'none') + +call GoodWolfHL('MatchParen', 'dalespale', 'darkgravel', 'bold') + +call GoodWolfHL('NonText', 'deepgravel', 'bg') +call GoodWolfHL('SpecialKey', 'deepgravel', 'bg') + +call GoodWolfHL('Visual', '', 'deepgravel') +call GoodWolfHL('VisualNOS', '', 'deepgravel') + +call GoodWolfHL('Search', 'coal', 'dalespale', 'bold') +call GoodWolfHL('IncSearch', 'coal', 'tardis', 'bold') + +call GoodWolfHL('Underlined', 'fg', '', 'underline') + +call GoodWolfHL('StatusLine', 'coal', 'tardis', 'bold') +call GoodWolfHL('StatusLineNC', 'snow', 'deepgravel', 'none') + +call GoodWolfHL('Directory', 'dirtyblonde', '', 'bold') + +call GoodWolfHL('Title', 'lime') + +call GoodWolfHL('ErrorMsg', 'taffy', 'bg', 'bold') +call GoodWolfHL('MoreMsg', 'dalespale', '', 'bold') +call GoodWolfHL('ModeMsg', 'dirtyblonde', '', 'bold') +call GoodWolfHL('Question', 'dirtyblonde', '', 'bold') +call GoodWolfHL('WarningMsg', 'dress', '', 'bold') + +" This is a ctags tag, not an HTML one. 'Something you can use c-] on'. +call GoodWolfHL('Tag', '', '', 'bold') + +" }}} +" Gutter {{{ + +call GoodWolfHL('LineNr', 'mediumgravel', s:gutter) +call GoodWolfHL('SignColumn', '', s:gutter) +call GoodWolfHL('FoldColumn', 'mediumgravel', s:gutter) + +" }}} +" Cursor {{{ + +call GoodWolfHL('Cursor', 'coal', 'tardis', 'bold') +call GoodWolfHL('vCursor', 'coal', 'tardis', 'bold') +call GoodWolfHL('iCursor', 'coal', 'tardis', 'none') + +" }}} +" Syntax highlighting {{{ + +" Start with a simple base. +call GoodWolfHL('Special', 'plain') + +" Comments are slightly brighter than folds, to make 'headers' easier to see. +call GoodWolfHL('Comment', 'gravel', 'bg', 'none') +call GoodWolfHL('Todo', 'snow', 'bg', 'bold') +call GoodWolfHL('SpecialComment', 'snow', 'bg', 'bold') + +" Strings are highlighted separately. +call GoodWolfHL('String', 'lightgravel', '', 'bold') + +" Turn off everything else +call GoodWolfHL('Statement', 'plain', '', 'none') +call GoodWolfHL('Keyword', 'plain', '', 'none') +call GoodWolfHL('Conditional', 'plain', '', 'none') +call GoodWolfHL('Operator', 'plain', '', 'none') +call GoodWolfHL('Label', 'plain', '', 'none') +call GoodWolfHL('Repeat', 'plain', '', 'none') +call GoodWolfHL('Identifier', 'plain', '', 'none') +call GoodWolfHL('Function', 'plain', '', 'none') +call GoodWolfHL('PreProc', 'plain', '', 'none') +call GoodWolfHL('Macro', 'plain', '', 'none') +call GoodWolfHL('Define', 'plain', '', 'none') +call GoodWolfHL('PreCondit', 'plain', '', 'none') +call GoodWolfHL('Constant', 'plain', '', 'none') +call GoodWolfHL('Character', 'plain', '', 'none') +call GoodWolfHL('Boolean', 'plain', '', 'none') +call GoodWolfHL('Number', 'plain', '', 'none') +call GoodWolfHL('Float', 'plain', '', 'none') +call GoodWolfHL('Type', 'plain', '', 'none') +call GoodWolfHL('StorageClass', 'plain', '', 'none') +call GoodWolfHL('Structure', 'plain', '', 'none') +call GoodWolfHL('Typedef', 'plain', '', 'none') +call GoodWolfHL('Exception', 'plain', '', 'none') + +" Not sure what 'special character in a constant' means, but let's make it pop. +call GoodWolfHL('SpecialChar', 'plain', '', 'bold') + +" Misc +call GoodWolfHL('Error', 'snow', 'taffy', 'bold') +call GoodWolfHL('Debug', 'snow', '', 'bold') +call GoodWolfHL('Ignore', 'gravel', '', '') + +" }}} +" Completion Menu {{{ + +call GoodWolfHL('Pmenu', 'plain', 'deepergravel') +call GoodWolfHL('PmenuSel', 'coal', 'tardis', 'bold') +call GoodWolfHL('PmenuSbar', '', 'deepergravel') +call GoodWolfHL('PmenuThumb', 'brightgravel') + +" }}} +" Diffs {{{ + +call GoodWolfHL('DiffDelete', 'coal', 'coal') +call GoodWolfHL('DiffAdd', '', 'deepergravel') +call GoodWolfHL('DiffChange', '', 'darkgravel') +call GoodWolfHL('DiffText', 'snow', 'deepergravel', 'bold') + +" }}} +" Spelling {{{ + +if has("spell") + call GoodWolfHL('SpellCap', 'dalespale', 'bg', 'undercurl,bold', 'dalespale') + call GoodWolfHL('SpellBad', '', 'bg', 'undercurl', 'dalespale') + call GoodWolfHL('SpellLocal', '', '', 'undercurl', 'dalespale') + call GoodWolfHL('SpellRare', '', '', 'undercurl', 'dalespale') +endif + +" }}} +" Status Line Utils {{{ + +call GoodWolfHL('GWStatusLineMode', 'coal', 'lime') +call GoodWolfHL('GWStatusLineModeX', 'lime', 'deepergravel') + + +" }}} + +" }}} +" Plugins {{{ + +" Clam {{{ + +" hg status +call GoodWolfHL('clamHgStatusAdded', 'lime', '', 'none') +call GoodWolfHL('clamHgStatusModified', 'saltwatertaffy', '', 'none') +call GoodWolfHL('clamHgStatusRemoved', 'toffee', '', 'none') +call GoodWolfHL('clamHgStatusUnknown', 'taffy', '', 'bold') + +" }}} +" CtrlP {{{ + +" the message when no match is found +call GoodWolfHL('CtrlPNoEntries', 'snow', 'taffy', 'bold') + +" the matched pattern +call GoodWolfHL('CtrlPMatch', 'dress', 'bg', 'bold') + +" the line prefix '>' in the match window +call GoodWolfHL('CtrlPLinePre', 'deepgravel', 'bg', 'none') + +" the prompt’s base +call GoodWolfHL('CtrlPPrtBase', 'deepgravel', 'bg', 'none') + +" the prompt’s text +call GoodWolfHL('CtrlPPrtText', 'plain', 'bg', 'none') + +" the prompt’s cursor when moving over the text +call GoodWolfHL('CtrlPPrtCursor', 'coal', 'tardis', 'bold') + +" 'prt' or 'win', also for 'regex' +call GoodWolfHL('CtrlPMode1', 'coal', 'tardis', 'bold') + +" 'file' or 'path', also for the local working dir +call GoodWolfHL('CtrlPMode2', 'coal', 'tardis', 'bold') + +" the scanning status +call GoodWolfHL('CtrlPStats', 'coal', 'tardis', 'bold') + +" }}} +" Interesting Words {{{ + +" These are only used if you're me or have copied the hNUM mappings +" from my Vimrc. +call GoodWolfHL('InterestingWord1', 'coal', 'orange') +call GoodWolfHL('InterestingWord2', 'coal', 'lime') +call GoodWolfHL('InterestingWord3', 'coal', 'saltwatertaffy') +call GoodWolfHL('InterestingWord4', 'coal', 'toffee') +call GoodWolfHL('InterestingWord5', 'coal', 'dress') +call GoodWolfHL('InterestingWord6', 'coal', 'taffy') + +" }}} +" Rainbow Parentheses {{{ + +call GoodWolfHL('level1c', 'mediumgravel', '', 'bold') + +" }}} + +" }}} +" Filetype-specific {{{ + +" Clojure {{{ + +call GoodWolfHL('clojureParen0', 'lightgravel', '', 'none') +call GoodWolfHL('clojureAnonArg', 'snow', '', 'bold') + +" }}} +" CSS {{{ + +call GoodWolfHL('cssBraces', 'lightgravel', '', 'none') + +" }}} +" Diff {{{ + +call GoodWolfHL('gitDiff', 'lightgravel', '',) + +call GoodWolfHL('diffRemoved', 'dress', '',) +call GoodWolfHL('diffAdded', 'lime', '',) +call GoodWolfHL('diffFile', 'coal', 'toffee', 'bold') +call GoodWolfHL('diffNewFile', 'coal', 'toffee', 'bold') + +call GoodWolfHL('diffLine', 'coal', 'orange', 'bold') +call GoodWolfHL('diffSubname', 'orange', '', 'none') + +" }}} +" HTML {{{ + +" Punctuation +call GoodWolfHL('htmlTag', 'darkroast', 'bg', 'none') +call GoodWolfHL('htmlEndTag', 'darkroast', 'bg', 'none') + +" Tag names +call GoodWolfHL('htmlTagName', 'coffee', '', 'bold') +call GoodWolfHL('htmlSpecialTagName', 'coffee', '', 'bold') +call GoodWolfHL('htmlSpecialChar', 'lime', '', 'none') + +" Attributes +call GoodWolfHL('htmlArg', 'coffee', '', 'none') + +" Stuff inside an tag + +if g:badwolf_html_link_underline + call GoodWolfHL('htmlLink', 'lightgravel', '', 'underline') +else + call GoodWolfHL('htmlLink', 'lightgravel', '', 'none') +endif + +" }}} +" Java {{{ + +call GoodWolfHL('javaCommentTitle', 'gravel', '') +call GoodWolfHL('javaDocTags', 'snow', '', 'none') +call GoodWolfHL('javaDocParam', 'plain', '', '') + +" }}} +" LaTeX {{{ + +call GoodWolfHL('texStatement', 'dress', '', 'none') +call GoodWolfHL('texDocType', 'dress', '', 'none') +call GoodWolfHL('texSection', 'dress', '', 'none') +call GoodWolfHL('texBeginEnd', 'dress', '', 'none') + +call GoodWolfHL('texMathZoneX', 'orange', '', 'none') +call GoodWolfHL('texMathZoneA', 'orange', '', 'none') +call GoodWolfHL('texMathZoneB', 'orange', '', 'none') +call GoodWolfHL('texMathZoneC', 'orange', '', 'none') +call GoodWolfHL('texMathZoneD', 'orange', '', 'none') +call GoodWolfHL('texMathZoneE', 'orange', '', 'none') +call GoodWolfHL('texMathZoneV', 'orange', '', 'none') +call GoodWolfHL('texMathZoneX', 'orange', '', 'none') +call GoodWolfHL('texMath', 'orange', '', 'none') +call GoodWolfHL('texMathMatcher', 'orange', '', 'none') +call GoodWolfHL('texRefLabel', 'dirtyblonde', '', 'none') +call GoodWolfHL('texRefZone', 'lime', '', 'none') +call GoodWolfHL('texDelimiter', 'orange', '', 'none') +call GoodWolfHL('texZone', 'brightgravel', '', 'none') + +augroup badwolf_tex + au! + + au BufRead,BufNewFile *.tex syn region texMathZoneV start="\\(" end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup + au BufRead,BufNewFile *.tex syn region texMathZoneX start="\$" skip="\\\\\|\\\$" end="\$\|%stopzone\>" keepend contains=@texMathZoneGroup +augroup END + +" }}} +" REPLs {{{ +" This isn't a specific plugin, but just useful highlight classes for anything +" that might want to use them. + +call GoodWolfHL('replPrompt', 'tardis', '', 'bold') + +" }}} +" Mail {{{ + +call GoodWolfHL('mailSubject', 'orange', '', 'bold') +call GoodWolfHL('mailHeader', 'lightgravel', '', '') +call GoodWolfHL('mailHeaderKey', 'lightgravel', '', '') +call GoodWolfHL('mailHeaderEmail', 'snow', '', '') +call GoodWolfHL('mailURL', 'toffee', '', 'underline') +call GoodWolfHL('mailSignature', 'gravel', '', 'none') + +call GoodWolfHL('mailQuoted1', 'gravel', '', 'none') +call GoodWolfHL('mailQuoted2', 'dress', '', 'none') +call GoodWolfHL('mailQuoted3', 'dirtyblonde', '', 'none') +call GoodWolfHL('mailQuoted4', 'orange', '', 'none') +call GoodWolfHL('mailQuoted5', 'lime', '', 'none') + +" }}} +" Markdown {{{ + +call GoodWolfHL('markdownHeadingRule', 'lightgravel', '', 'bold') +call GoodWolfHL('markdownHeadingDelimiter', 'lightgravel', '', 'bold') +call GoodWolfHL('markdownOrderedListMarker', 'lightgravel', '', 'bold') +call GoodWolfHL('markdownListMarker', 'lightgravel', '', 'bold') +call GoodWolfHL('markdownItalic', 'snow', '', 'bold') +call GoodWolfHL('markdownBold', 'snow', '', 'bold') +call GoodWolfHL('markdownH1', 'orange', '', 'bold') +call GoodWolfHL('markdownH2', 'lime', '', 'bold') +call GoodWolfHL('markdownH3', 'lime', '', 'none') +call GoodWolfHL('markdownH4', 'lime', '', 'none') +call GoodWolfHL('markdownH5', 'lime', '', 'none') +call GoodWolfHL('markdownH6', 'lime', '', 'none') +call GoodWolfHL('markdownLinkText', 'toffee', '', 'underline') +call GoodWolfHL('markdownIdDeclaration', 'toffee') +call GoodWolfHL('markdownAutomaticLink', 'toffee', '', 'bold') +call GoodWolfHL('markdownUrl', 'toffee', '', 'bold') +call GoodWolfHL('markdownUrldelimiter', 'lightgravel', '', 'bold') +call GoodWolfHL('markdownLinkDelimiter', 'lightgravel', '', 'bold') +call GoodWolfHL('markdownLinkTextDelimiter', 'lightgravel', '', 'bold') +call GoodWolfHL('markdownCodeDelimiter', 'dirtyblonde', '', 'bold') +call GoodWolfHL('markdownCode', 'dirtyblonde', '', 'none') +call GoodWolfHL('markdownCodeBlock', 'dirtyblonde', '', 'none') + +" }}} +" Python {{{ + +hi def link pythonOperator Operator +call GoodWolfHL('pythonBuiltin', 'plain') +call GoodWolfHL('pythonBuiltinObj', 'plain') +call GoodWolfHL('pythonBuiltinFunc', 'plain') +call GoodWolfHL('pythonEscape', 'plain') +call GoodWolfHL('pythonException', 'plain', '', 'none') +call GoodWolfHL('pythonExceptions', 'plain', '', 'none') +call GoodWolfHL('pythonPrecondit', 'plain', '', 'none') +call GoodWolfHL('pythonDecorator', 'plain', '', 'none') +call GoodWolfHL('pythonRun', 'plain', '', 'none') +call GoodWolfHL('pythonCoding', 'plain', '', 'bold') + +" }}} +" Vim {{{ + +call GoodWolfHL('helpHyperTextJump', 'dress', '', 'none') + +" }}} + +" }}} + + diff --git a/.vim/colors/ps_color.vim b/.vim/colors/ps_color.vim new file mode 100644 index 0000000..0aea4f1 --- /dev/null +++ b/.vim/colors/ps_color.vim @@ -0,0 +1,538 @@ +" Vim colour file --- PSC +" Maintainer: Pan, Shi Zhu +" URL: http://vim.sourceforge.net/scripts/script.php?script_id=760 +" Last Change: 23 Oct 2006 +" Version: 3.00 +" +" Please prepend [VIM] in the title when writing e-mail to me, or it will +" be automatically treated as spam and removed. +" +" See the help document for all details, the help document will be +" installed after the script has been sourced once, do not open the +" script when you source it for the first time. +" + +" Initializations: {{{1 +" + +" without user_commands, all these are not possible +if !has("user_commands") + finish +end + +" Init the option to the default value if not defined by user. +function! s:init_option(var, value) + if !exists("g:psc_".a:var) + execute "let s:".a:var." = ".a:value + else + let s:{a:var} = g:psc_{a:var} + endif +endfunction +command! -nargs=+ InitOpt call s:init_option() + +" give highlight setting to multiple highlight groups, maximum 20 +function! s:multi_hi(setting, ...) + let l:idx = a:0 + while l:idx > 0 + let l:hlgroup = a:{l:idx} + execute "highlight ".l:hlgroup." ".a:setting + let l:idx = l:idx - 1 + endwhile +endfunction +command! -nargs=+ MultiHi call s:multi_hi() + +InitOpt style 'cool' +InitOpt cterm_transparent 0 +InitOpt inversed_todo 0 +InitOpt use_default_for_cterm 0 +InitOpt statement_different_from_type 0 + +if !has("gui_running") + call s:init_option("cterm_style", "'".s:style."'") + + if s:use_default_for_cterm==1 | let s:cterm_style = 'default' + elseif s:use_default_for_cterm==2 | let s:cterm_style = 'defdark' + endif +endif + + +InitOpt other_style 0 + +" WJMc had changed a version of this, however, it will messed up some features +" when the psc_style being other values than 'warm' and 'cool'. The psc_style +" is designed to accept any colorscheme name, such as 'desert'. The following +" code follows the basic principle of WJMc's code. +if &background=='light' + if has("gui_running") + if s:style=='warm' || s:style=='default' + " nothing to do + elseif s:style=='cool' + let s:style = 'warm' + elseif s:style=='defdark' + let s:style = 'default' + else + let s:other_style = 1 + endif + else + if s:cterm_style=='cool' || s:cterm_style=='defdark' || s:cterm_style=='warm' + let s:cterm_style='default' + elseif s:cterm_style=='default' + " nothing to do + else + let s:other_style = 1 + endif + endif +elseif &background=='dark' + if s:style=='warm' + let s:style = 'cool' + elseif s:style=='default' + let s:style = 'defdark' + elseif s:style=='cool' || s:style=='defdark' + " nothing to do + else + let s:other_style = 1 + endif + let s:cterm_style = s:style +else + echo "unrecognized background=" &background ", ps_color halt.\n" + finish +endif + +" This should be after the style mangling +if s:style == 'warm' + InitOpt fontface 'mixed' +else + InitOpt fontface 'plain' +endif + + +" === Traditional Color Scheme script starts here. === +highlight clear + +if exists("syntax_on") + syntax reset +endif + +let s:color_name = expand(":t:r") + +if s:other_style==0 + let g:colors_name = s:color_name + " Go from console version to gui, the color scheme should be sourced again + execute "autocmd TermChanged * if g:colors_name == '".s:color_name."' | " + \."colo ".s:color_name." | endif" +else + execute "runtime colors/".s:style.".vim" +endif + +" Command to go different schemes easier. +" This is a multi-purpose command, might be a poor design. +" WJMc had a change for this, but the 'reloaded' style and other colorscheme +" cannot be launched that way. +execute "command! -nargs=1 Colo if '".s:color_name."'!=\"\" |". + \'let g:psc_style = ""| endif |'. + \'if g:psc_style=="warm" | set background=light | endif |'. + \'if g:psc_style=="cool" | set background=dark | endif |'. + \'colo '.s:color_name + +" Give control to 'reloaded' scheme if possible +if s:style == 'reloaded' + finish +endif + +" }}}1 + +" Relevant Help: +" :h highlight-groups +" :h psc-cterm-color-table +" :ru syntax/hitest.vim +" +" Hard coded Colors Comment: +" #aabbcc = Red aa, Green bb, Blue cc +" we must use hard-coded colours to get more 'tender' colours +" + + +" GUI: +" +" I don't want to abuse folding, but here folding is used to avoid confusion. +if s:style=='warm' + " Warm style for gui here {{{2 + " LIGHT COLOR DEFINE START + + highlight Normal guifg=#000000 guibg=#e0e0e0 + highlight Search guifg=NONE guibg=#f8f8f8 + highlight Visual guifg=NONE guibg=#a6caf0 + highlight Cursor guifg=#f0f0f0 guibg=#008000 + " The idea of CursorIM is pretty good, however, the feature is still buggy + " in the current version (Vim 7.0). + " The following line will be kept commented until the bug fixed. + " + " highlight CursorIM guifg=#f0f0f0 guibg=#800080 + highlight Special guifg=#907000 guibg=NONE + highlight Comment guifg=#606000 guibg=NONE + highlight Number guifg=#907000 guibg=NONE + highlight Constant guifg=#007068 guibg=NONE + highlight StatusLine guifg=fg guibg=#a6caf0 + highlight LineNr guifg=#686868 guibg=NONE + highlight Question guifg=fg guibg=#d0d090 + highlight PreProc guifg=#009030 guibg=NONE + if s:statement_different_from_type==1 + highlight Statement guifg=#4020a0 guibg=NONE + else + highlight Statement guifg=#2060a8 guibg=NONE + endif + highlight Type guifg=#0850a0 guibg=NONE + if s:inversed_todo==1 + highlight Todo guifg=#e0e090 guibg=#000080 + else + highlight Todo guifg=#800000 guibg=#e0e090 + endif + " NOTE THIS IS IN THE WARM SECTION + highlight Error guifg=#c03000 guibg=NONE + highlight Identifier guifg=#a030a0 guibg=NONE + highlight ModeMsg guifg=fg guibg=#b0b0e0 + highlight VisualNOS guifg=fg guibg=#b0b0e0 + highlight SpecialKey guifg=#1050a0 guibg=NONE + highlight NonText guifg=#002090 guibg=#d0d0d0 + highlight Directory guifg=#a030a0 guibg=NONE + highlight ErrorMsg guifg=fg guibg=#f0b090 + highlight MoreMsg guifg=#489000 guibg=NONE + highlight Title guifg=#a030a0 guibg=NONE + highlight WarningMsg guifg=#b02000 guibg=NONE + highlight WildMenu guifg=fg guibg=#d0d090 + highlight Folded guifg=NONE guibg=#b0e0b0 + highlight FoldColumn guifg=fg guibg=#90e090 + highlight DiffAdd guifg=NONE guibg=#b0b0e0 + highlight DiffChange guifg=NONE guibg=#e0b0e0 + highlight DiffDelete guifg=#002090 guibg=#d0d0d0 + highlight DiffText guifg=NONE guibg=#c0e080 + highlight SignColumn guifg=fg guibg=#90e090 + highlight IncSearch guifg=#f0f0f0 guibg=#806060 + highlight StatusLineNC guifg=fg guibg=#c0c0c0 + highlight VertSplit guifg=fg guibg=#c0c0c0 + highlight Underlined guifg=#6a5acd guibg=NONE gui=underline + highlight Ignore guifg=bg guibg=NONE + " NOTE THIS IS IN THE WARM SECTION + if v:version >= 700 + if has('spell') + highlight SpellBad guifg=NONE guibg=NONE guisp=#c03000 + highlight SpellCap guifg=NONE guibg=NONE guisp=#2060a8 + highlight SpellRare guifg=NONE guibg=NONE guisp=#a030a0 + highlight SpellLocal guifg=NONE guibg=NONE guisp=#007068 + endif + highlight Pmenu guifg=fg guibg=#e0b0e0 + highlight PmenuSel guifg=#f0f0f0 guibg=#806060 + highlight PmenuSbar guifg=fg guibg=#c0c0c0 + highlight PmenuThumb guifg=fg guibg=#c0e080 + highlight TabLine guifg=fg guibg=#c0c0c0 gui=underline + highlight TabLineFill guifg=fg guibg=#c0c0c0 gui=underline + highlight TabLineSel guifg=fg guibg=NONE + highlight CursorColumn guifg=NONE guibg=#f0b090 + highlight CursorLine guifg=NONE guibg=NONE gui=underline + highlight MatchParen guifg=NONE guibg=#c0e080 + endif + + " LIGHT COLOR DEFINE END + " }}}2 +elseif s:style=='cool' + " Cool style for gui here {{{2 + " DARK COLOR DEFINE START + + highlight Normal guifg=#d0d0d0 guibg=#202020 + highlight Comment guifg=#d0d090 guibg=NONE + highlight Constant guifg=#80c0e0 guibg=NONE + highlight Number guifg=#e0c060 guibg=NONE + highlight Identifier guifg=#f0c0f0 guibg=NONE + if s:statement_different_from_type==1 + highlight Statement guifg=#98a8f0 guibg=NONE + else + highlight Statement guifg=#c0d8f8 guibg=NONE + endif + highlight PreProc guifg=#60f080 guibg=NONE + highlight Type guifg=#b0d0f0 guibg=NONE + highlight Special guifg=#e0c060 guibg=NONE + highlight Error guifg=#f08060 guibg=NONE + if s:inversed_todo==1 + highlight Todo guifg=#d0d090 guibg=#000080 + else + highlight Todo guifg=#800000 guibg=#d0d090 + endif + highlight Search guifg=NONE guibg=#800000 + highlight Visual guifg=#000000 guibg=#a6caf0 + highlight Cursor guifg=#000000 guibg=#00f000 + " NOTE THIS IS IN THE COOL SECTION + " highlight CursorIM guifg=#000000 guibg=#f000f0 + highlight StatusLine guifg=#000000 guibg=#a6caf0 + highlight LineNr guifg=#b0b0b0 guibg=NONE + highlight Question guifg=#000000 guibg=#d0d090 + highlight ModeMsg guifg=fg guibg=#000080 + highlight VisualNOS guifg=fg guibg=#000080 + highlight SpecialKey guifg=#b0d0f0 guibg=NONE + highlight NonText guifg=#6080f0 guibg=#101010 + highlight Directory guifg=#80c0e0 guibg=NONE + highlight ErrorMsg guifg=#d0d090 guibg=#800000 + highlight MoreMsg guifg=#c0e080 guibg=NONE + highlight Title guifg=#f0c0f0 guibg=NONE + highlight WarningMsg guifg=#f08060 guibg=NONE + highlight WildMenu guifg=#000000 guibg=#d0d090 + highlight Folded guifg=NONE guibg=#004000 + highlight FoldColumn guifg=#e0e0e0 guibg=#008000 + highlight DiffAdd guifg=NONE guibg=#000080 + highlight DiffChange guifg=NONE guibg=#800080 + highlight DiffDelete guifg=#6080f0 guibg=#202020 + highlight DiffText guifg=#000000 guibg=#c0e080 + highlight SignColumn guifg=#e0e0e0 guibg=#008000 + highlight IncSearch guifg=#000000 guibg=#d0d0d0 + highlight StatusLineNC guifg=#000000 guibg=#c0c0c0 + highlight VertSplit guifg=#000000 guibg=#c0c0c0 + highlight Underlined guifg=#80a0ff guibg=NONE gui=underline + highlight Ignore guifg=#000000 guibg=NONE + " NOTE THIS IS IN THE COOL SECTION + if v:version >= 700 + if has('spell') + highlight SpellBad guifg=NONE guibg=NONE guisp=#f08060 + highlight SpellCap guifg=NONE guibg=NONE guisp=#6080f0 + highlight SpellRare guifg=NONE guibg=NONE guisp=#f0c0f0 + highlight SpellLocal guifg=NONE guibg=NONE guisp=#c0d8f8 + endif + highlight Pmenu guifg=fg guibg=#800080 + highlight PmenuSel guifg=#000000 guibg=#d0d0d0 + highlight PmenuSbar guifg=fg guibg=#000080 + highlight PmenuThumb guifg=fg guibg=#008000 + highlight TabLine guifg=fg guibg=#008000 gui=underline + highlight TabLineFill guifg=fg guibg=#008000 gui=underline + highlight TabLineSel guifg=fg guibg=NONE + highlight CursorColumn guifg=NONE guibg=#800000 + highlight CursorLine guifg=NONE guibg=NONE gui=underline + highlight MatchParen guifg=NONE guibg=#800080 + endif + + " DARK COLOR DEFINE END + " }}}2 +elseif s:style=='defdark' + highlight Normal guifg=#f0f0f0 guibg=#000000 +endif + +" Take NT gui for example, If you want to use a console font such as +" Lucida_Console with font size larger than 14, the font looks already thick, +" and the bold font for that will be too thick, you may not want it be bold. +" The following code does this. +" +" All of the bold font may be disabled, since continuously switching between +" bold and plain font hurts consistency and will inevitably fatigue your eye! + +" Maximum 20 parameters for vim script function +" +MultiHi gui=NONE ModeMsg Search Cursor Special Comment Constant Number LineNr Question PreProc Statement Type Todo Error Identifier Normal + +MultiHi gui=NONE VisualNOS SpecialKey NonText Directory ErrorMsg MoreMsg Title WarningMsg WildMenu Folded FoldColumn DiffAdd DiffChange DiffDelete DiffText SignColumn + +" Vim 7 added stuffs +if v:version >= 700 + MultiHi gui=NONE Ignore PmenuSel PmenuSel PmenuSbar PmenuThumb TabLine TabLineFill TabLineSel + + " the gui=undercurl guisp could only support in Vim 7 + if has('spell') + MultiHi gui=undercurl SpellBad SpellCap SpellRare SpellLocal + endif + if s:style=="cool" || s:style=="warm" + MultiHi gui=underline TabLine TabLineFill Underlined CursorLine + else + MultiHi gui=underline TabLine Underlined + endif +endif + +" For reversed stuffs +MultiHi gui=NONE IncSearch StatusLine StatusLineNC VertSplit Visual + +if s:style=="cool" || s:style=="warm" + if s:fontface=="mixed" + MultiHi gui=bold IncSearch StatusLine StatusLineNC VertSplit Visual + endif +else + if s:fontface=="mixed" + hi StatusLine gui=bold,reverse + else + hi StatusLine gui=reverse + endif + MultiHi gui=reverse IncSearch StatusLineNC VertSplit Visual +endif + +" Enable the bold style +if s:fontface=="mixed" + MultiHi gui=bold Question DiffText Statement Type MoreMsg ModeMsg NonText Title VisualNOS DiffDelete TabLineSel +endif + + + + +" Color Term: + +" It's not quite possible to support 'cool' and 'warm' simultaneously, since +" we cannot expect a terminal to have more than 16 color names. +" + +" I assume Vim will never go to cterm mode when has("gui_running") returns 1, +" Please enlighten me if I am wrong. +" +if !has('gui_running') + " cterm settings {{{1 + if s:cterm_style=='cool' + + if s:cterm_transparent + highlight Normal ctermfg=LightGrey ctermbg=NONE + highlight Special ctermfg=Yellow ctermbg=NONE + highlight Comment ctermfg=DarkYellow ctermbg=NONE + highlight Constant ctermfg=Blue ctermbg=NONE + highlight Number ctermfg=Yellow ctermbg=NONE + highlight LineNr ctermfg=DarkGrey ctermbg=NONE + highlight PreProc ctermfg=Green ctermbg=NONE + highlight Statement ctermfg=Cyan ctermbg=NONE + highlight Type ctermfg=Cyan ctermbg=NONE + highlight Error ctermfg=Red ctermbg=NONE + highlight Identifier ctermfg=Magenta ctermbg=NONE + highlight SpecialKey ctermfg=Cyan ctermbg=NONE + highlight NonText ctermfg=Blue ctermbg=NONE + highlight Directory ctermfg=Blue ctermbg=NONE + highlight MoreMsg ctermfg=Green ctermbg=NONE + highlight Title ctermfg=Magenta ctermbg=NONE + highlight WarningMsg ctermfg=Red ctermbg=NONE + highlight DiffDelete ctermfg=Blue ctermbg=NONE + else + highlight Normal ctermfg=LightGrey ctermbg=Black + highlight Special ctermfg=Yellow ctermbg=bg + highlight Comment ctermfg=DarkYellow ctermbg=bg + highlight Constant ctermfg=Blue ctermbg=bg + highlight Number ctermfg=Yellow ctermbg=bg + highlight LineNr ctermfg=DarkGrey ctermbg=bg + highlight PreProc ctermfg=Green ctermbg=bg + highlight Statement ctermfg=Cyan ctermbg=bg + highlight Type ctermfg=Cyan ctermbg=bg + highlight Error ctermfg=Red ctermbg=bg + highlight Identifier ctermfg=Magenta ctermbg=bg + highlight SpecialKey ctermfg=Cyan ctermbg=bg + highlight NonText ctermfg=Blue ctermbg=bg + highlight Directory ctermfg=Blue ctermbg=bg + highlight MoreMsg ctermfg=Green ctermbg=bg + highlight Title ctermfg=Magenta ctermbg=bg + highlight WarningMsg ctermfg=Red ctermbg=bg + highlight DiffDelete ctermfg=Blue ctermbg=bg + endif + highlight Search ctermfg=NONE ctermbg=DarkRed + highlight Visual ctermfg=Black ctermbg=DarkCyan + highlight Cursor ctermfg=Black ctermbg=Green + highlight StatusLine ctermfg=Black ctermbg=DarkCyan + highlight Question ctermfg=Black ctermbg=DarkYellow + if s:inversed_todo==0 + highlight Todo ctermfg=DarkRed ctermbg=DarkYellow + else + highlight Todo ctermfg=DarkYellow ctermbg=DarkBlue + endif + highlight Folded ctermfg=White ctermbg=DarkGreen + highlight ModeMsg ctermfg=Grey ctermbg=DarkBlue + highlight VisualNOS ctermfg=Grey ctermbg=DarkBlue + highlight ErrorMsg ctermfg=DarkYellow ctermbg=DarkRed + highlight WildMenu ctermfg=Black ctermbg=DarkYellow + highlight FoldColumn ctermfg=White ctermbg=DarkGreen + highlight SignColumn ctermfg=White ctermbg=DarkGreen + highlight DiffText ctermfg=Black ctermbg=DarkYellow + + if v:version >= 700 + if has('spell') + highlight SpellBad ctermfg=NONE ctermbg=DarkRed + highlight SpellCap ctermfg=NONE ctermbg=DarkBlue + highlight SpellRare ctermfg=NONE ctermbg=DarkMagenta + highlight SpellLocal ctermfg=NONE ctermbg=DarkGreen + endif + highlight Pmenu ctermfg=fg ctermbg=DarkMagenta + highlight PmenuSel ctermfg=Black ctermbg=fg + highlight PmenuSbar ctermfg=fg ctermbg=DarkBlue + highlight PmenuThumb ctermfg=fg ctermbg=DarkGreen + highlight TabLine ctermfg=fg ctermbg=DarkGreen cterm=underline + highlight TabLineFill ctermfg=fg ctermbg=DarkGreen cterm=underline + highlight CursorColumn ctermfg=NONE ctermbg=DarkRed + if s:cterm_transparent + highlight TabLineSel ctermfg=fg ctermbg=NONE + highlight CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + else + highlight TabLineSel ctermfg=fg ctermbg=bg + highlight CursorLine ctermfg=NONE ctermbg=bg cterm=underline + endif + highlight MatchParen ctermfg=NONE ctermbg=DarkMagenta + endif + if &t_Co==8 + " 8 colour terminal support, this assumes 16 colour is available through + " setting the 'bold' attribute, will get bright foreground colour. + " However, the bright background color is not available for 8-color terms. + " + " You can manually set t_Co=16 in your .vimrc to see if your terminal + " supports 16 colours, + MultiHi cterm=none DiffText Visual Cursor Comment Todo StatusLine Question DiffChange ModeMsg VisualNOS ErrorMsg WildMenu DiffAdd Folded DiffDelete Normal PmenuThumb + MultiHi cterm=bold Search Special Constant Number LineNr PreProc Statement Type Error Identifier SpecialKey NonText MoreMsg Title WarningMsg FoldColumn SignColumn Directory DiffDelete + + else + " Background > 7 is only available with 16 or more colors + + " Only use the s:fontface option when there is 16-colour(or more) + " terminal support + + MultiHi cterm=none WarningMsg Search Visual Cursor Special Comment Constant Number LineNr PreProc Todo Error Identifier Folded SpecialKey Directory ErrorMsg Normal PmenuThumb + MultiHi cterm=none WildMenu FoldColumn SignColumn DiffAdd DiffChange Question StatusLine DiffText + MultiHi cterm=reverse IncSearch StatusLineNC VertSplit + + " Well, well, bold font with color 0-7 is not possible. + " So, the Question, StatusLine, DiffText cannot act as expected. + + call s:multi_hi("cterm=".((s:fontface=="plain") ? "none" : "bold"), "Statement", "Type", "MoreMsg", "ModeMsg", "NonText", "Title", "VisualNOS", "DiffDelete", "TabLineSel") + + endif + + elseif s:cterm_style=='defdark' + highlight Normal ctermfg=LightGrey ctermbg=NONE + endif + " }}}1 +endif + + +" Term: +" For console with only 4 colours (term, not cterm), we'll use the default. +" ... +" The default colorscheme is good enough for terms with no more than 4 colours +" + + +" Links: +" +if (s:style=='cool') || (s:style == 'warm') + " COLOR LINKS DEFINE START + + highlight link String Constant + " Character must be different from strings because in many languages + " (especially C, C++) a 'char' variable is scalar while 'string' is pointer, + " mistaken a 'char' for a 'string' will cause disaster! + highlight link Character Number + highlight link SpecialChar LineNr + highlight link Tag Identifier + " The following are not standard hi links, + " these are used by DrChip + highlight link Warning MoreMsg + highlight link Notice Constant + " these are used by Calendar + highlight link CalToday PreProc + " these are used by TagList + highlight link MyTagListTagName IncSearch + highlight link MyTagListTagScope Constant + + " COLOR LINKS DEFINE END +endif + + +" Clean: +" these clean stuffs are proved to have problem, so I removed them. +delcommand InitOpt +delcommand MultiHi +" delfunction init_option +" delfunction multi_hi + +" vim:et:nosta:sw=2:ts=8: +" vim600:fdm=marker:fdl=1: diff --git a/.vim/colors/solarized.vim b/.vim/colors/solarized.vim new file mode 100644 index 0000000..70f5223 --- /dev/null +++ b/.vim/colors/solarized.vim @@ -0,0 +1,1117 @@ +" Name: Solarized vim colorscheme +" Author: Ethan Schoonover +" 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 + amenu &Solarized.&Contrast.&Normal\ Contrast :let g:solarized_contrast="normal" \| colorscheme solarized + amenu &Solarized.&Contrast.&High\ Contrast :let g:solarized_contrast="high" \| colorscheme solarized + an &Solarized.&Contrast.-sep- + amenu &Solarized.&Contrast.&Help:\ Contrast :help 'solarized_contrast' + + amenu &Solarized.&Visibility.&Low\ Visibility :let g:solarized_visibility="low" \| colorscheme solarized + amenu &Solarized.&Visibility.&Normal\ Visibility :let g:solarized_visibility="normal" \| colorscheme solarized + amenu &Solarized.&Visibility.&High\ Visibility :let g:solarized_visibility="high" \| colorscheme solarized + an &Solarized.&Visibility.-sep- + amenu &Solarized.&Visibility.&Help:\ Visibility :help 'solarized_visibility' + + amenu &Solarized.&Background.&Toggle\ Background :ToggleBG + amenu &Solarized.&Background.&Dark\ Background :set background=dark \| colorscheme solarized + amenu &Solarized.&Background.&Light\ Background :set background=light \| colorscheme solarized + an &Solarized.&Background.-sep- + amenu &Solarized.&Background.&Help:\ ToggleBG :help togglebg + + 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" + 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" + 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" + + amenu &Solarized.&Diff\ Mode.&Low\ Diff\ Mode :let g:solarized_diffmode="low" \| colorscheme solarized + amenu &Solarized.&Diff\ Mode.&Normal\ Diff\ Mode :let g:solarized_diffmode="normal" \| colorscheme solarized + amenu &Solarized.&Diff\ Mode.&High\ Diff\ Mode :let g:solarized_diffmode="high" \| colorscheme solarized + + 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" + an &Solarized.&Experimental.-sep- + amenu &Solarized.&Experimental.&Help:\ HiTrail :help 'solarized_hitrail' + + an &Solarized.-sep1- + + amenu &Solarized.&Autogenerate\ options :SolarizedOptions + + an &Solarized.-sep2- + + amenu &Solarized.&Help.&Solarized\ Help :help solarized + amenu &Solarized.&Help.&Toggle\ Background\ Help :help togglebg + amenu &Solarized.&Help.&Removing\ This\ Menu :help solarized-menu + + an 9999.77 &Help.&Solarized\ Colorscheme :help solarized + an 9999.78 &Help.&Toggle\ Background :help togglebg + an 9999.79 &Help.-sep3- + + 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/.vim/doc/ps_color.txt b/.vim/doc/ps_color.txt new file mode 100644 index 0000000..5195685 --- /dev/null +++ b/.vim/doc/ps_color.txt @@ -0,0 +1,657 @@ +*ps_color.txt* PSC For Vim version 7.0 Last change: 23 Oct 2006 + + +PERSONAL COLOUR SWITCHER *ps_colour* *pscolor* + + +Author: Pan, Shi Zhu. + +============================================================================== +CONTENTS *psc* *psc-contents* + + 1. Contents.....................|psc-contents| + 2. PSC Overview.................|psc-overview| + 3. PSC Installation.............|psc-usage| + 4. PSC Options..................|psc-options| + 5. PSC under colour term .......|psc-cterm| + 6. PSC FAQ and Tips ............|psc-faq| + 7. PSC Release notes............|psc-release-notes| + 8. PSC Todo List................|psc-todo| + +For release notes, please see the header of ps_color.vim + +============================================================================== +PSC FEATURES OVERVIEW *psc-features* *psc-overview* + + Features ~ + + . PSC is firstly a color scheme which have both dark and light + background styles. + . It can have the same appearance in [cterm] as in [gui]. + . It is designed with gentle color to minimize fatigue of eye. + . It also works with other color schemes. + . Default foreground and background can easily be changed, it is more + configurable than most other color schemes + . Works with the optional tool reloaded.vim, can change the whole + color scheme in Hue,Saturation,Luminance color space. + + Design Concern ~ + + At the first glance this colour scheme may look pretty 'dull', don't be + afraid, this is quite normal. Bear in mind that a text editor is not + a photo album, if a text editor looks exciting you may not be able to + stare at it for a long time. + + Predefined Vim Syntax highlighting can be too colourful or contrasted so + that many programmers prefer to switch off the syntax highlighting at + work. That is not a good idea because you will lost the advantages of + syntax high-lighting. It is often the case that we have to work for + 300+ minutes, then I decide to do-it-myself. + + Many user-defined color schemes in vim.sf.net tend to achieve low + contrast by having a strong color-cast, i.e., looks blueish or + yellowish or reddish. This does look comfortable at first, however, + any type of color-cast will cause the eyes less sensitive for + particular color after a long-time work session, and that's no good to + health. + + Efforts had been made to ensure no color-cast for this scheme, all + elementary colours like RGB and CYMK are evenly used. Like TeX, + 'consistency' is the principle this color scheme based on. Default + values which hurt consistency are amended according to the vim script + syntax/hitest.vim + + There are 3 parameters to describe a color: Hue, Saturation and + Brightness. In this color scheme, the saturation is low and the + brightness are designed to be very close to each other in order not to + fatigue our eyes after a whole day's programming work. + + Portability ~ + + Different monitor settings led to different look. In this color + scheme, it is assumed that the monitor adjust at 6500k color + temperature with a good gamma curve. If you have a 9300k monitor or + if the gamma curve is not optimal, the appearance may be less + comfortable, use adobe gamma loader or similar tools to adjust + your monitor if your monitor do not have the option to change color + temperature and/or gamma curve. + + Needless to say, VI is an editor originally designed to do edit tasks + in a text terminal, and VIM is an improved version of VI. Its a shame + that a color scheme cannot have a satisfactory appearance in cterm. + The cterm compatibility should be considered high priority when + designing ViM color scheme. + + I had made much attempt to make support for 8-color terminals, + however, 8 colours is not enough to represent a color scheme. Finally + I end up making the cterm support for 16-color terminal. Have to say + sorry if the color scheme sucks in your 8-color terminal, I had tried + my best. More details about cterm please see |psc-cterm|. + + *psc-about-background* + About the Background ~ + + We have talked about off-white backgrounds, any background which is + not black, grey or white should be changed constantly in order not to + make the eyes less sensitive to particular color. i.e., you can use + blue background on Monday, red background on Tuesday, green background + on Wednesday, but if you use blue background everyday, that's no good + to your health. + + Now we talk about the brightness of the background. Why dark + background is preferred over others? There are many reasons, such as, + the monitor emits lower radiation for black background. You may have + lots of similar reasons... + + But I'll talk about something you may not know: +> + It is easier to distinguish foreground colours on a dark background + than on a light background. + + At the same time, it is easier to distinguish background colours on + a light background than on a dark background. + + We will mainly change foreground colours for syntax highlighting. +< + Hence, we can reduce the contrast and saturation of the color in + a dark-background scheme, while retain the readability. Schemes with + white background usually comes with higher contrast and saturation. + This is probably the most important reason that the color scheme is + designed to be dark-background instead of light one. + + Now we came to know, that change the foreground color is enough to + emphasis text in a dark background, while for a white background, we + need to change the font shape (bold or italic, etc.), or change the + background color to effectively emphasis the text. This is probably + the reason Vim default scheme has bold properties for highlighting + groups, because the default scheme is a light background one. + + No one knows what color scheme is best for you, except yourself. Try! + +============================================================================== +PSC INSTALLATION *psc-usage* + + Step 1, Enable the color scheme ~ + + To use PSC is simple, just put ps_color.vim into your + [runtimepath]/colors and append the line > + + colorscheme ps_color +< + to your |.vimrc|. The [runtimepath] can be any directory listed in + |vimfiles|, normally your $HOME/.vim in Unix or $HOME/vimfiles in + Windows. + + Step 2, Install the help document ~ + + The help document will be automatically installed when the colorscheme + be sourced the first time. If it is not, type :colo ps_color now. + + After successfully installed the help document, you can use > + + :help psc-options +< + to go to the following section. + +============================================================================== +PSC OPTIONS *psc-options* + + You can let these options in your ~/.vimrc, most options works for + both GUI and cterm, only some of them do not work for both. + + Options set using the 'let' command must present [BEFORE] the color + scheme been sourced. + + *psc_style* + Style ~ +> + let psc_style='cool' + let psc_style='warm' + let psc_style='default' + let psc_style='defdark' +< + This selects between styles of colors, + The 'cool' is the default, dark background. + The 'warm' is the alternative, light background scheme. + + See |psc-about-background| for more knowledge about the background, + and the differences of two style. + + The 'default' and 'defdark' refers to Vim system default color scheme. + Which are provided only for reference. + + Let psc_style to any string other than the above 4 will switch to the + specified color scheme. For example, let psc_style='desert' and then + activate the ps_color, the color scheme will be chosen according to + desert.vim color scheme. + + *psc_cterm_style* + Color Term Style ~ +> + let psc_cterm_style='cool' +< + This is exactly the same to psc_style, except that it only affects the + console version of vim in a color terminal, the 'warm' is not + available for cterm. + By default, it will be set to the same value as 'psc_style'. You can + change it if you want different style in cterm from gui. + + *psc_cterm_transparent* + Color Term Transparent ~ +> + let psc_cterm_transparent=1 +< + If this is set, cterm will use the transparent background. + i.e. the background will be the same as your terminal. + When background=dark, you should have a dark background for your + terminal, otherwise will result in poor readability. + + If this is reset (the default), cterm will use the Black background + anyway. + + *psc_fontface* + Font face ~ +> + let psc_fontface='plain' + let psc_fontface='mixed' +< + The Vim default behavior is the 'mixed', however, the mixed font style + in a dark colorscheme is not optimal. This color uses 'plain' for + 'cool' style, i.e. No texts are bold font. For 'warm', the default + is still 'mixed', If you want the mixed style in which the highlighted + statements are bold font, choose this. If you want all texts be + bold, choose 'plain' and specify a bold guifont or terminal font. + + In GUI, this option also works for other color schemes. You can + disable the bold font and use your favorite color scheme. See + |psc-faq-ffothers| for detail. + + *psc_inversed_todo* + Inversed Todo ~ +> + let psc_inversed_todo=1 +< + When set to 1, the TODO group will be dark background with light font, + Otherwise, the TODO group have light background with dark foreground. + Default is 0. + + *psc_use_default_for_cterm* + Use default for cterm (obsoleted)~ + + This option is Obsoleted, retained only for backward compatibility, + see |psc_cterm_style| for alternative. + + *psc_statement_different_from_type* + Statement different from type ~ +> + let psc_statement_different_from_type=1 +< + The Statement-group and Type-group are easy to distinguish, different + color for them are not necessary, I use similar color for S-group + & T-group in order not to make the screen too 'colorful', also this + saves a color name for cterm. But if you do want the Statement & Type + to be different color, try 'let statement_different_from_type=1' in + your .vimrc file, which is available only for GUI. Since the color + names in cterm is limited to 16 we cannot have too many different + colors in cterm. + Default is 0, i.e. they have very similar color. + + *psc-change-background* + Changing the Background color ~ + + You may prefer a black background over the dark one, and it is + possible to customize it, this may make life more interesting. To do + this is quite straight forward for GUI, just define the Normal + highlight in your .gvimrc, [AFTER] the color scheme has been sourced. + + For example: +> + highlight Normal guibg=#000000 +< + The #103040 will give a taste similar to oceandeep, #152535 for + hhazure, #303030 for desert, #404040 for zenburn... Replace #103040 + with any color you like. You can do the same to guifg foreground if + you are careful enough, remember this is only possible for GUI. + + You can do this to the NonText group also, for example. +> + highlight NonText guibg=#202020 +< + will give you a taste similar to most color schemes on vim.sf.net, in + which the NonText has a different background than Normal text. + However, this is only useful in GUI, in cterm, there are only + 8 background colors, so it is wise not to have a different color. + + If you want more variations, please try the optional utility + reloaded.vim, this optional utility provides an amazing level of + customization. + + Quick switching between warm and cold styles ~ + + Here is an example to define hot key of different style switching, + note that I had only given this example without actually define it. + You can choose to define it in .vimrc or anyway you prefer. +> + nnoremap pc :let psc_style='cool':colo ps_color + nnoremap pw :let psc_style='warm':colo ps_color +< + Alternatively, you can use the capitalized :Colo command, like + :Colo cool or :Colo warm + +============================================================================== +PSC WITH CTERM *psc-cterm* + + Colour Term ~ + + The cterm color is designed mainly in these terminals: +> + 1. Cygwin bash shell in NT command prompt box + 2. XTERM and RXVT + 3. Other color terminals which have at least 16 colors +< + *psc-cterm-nt* + In Windows NT Prompt console you can change the exact value of each + color, so you can have the same color with your GUI version of Vim, + for 'cool' color style you just change the color according to the + |psc-cterm-color-table|, for how to redefine the color of Windows NT + prompt console please see Windows Help. + + NT Cygwin bash shell console supports 16 foreground colors by add bold + attribute to 8 color, the cterm=bold specifies which should be bright + color, so totally the 16 color foreground is available, but color + name DarkXXX and LightXXX are the same. + + The pre-configured Cygwin.lnk is available for download on my web page + for Vim, but the site seems down, and the my site would not be on + recently, you may need to change colors in the Properties menu... + + Cygwin is highly recommended for Vim user if you are using Windows NT + based systems (e.g. NT 4.0, Win2k, WinXP, Win2003, etc). But Cygwin is + not that versatile under Windows 95/98/ME. I'm not sure whether this + works for DOS DJGPP or Windows 95 console version of Vim because + I don't have the system, in case you encountered problem please + contact me, if you like. + + *psc-cterm-xterm* + XTERM is a much more feature-rich terminal than Windows Console so the + support is much better. Normally, add the following recommend line + into your .Xdefaults and you can achieve the same color as in GUI + version, currently only works for XTERM and RXVT. + + However, most modern GUI terminal emulators do not read .Xdefaults + at all, in that case you will have to set the color manually according + to |psc-cterm-color-table|. + + In case your term supports .Xdefaults, Add the following in it: +> + XTerm*color0: #000000 + XTerm*color1: #800000 + XTerm*color2: #008000 + XTerm*color3: #d0d090 + XTerm*color4: #000080 + XTerm*color5: #800080 + XTerm*color6: #a6caf0 + XTerm*color7: #d0d0d0 + XTerm*color8: #b0b0b0 + XTerm*color9: #f08060 + XTerm*color10: #60f080 + XTerm*color11: #e0c060 + XTerm*color12: #80c0e0 + XTerm*color13: #f0c0f0 + XTerm*color14: #c0d8f8 + XTerm*color15: #e0e0e0 + XTerm*cursorColor: #00f000 + + ! The following are recommended but optional + XTerm*reverseVideo: False + XTerm*background: #202020 + XTerm*foreground: #d0d0d0 + XTerm*boldMode: False +< + There is an assumption that your RXVT or XTERM supports 16 colors, + most RXVTs and XTERMs support this, if yours do not, get a source of + RXVT and recompile it. + + Sometimes the color mode are not recognized well, or you do not want + bright foreground be bold. If this is the case, add the following in + your .vimrc (before the color scheme been sourced) +> + if &term=='xterm' " Change 'xterm' to your term name if necessary + set t_Co=16 + endif +< + If the t_Co=16 have problem, set t_Co=8 and :colo ps_color again. + and vice versa. + + My rxvt works well with t_Co=16: > + Rxvt v2.7.10 - released: 26 MARCH 2003 + Options: + XPM,transparent,utmp,menubar,frills,linespace,multichar_languages, + scrollbars=rxvt+NeXT+xterm,.Xdefaults +< But I've know that my rxvt v2.6.4 in another machine has problem with + t_Co=16, if that is the case, set t_Co=8 instead. + + *psc-cterm-others* + For other terminals, you can manually set the color according to the + following table + + Hints for Manually set the color (for 'cool' style only): + *psc-cterm-color-table* + Color name Hex value Decimal value (r,g,b)~ + 0 Black = #000000 0,0,0 + 4 DarkBlue = #000080 0,0,128 + 2 DarkGreen = #008000 0,128,0 + 6 DarkCyan = #a6caf0 166,202,240 + 1 DarkRed = #800000 128,0,0 + 5 DarkMagenta = #800080 128,0,128 + 3 DarkYellow = #d0d090 208,208,144 + 7 Grey = #d0d0d0 208,208,208 + 8 DarkGrey = #b0b0b0 176,176,176 + 12 Blue = #80c0e0 128,192,224 + 10 Green = #60f080 96,240,128 + 14 Cyan = #c0d8f8 192,216,248 + 9 Red = #f08060 240,128,96 + 13 LMag. = #f0c0f0 240,192,240 + 11 Yellow = #e0c060 224,192,96 + 15 White = #e0e0e0 224,224,224 + + *psc-cterm-incompatible* + If your color terminal does only have 8 colors and cannot achieve 16 + colors with cterm=bold, you may want to switch to other color schemes + to gain more readability. Anyway, you can specify in your .vimrc to + use different color scheme under different consoles and GUI. + For example: +> + let psc_cterm_style = 'foobarcolor' + let psc_style = 'cool' + colo ps_color +< + The 'foobarcolor' means the color scheme you want to choose, such as + 'desert', I recommend to try vim default schemes 'default' and + 'defdark' before experience others. + +============================================================================== +PSC FAQ AND TIPS *psc-faq* *psc-tips* +> + Q: What is meant by `PS' ? +< + A: PS means: PostScript, PhotoShop, PerSonal, ..., or anything you can + imagine and anything you want it do be. +> + Q: How to obtain the same appreance as gui in color term? +< + A: This need some work around, see |psc-cterm| for details. + Generally speaking, you should ensure your color term has support + for 16 foreground colors, and each color is customizable. + + *psc-faq-ffothers* > + Q: How to use psc_fontface with other colorschemes? +< + A: Make sure you had sourced :colo ps_color in your .vimrc, then you + can use the Capitalized :Colo instead of :colo + e.g. you want to use 'murphy', just type :Colo murphy after you + sourced the ps_color, the 'defdark', 'cool', 'warm' can also be + used here. +> + Q: I updated from v2.0 to v2.3 or above, why the cterm color scheme + for Comment is different? +< + A: The color map of DarkYellow and Yellow have been exchanged, + You need to reconfigure your terminal to meet the change, + see |psc-cterm-color-table| for guide, or if you are using xterm + compatible terminal, just update the .XDefaults according to + |psc-cterm-xterm|. +> + Q: What do you mean by 'Vanilla Windows'? +< + A: People often argue that Windows is not a REAL operating system. + Well, I agree this, but only for vanilla windows. i.e. with no + plug-ins installed. Vanilla windows is a very limited platform, + since it is not POSIX compliant. + + There are currently many working around to make Windows POSIX + Compliant, do you still mind which OS to use when it is POSIX + Compliant? I don't. If you installed Cygwin kernel in your + NT-based Windows, the Windows will be more or less POSIX compliant + and you can use it in the same way as you use any Unix, BSD, + Solaris, Linux, XWindow, etc... What is more, Cygwin is not the + only kernel which makes Windows POSIX Compliant, make a google + search and you will find many alternatives. +> + Q: How to change the Normal background color? Why don't you use + different background for NonText group? +< + A: This is for compatibility, since we have to use only 8 colors as + background in a color terminal. For GUI you can change this, see + |psc-change-background| for details. +> + Q: I updated from 2.81- to 2.82+, why the default background changed? +< + A: This is for Bram's guideline, that dark schemes with black + background has too much contrast. + + However, you can change it back. See |psc-change-background| for + details. +> + Q: Something changed/doesn't work on 3.00... +< + A: See 3.00 Release note. + +============================================================================== +PSC RELEASE NOTES *psc-release-notes* + + 3.00 Release Note: ~ + + GUI: now we accept the &background instead of the "warm" and "cool" + style value. So the "warm" and "cool" for psc_style are silently + ignored, all users must set the 'background' option manually before + :colo ps_color. + + Since this is an incompatible change, I bump the version to 3.00 + + CTERM: if psc_style set to 'warm', the v2.90 before will set the style + to 'cool', the 3.00 will set the style to 'default' since the + background change are eliminated in 3.00. So basically, if you had the + background=light in your color terminal, :color ps_color will have + little effect. + + Since the background setting can be wrong in cterm, the transparent + background are not the default. We added |psc_cterm_background| option + to change the bahavior. + + Checked spell with spelllang=en, changes in typos for document. + + 2.95 Release Note: ~ + + GUI: Make many foregrounds and backgrounds transparent, in most cases you + will not notice any difference. But you may feel better in some rare + case. + + CTERM: if your terminal has a transparent background, then we can have + the transparent background in vim. Note that the terminal color scheme + has to be dark-background for maximum portability. If you have + a light-background terminal emulator and want to use ps_color color + scheme, please keep v2.90, or change your terminal background color to + a dark one. + + 2.90 Release Note: ~ + + Upon the release of Vim 7, many new highlight groups have been added. + + A style has been tuned a little to increase contrast. + + + 2.83 Release Note: ~ + + This is an identical version, but my e-mail address changed. + + + 2.82 Release Note: ~ + + Fixed bug with the reversed group for the Vim default, or other + schemes. + + Fixed bug with the Diff mode fg mistaken as fg. + + Shrink the script a lot to improve load performance, moved the release + notes into document. + + Change the default gui background color to #202020 (Dark Grey) + + + 2.81 Release Note: ~ + + Provided a separate utility reloaded.vim to fine tune the GUI color + scheme based on Hue, Saturation and Brightness(Luminance). + + Added some groups to meet the need of reloaded.vim, no essential + change. + + 2.8 Release Note: ~ + + Bugfix : when psc_style=='mixed', the visual got reversed wrong. + + 'mixed' is now the default for 'warm' style. + + changed the function name to lower case. + + removed pre-2.0 compatibility, (the non-psc version of s-d-f-t). + + Added variable psc_cterm_style, see |psc_cterm_style| + + Added group Underline + + Tuned the function call. + + 2.7 Release Note: ~ + + Now it is possible to change the Background, + see :h psc-change-background for details. + + Linked the Tag group to Identifier. + + NonText as Notice is not good for 'warm', changed to Constant. + + Added links for the most popular plug-ins: taglist, calendar + + Tuned the 'Statement' color when different from Type (gui only). + + Re-adjusted cterm scheme according to syntax/hitest.vim + + The 'defdark' style for cterm is not functioning, fixed. + + Many 'cosmetic' changes, makes no difference for functionality. + + Use of DrChip's help extractor to auto-install help document. + + Added command define, :Colo + + 2.6 Release Note: ~ + + As stated in the v2.3, the only 'todo' thing seems to be the 'warm' + style, now in this version I had been working on it. + + There also are some minor fixes for the document, to be more friendly + for new readers. + + The 'StatusLine' of 'cold' style is modified by mistake in the v2.3, + this time the bug is fixed. + + The 'Directory' in GUI 'cold' style is different from 'cterm' one, + now fixed. + + 2.3 Release Note: ~ + + This is an incompatible update, main changes are in 'cterm'. + A new group 'SignColumn' had been added, new links added for engspchk + v52, hundreds of typos fixed in the document, thanks to the engspchk. + + The support for 8-color cterm is slightly better now, but the mappings + of the DarkYellow and Yellow are exchanged, you need to update the + .Xdefaults or your terminal configuration before apply this update if + you are using v2.0. Guide for redefinition the color value is + available in the document, make sure you had updated the ps_color.txt, + then see |psc-cterm-color-table| + + 2.0 Release Note: ~ + + There have been great enhancement since this version, so I'd choose to + bump the version number to 2. This version comes with Vim online help, + if you had installed ps_color.txt, you can see for details in + |pscolor| + + n/a Release: ~ + + Initial upload, can be called as v1.8 + + +============================================================================== +PSC TODO LIST *psc-todo* + + . Fix the remain bugs. + . Follow the new Vim versions for new added highlighting group + . This cannot work in Vim Small and Tiny mode, and will never work! + +============================================================================== + +vim:tw=78:ts=8:noet:ft=help:fo+=t:norl:noet: diff --git a/.vim/doc/tags b/.vim/doc/tags new file mode 100644 index 0000000..fe1bf2c --- /dev/null +++ b/.vim/doc/tags @@ -0,0 +1,29 @@ +ps_color.txt ps_color.txt /*ps_color.txt* +ps_colour ps_color.txt /*ps_colour* +psc ps_color.txt /*psc* +psc-about-background ps_color.txt /*psc-about-background* +psc-change-background ps_color.txt /*psc-change-background* +psc-contents ps_color.txt /*psc-contents* +psc-cterm ps_color.txt /*psc-cterm* +psc-cterm-color-table ps_color.txt /*psc-cterm-color-table* +psc-cterm-incompatible ps_color.txt /*psc-cterm-incompatible* +psc-cterm-nt ps_color.txt /*psc-cterm-nt* +psc-cterm-others ps_color.txt /*psc-cterm-others* +psc-cterm-xterm ps_color.txt /*psc-cterm-xterm* +psc-faq ps_color.txt /*psc-faq* +psc-faq-ffothers ps_color.txt /*psc-faq-ffothers* +psc-features ps_color.txt /*psc-features* +psc-options ps_color.txt /*psc-options* +psc-overview ps_color.txt /*psc-overview* +psc-release-notes ps_color.txt /*psc-release-notes* +psc-tips ps_color.txt /*psc-tips* +psc-todo ps_color.txt /*psc-todo* +psc-usage ps_color.txt /*psc-usage* +psc_cterm_style ps_color.txt /*psc_cterm_style* +psc_cterm_transparent ps_color.txt /*psc_cterm_transparent* +psc_fontface ps_color.txt /*psc_fontface* +psc_inversed_todo ps_color.txt /*psc_inversed_todo* +psc_statement_different_from_type ps_color.txt /*psc_statement_different_from_type* +psc_style ps_color.txt /*psc_style* +psc_use_default_for_cterm ps_color.txt /*psc_use_default_for_cterm* +pscolor ps_color.txt /*pscolor* diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..b85f2d9 --- /dev/null +++ b/.vimrc @@ -0,0 +1,98 @@ +set encoding=utf-8 + +set nocompatible +execute pathogen#infect() +filetype off +set rtp+=~/.vim/bundle/Vundle.vim +call vundle#begin() + +Plugin 'VundleVim/Vundle.vim' +" Plugin 'tmhedberg/SimplylFold' +Plugin 'vim-scripts/indentpython.vim' +Bundle 'Valloric/YouCompleteMe' +Plugin 'ctrlpvim/ctrlp.vim' +Bundle 'https://github.com/gorodinskiy/vim-coloresque.git' +Plugin 'airblade/vim-gitgutter' +Plugin 'fatih/vim-go' + + + +call vundle#end() + + +syntax on +colorscheme solarized +set tabstop=4 +set softtabstop=4 +set expandtab + +set number +set showcmd +set cursorline +"filetype indent on +set wildmenu +set lazyredraw +set showmatch +set incsearch +set hlsearch + + +" this makes the search highlight dissapear if you type space or maybe ,space +nnoremap :nohlsearch + +set foldenable +set foldlevelstart=10 + +set foldnestmax=10 + +" space toggles folds +nnoremap za + +"makes it so up and down go up and down even on wrapped lines + +nnoremap j gj +nnoremap k gk + + + + + +" B moves to start of line E is end of line +nnoremap B ^ +nnoremap E $ + + + +" some ctrlp stuff i want to try out +"let g:ctrlp_match_window = 'bottom,order:ttb' +"let g:ctrlp_switch_buffer = 0 +"let g:ctrlp_working_path_mode = 0 +"let g:ctrlp_user_command = 'ag %s -l --nocolor --hidden -g ""' +" +"let g:powerline_pycmd = "py3" +"set statusline+=%#warningmsg# +"set statusline+=%{SyntasticStatusLineFlag()} +"set statusline+=%* +" +"let g:syntastic_always_populate_loc_list = 1 +"let g:syntastic_auto_loc_list = 1 +"let g:syntastic_check_on_open = 1 +"let g:syntastic_check_on_wq = 0 + + + + + +"#function! s:SwitchPSCStyle() +"# if exists('g:psc_style') +"# if g:psc_style == 'cool' +"# let g:psc_style = 'warm' +"# elseif g:psc_style == 'warm' +"# let g:psc_style = 'cool' +"# endif +"# else +"# let g:psc_style = 'warm' +"# endif +"# colorscheme ps_color +"#endfunction +"#map :call SwitchPSCStyle() diff --git a/fish/functions/l.fish b/fish/functions/l.fish index 6f018ca..2de548b 100644 --- a/fish/functions/l.fish +++ b/fish/functions/l.fish @@ -1,3 +1,3 @@ function l - lsd + lsd $argv end diff --git a/fish/functions/la.fish b/fish/functions/la.fish index 740a962..0a587b7 100644 --- a/fish/functions/la.fish +++ b/fish/functions/la.fish @@ -1,7 +1,3 @@ function la --description 'list all files' - if count $argv > /dev/null -lsd -a $argv -else -lsd -a -end + lsd -a $argv end diff --git a/fish/functions/lla.fish b/fish/functions/lla.fish index bf6efb1..899f23e 100644 --- a/fish/functions/lla.fish +++ b/fish/functions/lla.fish @@ -1,7 +1,3 @@ function lla --description 'like la but with a list view' - if count $argv > /dev/null -lsd -la $argv -else -lsd -la -end + lsd -la $argv end diff --git a/fish/functions/lt.fish b/fish/functions/lt.fish index 0f5dc9b..0f94c8d 100644 --- a/fish/functions/lt.fish +++ b/fish/functions/lt.fish @@ -1,7 +1,3 @@ function lt --description 'list all tree view' - if count $argv > /dev/null -lsd -a --tree $argv -else -lsd -a --tree -end + lsd -a --tree $argv end diff --git a/init.sh b/init.sh index 16c14df..bd7a723 100644 --- a/init.sh +++ b/init.sh @@ -40,5 +40,28 @@ fi ln -s ./.fishrc ~/.fishrc +if [ -d ~/.config/omf ]; then + mv ./.config/omf ~/.config/omfBACKUP +fi +ln -s ./omf ~/.config/omf + +if [ -d ~/.config/polybar ]; then + mv ./.config/polybar ~/.config/polybarBACKUP +fi +ln -s ./polybar ~/.config/polybar + + +if [ -d ~/.config/ranger ]; then + mv ./.config/ranger ~/.config/rangerBACKUP +fi +ln -s ./ranger ~/.config/ranger + + +if [ -d ~/.config/rofi ]; then + mv ./.config/rofi ~/.config/rofiBACKUP +fi +ln -s ./rofi ~/.config/rofi + + diff --git a/omf/bundle b/omf/bundle new file mode 100644 index 0000000..6e26ec3 --- /dev/null +++ b/omf/bundle @@ -0,0 +1,16 @@ +package sublime +theme agnoster +theme aight +theme ays +theme batman +theme bira +theme bobthefish +theme default +theme emoji-powerline +theme idan +theme jacaetevha +theme johanson +theme ocean +theme sushi +theme toaster +theme zish diff --git a/omf/channel b/omf/channel new file mode 100644 index 0000000..2bf5ad0 --- /dev/null +++ b/omf/channel @@ -0,0 +1 @@ +stable diff --git a/omf/theme b/omf/theme new file mode 100644 index 0000000..e132d6a --- /dev/null +++ b/omf/theme @@ -0,0 +1 @@ +jacaetevha diff --git a/polybar/config b/polybar/config new file mode 100644 index 0000000..9c23f9c --- /dev/null +++ b/polybar/config @@ -0,0 +1,399 @@ +[colors] +;background = ${xrdb:color0:#222} +background = #222 +background-alt = #444 +;foreground = ${xrdb:color7:#222} +foreground = #dfdfdf +foreground-alt = #555 +primary = #ffb52a +secondary = #e60053 +alert = #bd2c40 + + +[bar/statusbar] +#monitor = ${env:MONITOR:DVI-I-1} +#monitor = ${env:MONITOR:} +width = 100% +height = 27 + +offset-x = 0% +offset-y = 0% + +radius = 0.0 +fixed-center = true + +bottom = true + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 0 +line-color = #f00 + +border-size = 0 +border-color = #00000000 + +padding-left = 0 +padding-right = 0 + +module-margin-left = 1 +module-margin-right = 1 + +font-0 = Roboto Mono:pixelsize=9;1 +font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = FontAwesome:pixelsize=11;1 + +modules-left = date time temperature xbacklight volume battery +modules-center = xwindow +modules-right = i3 + +tray-position = right +tray-padding = 6 +tray-background = #000000 +;tray-transparent = true + +;wm-restack = bspwm +;wm-restack = i3 + +;override-redirect = true + +;scroll-up = bspwm-desknext +;scroll-down = bspwm-deskprev + +;scroll-up = i3wm-wsnext +;scroll-down = i3wm-wsprev + +[module/xwindow] +type = internal/xwindow +label = [ %title:0:30:...% ] +label-foreground = #f48aa3 + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = + +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-prefix-underline = ${colors.secondary} + +label-layout = %layout% +label-layout-underline = ${colors.secondary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.foreground-alt} + +[module/bspwm] +type = internal/bspwm + +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline = #fab1c3 +;label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +label-occupied = %index% +label-occupied-padding = 2 + +label-urgent = %index%! +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +label-empty = %index% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 2 + +[module/i3] +type = internal/i3 +format = +index-sort = true +ws-icon-0 = 1; +ws-icon-1 = 2; +ws-icon-2 = 3; +ws-icon-3 = 4; +ws-icon-4 = 5;V +ws-icon-5 = 6;VI +ws-icon-6 = 7; +ws-icon-7 = 8; +ws-icon-8 = 9; +ws-icon-9 = 10; +ws-icon-default =  + +;wrapping-scroll = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +label-mode-padding = 0 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +;label-focused = %index% +label-focused = %icon% +label-focused-background = ${module/bspwm.label-focused-background} +label-focused-underline = ${module/bspwm.label-focused-underline} +label-focused-padding = ${module/bspwm.label-focused-padding} + +; unfocused = Inactive workspace on any monitor +label-unfocused = %icon% +label-unfocused-padding = ${module/bspwm.label-occupied-padding} + +; visible = Active workspace on unfocused monitor +label-visible = %icon% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +label-urgent = %icon% +label-urgent-background = ${module/bspwm.label-urgent-background} +label-urgent-padding = ${module/bspwm.label-urgent-padding} + +[module/mpd] +type = internal/mpd +;format-online = +format-online = -- [ ] -- +host = 127.0.0.1 +port = 6600 +interval = 2 + +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  + +label-song-maxlen = 50 +label-song-ellipsis = true +label-foreground = #f48aa3 + +[module/xbacklight] +type = internal/xbacklight + +format =