diff --git a/README.md b/README.md index 00fe0964..a61cd97a 100644 --- a/README.md +++ b/README.md @@ -3,19 +3,17 @@ gruvbox Retro groove color scheme for Vim. -Gruvbox is heavily inspired by [badwolf][1], [jellybeans][2] and [solarized][3]. +Gruvbox is heavily inspired by [badwolf][], [jellybeans][] and [solarized][]. -Designed as a bright theme with pastel 'retro groove' colors and light/dark mode switching in the way of [solarized][3]. The main focus when developing Gruvbox is to keep colors easily distinguishable, contrast enough and still pleasant for the eyes. +Designed as a bright theme with pastel 'retro groove' colors and light/dark mode switching in the way of [solarized][]. The main focus when developing Gruvbox is to keep colors easily distinguishable, contrast enough and still pleasant for the eyes. - [1]: https://github.com/sjl/badwolf - [2]: https://github.com/nanotech/jellybeans.vim - [3]: http://ethanschoonover.com/solarized + [badwolf]: https://github.com/sjl/badwolf + [jellybeans]: https://github.com/nanotech/jellybeans.vim + [solarized]: http://ethanschoonover.com/solarized Screenshots ----------- -Color scheme is in early development stage, so this could serve as working preview. - ### Dark mode ![Screenshot](http://i.imgur.com/2870c.png) @@ -27,17 +25,18 @@ Color scheme is in early development stage, so this could serve as working previ Features -------- -* Distraction-free HTML highlighting -* Clojure detailed support -* [Airline][4] theme mapping -* Hand-tuned plugin-specific highlighting for [EasyMotion][5], [Better Rainbow Parentheses][6], [Indent Guides][7], [Syntastic][8] and [Git Gutter][9] +* Extended filetype highlighting: Html, Vim, Clojure +* Supported plugins: [EasyMotion][4], [Indent Guides][5], [Rainbow Parentheses][6], [Airline][7], [GitGutter][8], [Signify][9], [ShowMarks][10], [Signature][11], [Syntastic][12] - [4]: https://github.com/bling/vim-airline - [5]: https://github.com/Lokaltog/vim-easymotion - [6]: https://github.com/kien/rainbow_parentheses.vim - [7]: https://github.com/nathanaelkane/vim-indent-guides - [8]: https://github.com/scrooloose/syntastic - [9]: https://github.com/airblade/vim-gitgutter + [EasyMotion]: https://github.com/Lokaltog/vim-easymotion + [Indent Guides]: https://github.com/nathanaelkane/vim-indent-guides + [Rainbow Parentheses]: https://github.com/kien/rainbow_parentheses.vim + [Airline]: https://github.com/bling/vim-airline + [GitGutter]: https://github.com/airblade/vim-gitgutter + [Signify]: https://github.com/mhinz/vim-signify + [ShowMarks]: http://www.vim.org/scripts/script.php?script_id=152 + [Signature]: https://github.com/kshenoy/vim-signature + [Syntastic]: https://github.com/scrooloose/syntastic Usage ----- @@ -60,7 +59,7 @@ Just setting background to an appropriate value would work as well: set bg=dark " Setting dark mode set bg=light " Setting light mode -Since gruvbox inverts cursor color, it could be awkward to determine current position, when the search is highlighted. To get single cursor color while searching map these gruvbox functions same way: +Since gruvbox inverts cursor color, it could be awkward to determine current position, when the search is highlighted. To get single cursor color while searching, map these gruvbox functions same way: map :call gruvbox#hls_toggle() imap :call gruvbox#hls_toggle()a @@ -74,8 +73,6 @@ Since gruvbox inverts cursor color, it could be awkward to determine current pos So you'll get `g:gruvbox_hls_cursor` (orange by default) cursor color when highlight search is on and inverted one otherwise. With such mappings you could also toggle search highlight on and off with F4 and hide it with Enter. -[10]: https://gist.github.com/morhetz/6795169 - Terminal-specific ----------------- @@ -93,16 +90,16 @@ Most terminals doesn't allow italics so the text that must be italicized goes in ### Effect of gruvbox_256palette.sh gets reset on Alt-Tab -That's known issue with Ubuntu GTK-themes. Refer [†][10] for more details. Known affected terms are Gnome Terminal, Terminator and Lilyterm and probably more VTE-based. Though with Lilyterm option 'Dim text when inactive' set off everything works fine. +That's known issue with Ubuntu GTK-themes. Refer [†][1] for more details. Known affected terms are Gnome Terminal, Terminator and Lilyterm and probably more VTE-based. Though with Lilyterm option 'Dim text when inactive' set off everything works fine. - [11]: https://github.com/morhetz/gruvbox/issues/13#issuecomment-30063099 + [1]: https://github.com/morhetz/gruvbox/issues/13#issuecomment-30063099 ### Lighter colors with iTerm2 -(...). Refer [†][11] and [‡][12] for more details. +(...). Refer [†][2] and [‡][3] for more details. - [12]: https://github.com/morhetz/gruvbox/issues/8#issuecomment-26782758 - [13]: https://github.com/morhetz/gruvbox/issues/8#issuecomment-27627656 + [2]: https://github.com/morhetz/gruvbox/issues/8#issuecomment-26782758 + [3]: https://github.com/morhetz/gruvbox/issues/8#issuecomment-27627656 Configuration ------------- @@ -124,10 +121,10 @@ Enables undercurled text. default: `1` ### g:gruvbox_termcolors -Uses 256-color palette (suitable to pair with gruvbox-palette shell script). If you're dissatisfied with that, set option value to `16` to fallback base colors to your terminal palette. Refer [†][14] for details. +Uses 256-color palette (suitable to pair with gruvbox-palette shell script). If you're dissatisfied with that, set option value to `16` to fallback base colors to your terminal palette. Refer [†][4] for details. default: `256` -[14]: https://github.com/morhetz/gruvbox/issues/4 +[4]: https://github.com/morhetz/gruvbox/issues/4 ### g:gruvbox_hls_cursor Changes cursor background while search is highlighted. Possible values are any of gruvbox palette. @@ -160,14 +157,15 @@ default: `0` Contributions ------------- -See [gruvbox-generalized][15] repo for contributions, ports and extras. +See [gruvbox-generalized][] repo for contributions, ports and extras. -[15]: https://github.com/morhetz/gruvbox-generalized +[gruvbox-generalized]: https://github.com/morhetz/gruvbox-generalized ToDo ---- -* More fyletype specific highlighting (ruby, python, javascript, coffeescript) +* More fyletype specific highlighting (ruby, python, javascript) +* Plugin support (Ctrl-P, MiniBufExplorer, Startify, Tagbar) * Airline theme License diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index 3d2b24f2..267efcf8 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -3,7 +3,7 @@ " Description: Retro groove color scheme for Vim " Author: morhetz " Source: https://github.com/morhetz/gruvbox -" Last Modified: 9 Dec 2013 +" Last Modified: 12 Dec 2013 " ----------------------------------------------------------------------------- " Supporting code ------------------------------------------------------------- @@ -366,7 +366,7 @@ call s:HL('Label', 'red') " try, catch, throw call s:HL('Exception', 'red') " sizeof, "+", "*", etc. -hi! def link Operator Normal +hi! link Operator Normal " Any other keyword call s:HL('Keyword', 'red') @@ -457,8 +457,8 @@ endif " Plugin specific ------------------------------------------------------------- " EasyMotion: {{{ -hi! def link EasyMotionTarget Search -hi! def link EasyMotionShade Comment +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment " }}} " Indent Guides: {{{ @@ -474,27 +474,33 @@ else endif " }}} -" Better Rainbow Parentheses: {{{ +" Rainbow Parentheses: {{{ let g:rbpt_colorpairs = [ - \ ['brown', '#458588'], - \ ['Darkblue', '#b16286'], - \ ['darkgray', '#cc241d'], - \ ['darkgreen', '#d65d0e'], - \ ['darkcyan', '#458588'], - \ ['darkred', '#b16286'], - \ ['darkmagenta', '#cc241d'], - \ ['brown', '#d65d0e'], - \ ['gray', '#458588'], - \ ['black', '#b16286'], - \ ['darkmagenta', '#cc241d'], - \ ['Darkblue', '#d65d0e'], - \ ['darkgreen', '#458588'], - \ ['darkcyan', '#b16286'], - \ ['darkred', '#cc241d'], - \ ['red', '#d65d0e'], + \ ['brown', '#458588'], ['Darkblue', '#b16286'], + \ ['darkgray', '#cc241d'], ['darkgreen', '#d65d0e'], + \ ['darkcyan', '#458588'], ['darkred', '#b16286'], + \ ['darkmagenta', '#cc241d'], ['brown', '#d65d0e'], + \ ['gray', '#458588'], ['black', '#b16286'], + \ ['darkmagenta', '#cc241d'], ['Darkblue', '#d65d0e'], + \ ['darkgreen', '#458588'], ['darkcyan', '#b16286'], + \ ['darkred', '#cc241d'], ['red', '#d65d0e'], \ ] +let g:rainbow_guifgs = [ + \ '#458588', '#b16286', '#cc241d', '#d65d0e', + \ '#458588', '#b16286', '#cc241d', '#d65d0e', + \ '#458588', '#b16286', '#cc241d', '#d65d0e', + \ '#458588', '#b16286', '#cc241d', '#d65d0e', + \ ] + +let g:rainbow_ctermfgs = [ + \ 'brown', 'Darkblue', 'darkgray', 'darkgreen', + \ 'darkcyan', 'darkred', 'darkmagenta', 'brown', + \ 'gray', 'black', 'darkmagenta', 'Darkblue', + \ 'darkgreen', 'darkcyan', 'darkred', 'red', + \ ] + "}}} " Airline: {{{ @@ -519,6 +525,18 @@ else call s:HL('GitGutterChangeDelete', 'aqua', g:gruvbox_sign_column, 'inverse') endif +" }}} +" Signify: {{{ + +if g:gruvbox_invert_signs == 0 + call s:HL('SignifySignAdd', 'green', g:gruvbox_sign_column) + call s:HL('SignifySignChange ', 'aqua', g:gruvbox_sign_column) + call s:HL('SignifySignDelete', 'red', g:gruvbox_sign_column) +else + call s:HL('SignifySignAdd', 'green', g:gruvbox_sign_column, 'inverse') + call s:HL('SignifySignChange ', 'aqua', g:gruvbox_sign_column, 'inverse') + call s:HL('SignifySignDelete', 'red', g:gruvbox_sign_column, 'inverse') +endif " }}} " Syntastic: {{{ @@ -534,6 +552,35 @@ else call s:HL('SyntasticWarningSign', 'yellow', g:gruvbox_sign_column, 'inverse') endif +" }}} +" Signature {{{ + +if g:gruvbox_invert_signs == 0 + call s:HL('SignatureMarkerText', 'purple', g:gruvbox_sign_column) + call s:HL('SignatureMarkText', 'blue', g:gruvbox_sign_column) +else + call s:HL('SignatureMarkerText', 'purple', g:gruvbox_sign_column, 'inverse') + call s:HL('SignatureMarkText', 'blue', g:gruvbox_sign_column, 'inverse') +endif + +let g:SignatureMarkerTextHL='SignatureMarkerText' +let g:SignatureMarkTextHL='SignatureMarkText' + +" }}} +" ShowMarks: {{{ + +if g:gruvbox_invert_signs == 0 + call s:HL('ShowMarksHLl', 'blue', g:gruvbox_sign_column) + call s:HL('ShowMarksHLu', 'blue', g:gruvbox_sign_column) + call s:HL('ShowMarksHLo', 'blue', g:gruvbox_sign_column) + call s:HL('ShowMarksHLm', 'blue', g:gruvbox_sign_column) +else + call s:HL('ShowMarksHLl', 'blue', g:gruvbox_sign_column, 'inverse') + call s:HL('ShowMarksHLu', 'blue', g:gruvbox_sign_column, 'inverse') + call s:HL('ShowMarksHLo', 'blue', g:gruvbox_sign_column, 'inverse') + call s:HL('ShowMarksHLm', 'blue', g:gruvbox_sign_column, 'inverse') +endif + " }}} " Filetype specific ----------------------------------------------------------- @@ -574,9 +621,9 @@ else call s:HL('vimCommentTitle', 'light4_256', 'none', 'bold,italic') endif -"hi! def link vimVar Identifier -"hi! def link vimFunc Function -"hi! def link vimUserFunc Function +"hi! link vimVar Identifier +"hi! link vimFunc Function +"hi! link vimUserFunc Function "call s:HL('vimUserFunc', 'green', 'none', 'bold') @@ -596,8 +643,8 @@ endif "call s:HL('vimUserFunc', 'purple') "call s:HL('vimUserFunc', 'purple') -"hi! def link vimFunc Function -"hi! def link vimUserFunc Function +"hi! link vimFunc Function +"hi! link vimUserFunc Function " }}} " Clojure: {{{