35 Commits

Author SHA1 Message Date
Pavel Pertsev
e00de54291 Update README.md 2014-03-19 09:38:07 +03:00
morhetz
ff0ff02e83 Java syntax 2014-03-17 20:48:06 +04:00
morhetz
9ec53b7f53 Merge branch 'master' of https://github.com/morhetz/gruvbox 2014-03-12 11:03:02 +04:00
morhetz
f85ffd7047 Slightly change vim highlighting 2014-03-12 11:01:48 +04:00
Pavel Pertsev
7e14e72716 Update supported plugins 2014-03-11 23:02:56 +03:00
morhetz
188a99fad6 Changed CtrlP 2014-03-11 18:54:23 +04:00
morhetz
71a978082a MoonScript, Lua, Xml, Startify, CtrlP and refactoring 2014-03-11 18:33:51 +04:00
Pavel Pertsev
2d17573c00 Update README.md 2014-03-11 02:59:53 +03:00
Pavel Pertsev
2beaddf116 Insert link to gallery 2014-03-06 18:54:01 +03:00
morhetz
be95c208c8 Golang highlighting 2014-03-06 16:53:01 +04:00
morhetz
106d5556a1 vim-sneak, objective-c and minor changes 2014-03-06 14:49:54 +04:00
morhetz
5c381c675d Python, CSS, JavaScript, IndentLine support 2014-03-05 20:23:53 +04:00
morhetz
e475aea6d7 Additional functions 2013-12-17 00:13:28 +04:00
morhetz
23c84797be Fixing dash compatibility (printf instead of echo -ne) 2013-12-15 19:37:08 +04:00
Pavel Pertsev
34e56eed16 Delete .gruvbox.vim.swo 2013-12-13 16:00:54 +03:00
morhetz
37435aa623 Introduced contrast option 2013-12-13 02:13:56 +04:00
morhetz
07b724e819 Fixing README 2013-12-13 00:06:27 +04:00
morhetz
6ad5e9ae57 Support for Signify, ShowMarks and vim-signature; docs updating 2013-12-13 00:03:48 +04:00
morhetz
9a5cd1b407 Cleanup and small fixes 2013-12-12 23:11:39 +04:00
morhetz
3b5730abe0 Updating documentation 2013-12-11 05:51:00 +04:00
Pavel Pertsev
820c0a845a Merge pull request #16 from blueyed/master
Fix GNU screen detection for *-bce
2013-12-09 00:54:42 -08:00
Daniel Hahler
c18437be94 Fix GNU screen detection for *-bce
Also use POSIX shell syntax: lighter and the script might be sourced.

Ref: https://github.com/morhetz/gruvbox/issues/4
2013-12-09 09:50:32 +01:00
morhetz
2847de5c68 Updating documentation 2013-12-09 09:08:37 +04:00
morhetz
498f71347b Tmux compatibility (issue #4) 2013-12-09 05:22:35 +04:00
morhetz
5e2f48e421 Varying selection highlight with option (issue #15) 2013-12-09 00:59:24 +04:00
morhetz
0c92101c13 Fixing SignColumn-related highlights, Syntastic and GitGutter plugins compatibility (issue #15) 2013-12-09 00:15:48 +04:00
morhetz
76b26b1c43 Fixing incremental search highlighting (issue #2) 2013-12-08 06:26:18 +04:00
morhetz
e9bb3eaee7 Airline theme mapping (issue #12) 2013-12-08 06:17:49 +04:00
morhetz
1df37219c4 Clojure support 2013-10-11 16:28:36 +04:00
morhetz
1beba30129 Fixing background switching at terminal (issue #7) 2013-10-11 11:44:10 +04:00
morhetz
9acf774b27 Adding 256-palette script for OS X 2013-10-04 18:07:15 +04:00
morhetz
626807302f Adding 256-palette script 2013-10-04 17:55:40 +04:00
morhetz
f2efaeca0e Fix 256-termcolors 2013-10-03 14:14:15 +04:00
Pavel Pertsev
a5948f2eeb Merge pull request #5 from ViViDboarder/master
Fix typo in Readme
2013-07-10 23:23:11 -07:00
Ian
76cc94126c Fix typo in Readme 2013-07-10 13:08:29 -07:00
5 changed files with 1029 additions and 151 deletions

196
README.md
View File

@@ -3,63 +3,207 @@ 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.
Refer [Gallery][] for more syntax-specific screenshots.
[Gallery]: https://github.com/morhetz/gruvbox/wiki/Gallery
### Dark mode
![Screenshot](http://i.imgur.com/2870c.png)
### Ligth mode
### Light mode
![Screenshot](http://i.imgur.com/oS9I3.png)
Features
--------
* Distraction-free HTML highlighting
* Hand-tuned plugin-specific highlighting for [EasyMotion][4], [Better Rainbow Parentheses][5] and [Indent Guides][6]
* Lots of style-customization options (contrast, color invertion, italics usage etc.)
* Extended filetype highlighting: Html, Xml, Vim, Clojure, C, Python, JavaScript, CoffeeScript, Ruby, Objective-C, Go, Lua, MoonScript, Java
* Supported plugins: [EasyMotion][], [vim-sneak][], [Indent Guides][], [indentLine][], [Rainbow Parentheses][], [Airline][], [GitGutter][], [Signify][], [ShowMarks][], [Signature][], [Syntastic][], [CtrlP][], [Startify][]
[4]: https://github.com/Lokaltog/vim-easymotion
[5]: https://github.com/kien/rainbow_parentheses.vim
[6]: https://github.com/nathanaelkane/vim-indent-guides
[EasyMotion]: https://github.com/Lokaltog/vim-easymotion
[vim-sneak]: https://github.com/justinmk/vim-sneak
[Indent Guides]: https://github.com/nathanaelkane/vim-indent-guides
[indentLine]: https://github.com/Yggdroot/indentLine
[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
[CtrlP]: https://github.com/kien/ctrlp.vim
[Startify]: https://github.com/mhinz/vim-startify
Usage
-----
gruvbox comes in two modes, dark and light. To toggle between them with F5 you can add these to your .vimrc
gruvbox comes in two modes, dark and light. To toggle between them with F5 you can add these to your .vimrc:
map <F5> :call ToggleBg()<CR>
function! ToggleBg()
if &background == 'dark'
set bg=light
else
set bg=dark
endif
endfunc
map <silent> <F5> :call gruvbox#bg_toggle()<CR>
imap <silent> <F5> <ESC>:call gruvbox#bg_toggle()<CR>a
vmap <silent> <F5> <ESC>:call gruvbox#bg_toggle()<CR>gv
Just setting background to an appropriate value would work as well
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:
map <silent> <F4> :call gruvbox#hls_toggle()<CR>
imap <silent> <F4> <ESC>:call gruvbox#hls_toggle()<CR>a
vmap <silent> <F4> <ESC>:call gruvbox#hls_toggle()<CR>gv
nnoremap <silent> <CR> :call gruvbox#hls_hide()<CR><CR>
nnoremap * :let @/ = ""<CR>:call gruvbox#hls_show()<CR>*
nnoremap / :let @/ = ""<CR>:call gruvbox#hls_show()<CR>/
nnoremap ? :let @/ = ""<CR>:call gruvbox#hls_show()<CR>?
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.
Terminal-specific
-----------------
(...).
* (Recommended) 256-color palette with gruvbox-palette shell script
* 16 colors palette mode with gruvbox terminal colorscheme
Troubleshooting
---------------
### Italics gets inverted (terminal)
Most terminals doesn't allow italics so the text that must be italicized goes inverted. To prevent that disable `g:gruvbox_italic` option.
### Effect of gruvbox_256palette.sh gets reset on Alt-Tab
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.
[1]: https://github.com/morhetz/gruvbox/issues/13#issuecomment-30063099
### Lighter colors with iTerm2
(...). Refer [†][2] and [‡][3] for more details.
[2]: https://github.com/morhetz/gruvbox/issues/8#issuecomment-26782758
[3]: https://github.com/morhetz/gruvbox/issues/8#issuecomment-27627656
Configuration
-------------
### g:gruvbox_bold
Enables bold text.
default: `1`
### g:gruvbox_italic
Enables italic text.
default: `1`
### g:gruvbox_underline
Enables underlined text.
default: `1`
### g:gruvbox_undercurl
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 [†][4] for details.
default: `256`
[4]: https://github.com/morhetz/gruvbox/issues/4
### g:gruvbox_contrast
Possible values are `soft`, `medium` and `hard`.
default: `medium`
### g:gruvbox_hls_cursor
Changes cursor background while search is highlighted. Possible values are any of gruvbox palette.
default: `orange`
### g:gruvbox_sign_column
Changes sign column background color. Possible values are any of gruvbox palette.
default: `dark1`
### g:gruvbox_italicize_comments
Enables italic for comments.
default: `1`
### g:gruvbox_italicize_strings
Enables italic for strings.
default: `0`
### g:gruvbox_invert_selection
Inverts selected text.
default: `1`
### g:gruvbox_invert_signs
Inverts GitGutter and Syntastic signs. Useful to rapidly focus on.
default: `0`
### g:gruvbox_invert_indent_guides
Inverts indent guides. Could be nice paired with `set list` so it would highlight only tab symbols instead of it's background.
default: `0`
Functions
---------
### gruvbox#bg_toggle()
(...)
### gruvbox#invert_signs_toggle()
(...)
### gruvbox#hls_show()
(...)
### gruvbox#hls_show_cursor()
(...)
### gruvbox#hls_hide()
(...)
### gruvbox#hls_hide_cursor()
(...)
### gruvbox#hls_toggle()
(...)
Contributions
-------------
See [gruvbox-generalized][] repo for contributions, ports and extras.
[gruvbox-generalized]: https://github.com/morhetz/gruvbox-generalized
ToDo
----
* Terminal low-color mode (&lt;256)
* More fyletype specific highlighting
* Customizable options (overrides, background switch, etc.)
* Powerline colors
* Filetype syntax highlighting (R, TeX and I'm still dissatisfied with CSS)
* Plugin support (MiniBufExplorer, Tagbar)
* Airline theme
License
-------

51
autoload/gruvbox.vim Normal file
View File

@@ -0,0 +1,51 @@
" -----------------------------------------------------------------------------
" File: gruvbox.vim
" Description: Retro groove color scheme for Vim
" Author: morhetz <morhetz@gmail.com>
" Source: https://github.com/morhetz/gruvbox
" Last Modified: 11 Mar 2014
" -----------------------------------------------------------------------------
function! gruvbox#bg_toggle()
if &background == 'dark'
set background=light
else
set background=dark
endif
colorcheme gruvbox
endfunction
function! gruvbox#invert_signs_toggle()
if g:gruvbox_invert_signs == 0
let g:gruvbox_invert_signs=1
else
let g:gruvbox_invert_signs=0
endif
colorscheme gruvbox
endfunction
" Search Highlighting {{{
function! gruvbox#hls_show()
set hlsearch
call GruvboxHlsShowCursor()
endfunction
function! gruvbox#hls_hide()
set nohlsearch
call GruvboxHlsHideCursor()
endfunction
function! gruvbox#hls_toggle()
if &hlsearch
call gruvbox#hls_hide()
else
call gruvbox#hls_show()
endif
endfunction
" }}}
" vim: set sw=3 ts=3 sts=3 noet tw=80 ft=vim fdm=marker:

View File

@@ -3,14 +3,12 @@
" Description: Retro groove color scheme for Vim
" Author: morhetz <morhetz@gmail.com>
" Source: https://github.com/morhetz/gruvbox
" Last Modified: 9 Dec 2012
" Last Modified: 11 Mar 2014
" -----------------------------------------------------------------------------
" Supporting code -------------------------------------------------------------
" Initialisation: {{{
"set background=dark
if version > 580
hi clear
if exists("syntax_on")
@@ -18,69 +16,160 @@ if version > 580
endif
endif
let g:colors_name="gruvbox"
let g:colors_name='gruvbox'
" To be done {{{
""" if has("gui_running") || &t_Co == 88 || &t_Co == 256
""" let s:low_color = 0
""" else
""" let s:low_color = 1
""" endif
" }}}
if !has("gui_running") && &t_Co != 88 && &t_Co != 256
if !has('gui_running') && &t_Co != 256
finish
endif
" }}}
" Global Settings: {{{
if !exists('g:gruvbox_bold')
let g:gruvbox_bold=1
endif
if !exists('g:gruvbox_italic')
let g:gruvbox_italic=1
endif
if !exists('g:gruvbox_undercurl')
let g:gruvbox_undercurl=1
endif
if !exists('g:gruvbox_underline')
let g:gruvbox_underline=1
endif
if !exists('g:gruvbox_italicize_comments')
let g:gruvbox_italicize_comments=1
endif
if !exists('g:gruvbox_italicize_strings')
let g:gruvbox_italicize_strings=0
endif
if !exists('g:gruvbox_termcolors')
let g:gruvbox_termcolors=256
endif
if !exists('g:gruvbox_invert_indent_guides')
let g:gruvbox_invert_indent_guides=0
endif
if !exists('g:gruvbox_hls_cursor')
let g:gruvbox_hls_cursor='orange'
endif
if !exists('g:gruvbox_sign_column')
let g:gruvbox_sign_column='dark1'
endif
if !exists('g:gruvbox_invert_signs')
let g:gruvbox_invert_signs=0
endif
if !exists('g:gruvbox_invert_selection')
let g:gruvbox_invert_selection=1
endif
if !exists('g:gruvbox_contrast')
let g:gruvbox_contrast='medium'
endif
let s:is_dark=(&background == 'dark')
" }}}
" Palette: {{{
let s:gb = {}
if &background == "dark"
let s:gb.dark0 = ['282828', 235]
let s:gb.dark1 = ['3c3836', 237]
let s:gb.dark2 = ['504945', 239]
let s:gb.dark3 = ['665c54', 241]
let s:gb.dark4 = ['7c6f64', 243]
if s:is_dark
let s:gb.dark0 = ['282828', 235] " 40-40-40
let s:gb.dark1 = ['3c3836', 237] " 60-56-54
let s:gb.dark2 = ['504945', 239] " 80-73-69
let s:gb.dark3 = ['665c54', 241] " 102-92-84
let s:gb.dark4 = ['7c6f64', 243] " 124-111-100
let s:gb.medium = ['928374', 245]
let s:gb.medium = ['928374', 245] " 146-131-116
let s:gb.light0 = ['fdf4c1', 247]
let s:gb.light1 = ['ebdbb2', 223]
let s:gb.light2 = ['d5c4a1', 251]
let s:gb.light3 = ['bdae93', 253]
let s:gb.light4 = ['a89984', 255]
let s:gb.light0 = ['fdf4c1', 229] " 253-244-193
let s:gb.light1 = ['ebdbb2', 223] " 235-219-178
let s:gb.light2 = ['d5c4a1', 250] " 213-196-161
let s:gb.light3 = ['bdae93', 248] " 189-174-147
let s:gb.light4 = ['a89984', 246] " 168-153-132
let s:gb.red = ['fb4934', 167]
let s:gb.orange = ['fe8019', 208]
let s:gb.yellow = ['fabd2f', 214]
let s:gb.green = ['b8bb26', 142]
let s:gb.aqua = ['8ec07c', 108]
let s:gb.blue = ['83a598', 109]
let s:gb.purple = ['d3869b', 175]
let s:gb.light4_256 = ['a89984', 246] " 168-153-132
let s:gb.red = ['fb4934', 167] " 251-73-52
let s:gb.green = ['b8bb26', 142] " 184-187-38
let s:gb.yellow = ['fabd2f', 214] " 250-189-47
let s:gb.blue = ['83a598', 109] " 131-165-152
let s:gb.purple = ['d3869b', 175] " 211-134-155
let s:gb.aqua = ['8ec07c', 108] " 142-192-124
let s:gb.orange = ['fe8019', 208] " 254-128-25
if g:gruvbox_termcolors == 16
let s:gb.dark0 = ['282828', 0]
let s:gb.light4 = ['a89984', 7]
let s:gb.medium = ['928374', 8]
let s:gb.red = ['fb4934', 9]
let s:gb.green = ['b8bb26', 10]
let s:gb.yellow = ['fabd2f', 11]
let s:gb.blue = ['83a598', 12]
let s:gb.purple = ['d3869b', 13]
let s:gb.aqua = ['8ec07c', 14]
let s:gb.light1 = ['ebdbb2', 15]
endif
if g:gruvbox_contrast == 'soft'
let s:gb.dark0 = ['32302f', 236] " 50-48-47
endif
if g:gruvbox_contrast == 'hard'
let s:gb.dark0 = ['1d2021', 234] " 29-32-33
endif
else
let s:gb.dark0 = ['fdf4c1', 235]
let s:gb.dark1 = ['ebdbb2', 237]
let s:gb.dark2 = ['d5c4a1', 239]
let s:gb.dark3 = ['bdae93', 241]
let s:gb.dark4 = ['a89984', 243]
let s:gb.dark0 = ['fdf4c1', 229] " 253-244-193
let s:gb.dark1 = ['ebdbb2', 223] " 235-219-178
let s:gb.dark2 = ['d5c4a1', 250] " 213-196-161
let s:gb.dark3 = ['bdae93', 248] " 189-174-147
let s:gb.dark4 = ['a89984', 246] " 168-153-132
let s:gb.medium = ['928374', 245]
let s:gb.medium = ['928374', 244] " 146-131-116
let s:gb.light0 = ['282828', 247]
let s:gb.light1 = ['3c3836', 223]
let s:gb.light2 = ['504945', 251]
let s:gb.light3 = ['665c54', 253]
let s:gb.light4 = ['7c6f64', 255]
let s:gb.light0 = ['282828', 235] " 40-40-40
let s:gb.light1 = ['3c3836', 237] " 60-56-54
let s:gb.light2 = ['504945', 239] " 80-73-69
let s:gb.light3 = ['665c54', 241] " 102-92-84
let s:gb.light4 = ['7c6f64', 243] " 124-111-100
let s:gb.red = ['9d0006', 167]
let s:gb.orange = ['af3a03', 208]
let s:gb.yellow = ['b57614', 214]
let s:gb.green = ['79740e', 142]
let s:gb.aqua = ['427b58', 108]
let s:gb.blue = ['076678', 109]
let s:gb.purple = ['8f3f71', 175]
let s:gb.light4_256 = ['7c6f64', 243] " 124-111-100
let s:gb.red = ['9d0006', 88] " 157-0-6
let s:gb.green = ['79740e', 100] " 121-116-14
let s:gb.yellow = ['b57614', 136] " 181-118-20
let s:gb.blue = ['076678', 24] " 7-102-120
let s:gb.purple = ['8f3f71', 96] " 143-63-113
let s:gb.aqua = ['427b58', 66] " 66-123-88
let s:gb.orange = ['af3a03', 130] " 175-58-3
if g:gruvbox_termcolors == 16
let s:gb.dark0 = ['fdf4c1', 0]
let s:gb.light4 = ['7c6f64', 7]
let s:gb.medium = ['928374', 8]
let s:gb.red = ['9d0006', 9]
let s:gb.green = ['79740e', 10]
let s:gb.yellow = ['b57614', 11]
let s:gb.blue = ['076678', 12]
let s:gb.purple = ['8f3f71', 13]
let s:gb.aqua = ['427b58', 14]
let s:gb.light1 = ['3c3836', 15]
endif
if g:gruvbox_contrast == 'soft'
let s:gb.dark0 = ['f4e8ba', 228] " 244-232-186
endif
if g:gruvbox_contrast == 'hard'
let s:gb.dark0 = ['ffffc8', 230] " 255-255-200
endif
endif
" }}}
@@ -110,7 +199,7 @@ function! s:HL(group, fg, ...)
elseif a:fg == 'fg'
let histring .= 'guibg=fg ctermbg=fg '
elseif a:1 == 'none'
let histring .= 'guibg=NONE ctermfg=NONE '
let histring .= 'guibg=NONE ctermbg=NONE '
else
let c = get(s:gb, a:1)
let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' '
@@ -122,9 +211,29 @@ function! s:HL(group, fg, ...)
if a:0 >= 2 && strlen(a:2)
if a:2 == 'none'
let histring .= 'gui=NONE cterm=NONE '
elseif a:2 == 'italic' && g:gruvbox_italic == 0
let histring .= 'gui=NONE cterm=NONE '
elseif a:2 == 'bold' && g:gruvbox_bold == 0
let histring .= 'gui=NONE cterm=NONE '
elseif a:2 == 'bold,inverse' && g:gruvbox_bold == 0
let histring .= 'gui=inverse cterm=inverse '
elseif a:2 == 'undercurl' && g:gruvbox_undercurl == 0
let histring .= 'gui=NONE cterm=NONE '
elseif a:2 == 'underline' && g:gruvbox_underline == 0
let histring .= 'gui=NONE cterm=NONE '
elseif a:2 == 'bold,italic'
if g:gruvbox_italic == 0 && g:gruvbox_bold == 0
let histring .= 'gui=NONE cterm=NONE '
elseif g:gruvbox_italic == 0
let histring .= 'gui=bold cterm=bold '
elseif g:gruvbox_bold == 0
let histring .= 'gui=italic cterm=italic '
else
let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' '
endif
else
let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' '
endif
endif
else
let histring .= 'gui=NONE cterm=NONE '
endif
@@ -143,13 +252,21 @@ endfunction
" }}}
" Vanilla colorscheme ----------------------------------------------------------
" Vanilla colorscheme ---------------------------------------------------------
" General UI: {{{
" Normal text
call s:HL('Normal', 'light1', 'dark0')
" Correct background (see issue #7):
" --- Problem with changing between dark and light on 256 color terminal
" --- https://github.com/morhetz/gruvbox/issues/7
if s:is_dark
set background=dark
else
set background=light
endif
if version >= 700
" Screen line that the cursor is
call s:HL('CursorLine', 'none', 'dark1')
@@ -164,7 +281,6 @@ if version >= 700
call s:HL('TabLine', 'dark4', 'bg')
" Match paired bracket under the cursor
" call s:HL('MatchParen', 'orange', 'dark3', 'bold')
call s:HL('MatchParen', 'none', 'dark3', 'bold')
endif
@@ -172,26 +288,31 @@ if version >= 703
" Highlighted screen columns
call s:HL('ColorColumn', 'none', 'dark1')
" Concealed element: \lambda → λ"
call s:HL('Conceal', 'blue', 'none')"
" Concealed element: \lambda → λ
call s:HL('Conceal', 'blue', 'none')
" Line number of CursorLine
" Line number of CursorLine
call s:HL('CursorLineNr', 'yellow', 'dark1')
endif
call s:HL('NonText', 'dark2')
call s:HL('SpecialKey', 'dark2')
call s:HL('Visual', 'none', 'dark3', 'inverse')
call s:HL('VisualNOS', 'none', 'dark3', 'inverse')
if g:gruvbox_invert_selection == 0
call s:HL('Visual', 'none', 'dark2')
call s:HL('VisualNOS', 'none', 'dark2')
else
call s:HL('Visual', 'none', 'dark3', 'inverse')
call s:HL('VisualNOS', 'none', 'dark3', 'inverse')
endif
call s:HL('Search', 'dark0', 'yellow')
call s:HL('IncSearch', 'dark0', 'yellow')
call s:HL('IncSearch', 'dark0', g:gruvbox_hls_cursor)
call s:HL('Underlined', 'blue', 'none', 'underline')
call s:HL('StatusLine', 'dark0', 'dark4', 'bold')
call s:HL('StatusLineNC', 'light4', 'dark2', 'bold')
call s:HL('StatusLine', 'dark4', 'dark0', 'bold,inverse')
call s:HL('StatusLineNC', 'dark2', 'light4', 'bold,inverse')
" The column separating vertically split windows
call s:HL('VertSplit', 'light4', 'dark2')
@@ -223,7 +344,7 @@ call s:HL('WarningMsg', 'red', 'none', 'bold')
call s:HL('LineNr', 'dark4')
" Column where signs are displayed
call s:HL('SignColumn', 'none', 'bg')
call s:HL('SignColumn', 'none', g:gruvbox_sign_column)
" Line used for closed folds
call s:HL('Folded', 'medium', 'dark1', 'italic')
@@ -234,7 +355,7 @@ call s:HL('FoldColumn', 'medium', 'dark1')
" Cursor: {{{
" Character under cursor
call s:HL('Cursor', 'none', 'none', 'inverse')
call s:HL('Cursor', 'none', 'none', 'inverse')
" Visual mode cursor, selection
call s:HL('vCursor', 'none', 'none', 'inverse')
" Input moder cursor
@@ -246,9 +367,13 @@ call s:HL('lCursor', 'none', 'none', 'inverse')
" Syntax Highlighting: {{{
call s:HL('Special', 'orange')
call s:HL('Comment', 'medium', 'none', 'italic')
call s:HL('Todo', 'fg', 'bg', 'bold')
if g:gruvbox_italicize_comments == 0
call s:HL('Comment', 'medium', 'none')
else
call s:HL('Comment', 'medium', 'none', 'italic')
endif
call s:HL('Todo', 'fg', 'bg', 'bold')
call s:HL('Error', 'bg', 'red', 'bold')
" Generic statement
call s:HL('Statement', 'red')
@@ -261,7 +386,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')
@@ -286,7 +411,11 @@ call s:HL('Constant', 'purple')
" Character constant: 'c', '/n'
call s:HL('Character', 'purple')
" String constant: "this is a string"
call s:HL('String', 'green')
if g:gruvbox_italicize_strings == 0
call s:HL('String', 'green')
else
call s:HL('String', 'green', 'none', 'italic')
endif
" Boolean constant: TRUE, false
call s:HL('Boolean', 'purple')
" Number constant: 234, 0xff
@@ -348,43 +477,174 @@ endif
" Plugin specific -------------------------------------------------------------
" EasyMotion: {{{
hi! def link EasyMotionTarget Search
hi! def link EasyMotionShade Comment
hi! link EasyMotionTarget Search
hi! link EasyMotionShade Comment
" }}}
" Sneak: {{{
hi! link SneakPluginTarget Search
hi! link SneakStreakTarget Search
call s:HL('SneakStreakMask', 'yellow', 'yellow')
hi! link SneakStreakStatusLine Search
" }}}
" Indent Guides: {{{
let g:indent_guides_auto_colors = 0
"call s:HL('IndentGuidesOdd', 'bg', 'dark2')
"call s:HL('IndentGuidesEven', 'bg', 'dark1')
call s:HL('IndentGuidesOdd', 'bg', 'dark2', 'inverse')
call s:HL('IndentGuidesEven', 'bg', 'dark3', 'inverse')
if g:gruvbox_invert_indent_guides == 0
call s:HL('IndentGuidesOdd', 'bg', 'dark2')
call s:HL('IndentGuidesEven', 'bg', 'dark1')
else
call s:HL('IndentGuidesOdd', 'bg', 'dark2', 'inverse')
call s:HL('IndentGuidesEven', 'bg', 'dark3', 'inverse')
endif
" }}}
" Better Rainbow Parentheses: {{{
" IndentLine: {{{
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'],
\ ]
let g:indentLine_color_term = s:gb.dark2[1]
let g:indentLine_color_gui = '#' . s:gb.dark2[0]
" }}}
" 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'],
\ ]
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: {{{
if !exists('g:airline_theme_map')
let g:airline_theme_map = { 'gruvbox.*': 'tomorrow' }
else
let g:airline_theme_map['gruvbox.*'] = 'tomorrow'
endif
" }}}
" GitGutter: {{{
if g:gruvbox_invert_signs == 0
call s:HL('GitGutterAdd', 'green', g:gruvbox_sign_column)
call s:HL('GitGutterChange', 'aqua', g:gruvbox_sign_column)
call s:HL('GitGutterDelete', 'red', g:gruvbox_sign_column)
call s:HL('GitGutterChangeDelete', 'aqua', g:gruvbox_sign_column)
else
call s:HL('GitGutterAdd', 'green', g:gruvbox_sign_column, 'inverse')
call s:HL('GitGutterChange', 'aqua', g:gruvbox_sign_column, 'inverse')
call s:HL('GitGutterDelete', 'red', g:gruvbox_sign_column, 'inverse')
call s:HL('GitGutterChangeDelete', 'aqua', g:gruvbox_sign_column, 'inverse')
endif
" }}}
" Signify: {{{
if g:gruvbox_invert_signs == 0
call s:HL('SignifySignAdd', 'green', g:gruvbox_sign_column)
call s:HL('SignifySignChange ', 'aqua', g:gruvbox_sign_column)
call s:HL('SignifySignDelete', 'red', g:gruvbox_sign_column)
else
call s:HL('SignifySignAdd', 'green', g:gruvbox_sign_column, 'inverse')
call s:HL('SignifySignChange ', 'aqua', g:gruvbox_sign_column, 'inverse')
call s:HL('SignifySignDelete', 'red', g:gruvbox_sign_column, 'inverse')
endif
" }}}
" Syntastic: {{{
call s:HL('SyntasticError', 'none', 'none', 'undercurl', 'red')
call s:HL('SyntasticWarning', 'none', 'none', 'undercurl', 'yellow')
if g:gruvbox_invert_signs == 0
call s:HL('SyntasticErrorSign', 'red', g:gruvbox_sign_column)
call s:HL('SyntasticWarningSign', 'yellow', g:gruvbox_sign_column)
else
call s:HL('SyntasticErrorSign', 'red', g:gruvbox_sign_column, 'inverse')
call s:HL('SyntasticWarningSign', 'yellow', g:gruvbox_sign_column, 'inverse')
endif
" }}}
" Signature: {{{
if g:gruvbox_invert_signs == 0
call s:HL('SignatureMarkerText', 'purple', g:gruvbox_sign_column)
call s:HL('SignatureMarkText', 'blue', g:gruvbox_sign_column)
else
call s:HL('SignatureMarkerText', 'purple', g:gruvbox_sign_column, 'inverse')
call s:HL('SignatureMarkText', 'blue', g:gruvbox_sign_column, 'inverse')
endif
let g:SignatureMarkerTextHL='SignatureMarkerText'
let g:SignatureMarkTextHL='SignatureMarkText'
" }}}
" ShowMarks: {{{
if g:gruvbox_invert_signs == 0
call s:HL('ShowMarksHLl', 'blue', g:gruvbox_sign_column)
call s:HL('ShowMarksHLu', 'blue', g:gruvbox_sign_column)
call s:HL('ShowMarksHLo', 'blue', g:gruvbox_sign_column)
call s:HL('ShowMarksHLm', 'blue', g:gruvbox_sign_column)
else
call s:HL('ShowMarksHLl', 'blue', g:gruvbox_sign_column, 'inverse')
call s:HL('ShowMarksHLu', 'blue', g:gruvbox_sign_column, 'inverse')
call s:HL('ShowMarksHLo', 'blue', g:gruvbox_sign_column, 'inverse')
call s:HL('ShowMarksHLm', 'blue', g:gruvbox_sign_column, 'inverse')
endif
" }}}
" CtrlP: {{{
call s:HL('CtrlPMatch', 'yellow')
call s:HL('CtrlPNoEntries', 'red')
call s:HL('CtrlPPrtBase', 'dark2')
call s:HL('CtrlPPrtCursor', 'blue')
call s:HL('CtrlPLinePre', 'dark2')
call s:HL('CtrlPMode1', 'blue', 'dark2', 'bold')
call s:HL('CtrlPMode2', 'dark0', 'blue', 'bold')
call s:HL('CtrlPStats', 'light4', 'dark2', 'bold')
" }}}
" Startify: {{{
call s:HL('StartifyBracket', 'light3')
call s:HL('StartifyFile', 'light0')
call s:HL('StartifyNumber', 'blue')
call s:HL('StartifyPath', 'medium')
call s:HL('StartifySlash', 'medium')
call s:HL('StartifySection', 'yellow')
call s:HL('StartifySpecial', 'dark2')
call s:HL('StartifyHeader', 'orange')
call s:HL('StartifyFooter', 'dark2')
" }}}
" Filetype specific -----------------------------------------------------------
" Diff: {{{
@@ -404,45 +664,236 @@ call s:HL('diffLine', 'blue')
call s:HL('htmlTag', 'blue')
call s:HL('htmlEndTag', 'blue')
call s:HL('htmlTagName', 'aqua', '', 'bold')
call s:HL('htmlTagName', 'aqua', 'none', 'bold')
call s:HL('htmlArg', 'aqua')
call s:HL('htmlScriptTag', 'purple')
call s:HL('htmlTagN', 'light1')
call s:HL('htmlSpecialTagName', 'aqua', '', 'bold')
call s:HL('htmlSpecialTagName', 'aqua', 'none', 'bold')
call s:HL('htmlLink', 'light4', '', 'underline')
call s:HL('htmlLink', 'light4', 'none', 'underline')
call s:HL('htmlSpecialChar', 'orange')
" }}}
" Xml: {{{
call s:HL('xmlTag', 'blue')
call s:HL('xmlEndTag', 'blue')
call s:HL('xmlTagName', 'blue')
call s:HL('xmlEqual', 'blue')
call s:HL('docbkKeyword', 'aqua', 'none', 'bold')
call s:HL('xmlDocTypeDecl', 'medium')
call s:HL('xmlDocTypeKeyword', 'purple')
call s:HL('xmlCdataStart', 'medium')
call s:HL('xmlCdataCdata', 'purple')
call s:HL('dtdFunction', 'medium')
call s:HL('dtdTagName', 'purple')
call s:HL('xmlAttrib', 'aqua')
call s:HL('xmlProcessingDelim', 'medium')
call s:HL('dtdParamEntityPunct', 'medium')
call s:HL('dtdParamEntityDPunct', 'medium')
call s:HL('xmlAttribPunct', 'medium')
call s:HL('xmlEntity', 'orange')
call s:HL('xmlEntityPunct', 'orange')
" }}}
" Vim: {{{
call s:HL('vimCommentTitle', 'light4', '', 'bold,italic')
"hi! def link vimVar Identifier
"hi! def link vimFunc Function
"hi! def link vimUserFunc Function
"call s:HL('vimUserFunc', 'green', '', 'bold')
"call s:HL('vimFunction', 'green', '', 'bold')
"call s:HL('vimFunc', 'blue')
"call s:HL('vimFuncName', 'blue')
"call s:HL('vimVar', 'purple')
"call s:HL('vimIsCommand', 'purple')
"call s:HL('vimMapMod', 'purple', '', 'bold,italic')
"call s:HL('vimMapModKey', 'purple', '', 'bold,italic')
"call s:HL('vimFunction', 'purple')
"call s:HL('vimUserFunc', 'purple')
"call s:HL('vimUserFunc', 'purple')
"hi! def link vimFunc Function
"hi! def link vimUserFunc Function
if g:gruvbox_italicize_comments == 0
call s:HL('vimCommentTitle', 'light4_256', 'none', 'bold')
else
call s:HL('vimCommentTitle', 'light4_256', 'none', 'bold,italic')
endif
call s:HL('vimNotation', 'orange')
call s:HL('vimBracket', 'orange')
call s:HL('vimMapModKey', 'orange')
call s:HL('vimFuncSID', 'light3')
call s:HL('vimSetSep', 'light3')
call s:HL('vimSep', 'light3')
call s:HL('vimContinue', 'light3')
" }}}
" Clojure: {{{
call s:HL('clojureKeyword', 'blue')
call s:HL('clojureCond', 'orange')
call s:HL('clojureSpecial', 'orange')
call s:HL('clojureDefine', 'orange')
call s:HL('clojureFunc', 'yellow')
call s:HL('clojureRepeat', 'yellow')
call s:HL('clojureCharacter', 'aqua')
call s:HL('clojureStringEscape', 'aqua')
call s:HL('clojureException', 'red')
call s:HL('clojureRegexp', 'aqua')
call s:HL('clojureRegexpEscape', 'aqua')
call s:HL('clojureRegexpCharClass', 'light3', 'none', 'bold')
call s:HL('clojureRegexpMod', 'light3', 'none', 'bold')
call s:HL('clojureRegexpQuantifier', 'light3', 'none', 'bold')
call s:HL('clojureParen', 'light3')
call s:HL('clojureAnonArg', 'yellow')
call s:HL('clojureVariable', 'blue')
call s:HL('clojureMacro', 'orange')
call s:HL('clojureMeta', 'yellow')
call s:HL('clojureDeref', 'yellow')
call s:HL('clojureQuote', 'yellow')
call s:HL('clojureUnquote', 'yellow')
" }}}
" C: {{{
call s:HL('cOperator', 'purple')
call s:HL('cStructure', 'orange')
" }}}
" Python: {{{
call s:HL('pythonBuiltin', 'orange')
call s:HL('pythonBuiltinObj', 'orange')
call s:HL('pythonBuiltinFunc', 'orange')
call s:HL('pythonFunction', 'aqua')
call s:HL('pythonDecorator', 'red')
call s:HL('pythonInclude', 'blue')
call s:HL('pythonImport', 'blue')
call s:HL('pythonRun', 'blue')
call s:HL('pythonCoding', 'blue')
call s:HL('pythonOperator', 'red')
call s:HL('pythonExceptions', 'purple')
call s:HL('pythonBoolean', 'purple')
call s:HL('pythonDot', 'light3')
" }}}
" CSS: {{{
call s:HL('cssBraces', 'blue')
call s:HL('cssFunctionName', 'yellow')
call s:HL('cssIdentifier', 'orange')
call s:HL('cssClassName', 'green')
call s:HL('cssColor', 'blue')
call s:HL('cssSelectorOp', 'blue')
call s:HL('cssSelectorOp2', 'blue')
call s:HL('cssImportant', 'green')
call s:HL('cssVendor', 'light1')
call s:HL('cssTextProp', 'aqua')
call s:HL('cssAnimationProp', 'aqua')
call s:HL('cssUIProp', 'yellow')
call s:HL('cssTransformProp', 'aqua')
call s:HL('cssTransitionProp', 'aqua')
call s:HL('cssPrintProp', 'aqua')
call s:HL('cssPositioningProp', 'yellow')
call s:HL('cssBoxProp', 'aqua')
call s:HL('cssFontDescriptorProp', 'aqua')
call s:HL('cssFlexibleBoxProp', 'aqua')
call s:HL('cssBorderOutlineProp', 'aqua')
call s:HL('cssBackgroundProp', 'aqua')
call s:HL('cssMarginProp', 'aqua')
call s:HL('cssListProp', 'aqua')
call s:HL('cssTableProp', 'aqua')
call s:HL('cssFontProp', 'aqua')
call s:HL('cssPaddingProp', 'aqua')
call s:HL('cssDimensionProp', 'aqua')
call s:HL('cssRenderProp', 'aqua')
call s:HL('cssColorProp', 'aqua')
call s:HL('cssGeneratedContentProp', 'aqua')
" }}}
" JavaScript: {{{
call s:HL('javaScriptBraces', 'orange')
call s:HL('javaScriptFunction', 'aqua')
call s:HL('javaScriptIdentifier', 'red')
call s:HL('javaScriptMember', 'blue')
call s:HL('javaScriptNumber', 'purple')
call s:HL('javaScriptNull', 'purple')
call s:HL('javaScriptParens', 'light3')
" }}}
" CoffeeScript: {{{
call s:HL('coffeeExtendedOp', 'light3')
call s:HL('coffeeSpecialOp', 'light3')
call s:HL('coffeeCurly', 'orange')
call s:HL('coffeeParen', 'light3')
call s:HL('coffeeBracket', 'orange')
" }}}
" Ruby: {{{
call s:HL('rubyStringDelimiter', 'green')
call s:HL('rubyInterpolationDelimiter', 'aqua')
" }}}
" ObjectiveC: {{{
call s:HL('objcTypeModifier', 'red')
call s:HL('objcDirective', 'blue')
" }}}
" Go: {{{
call s:HL('goDirective', 'aqua')
call s:HL('goConstants', 'purple')
call s:HL('goDeclaration', 'red')
call s:HL('goDeclType', 'blue')
call s:HL('goBuiltins', 'orange')
" }}}
" Lua: {{{
call s:HL('luaIn', 'red')
call s:HL('luaFunction', 'aqua')
call s:HL('luaTable', 'orange')
" }}}
" MoonScript: {{{
call s:HL('moonSpecialOp', 'light3')
call s:HL('moonExtendedOp', 'light3')
call s:HL('moonFunction', 'light3')
call s:HL('moonObject', 'yellow')
" }}}
" Java: {{{
call s:HL('javaAnnotation', 'blue')
call s:HL('javaDocTags', 'aqua')
hi! link javaCommentTitle vimCommentTitle
call s:HL('javaParen', 'light3')
call s:HL('javaParen1', 'light3')
call s:HL('javaParen2', 'light3')
call s:HL('javaParen3', 'light3')
call s:HL('javaParen4', 'light3')
call s:HL('javaParen5', 'light3')
call s:HL('javaOperator', 'orange')
call s:HL('javaVarArg', 'green')
" }}}
" Functions -------------------------------------------------------------------
" Search Highlighting Cursor {{{
function! GruvboxHlsShowCursor()
call s:HL('Cursor', 'dark0', g:gruvbox_hls_cursor)
call s:HL('vCursor', 'dark0', g:gruvbox_hls_cursor)
call s:HL('iCursor', 'dark0', g:gruvbox_hls_cursor)
call s:HL('lCursor', 'dark0', g:gruvbox_hls_cursor)
endfunction
function! GruvboxHlsHideCursor()
call s:HL('Cursor', 'none', 'none', 'inverse')
call s:HL('vCursor', 'none', 'none', 'inverse')
call s:HL('iCursor', 'none', 'none', 'inverse')
call s:HL('lCursor', 'none', 'none', 'inverse')
endfunction
" }}}
" vim: set sw=3 ts=3 sts=3 noet tw=80 ft=vim fdm=marker:

116
gruvbox_256palette.sh Executable file
View File

@@ -0,0 +1,116 @@
#!/bin/sh
if [ "${TERM%%-*}" = "screen" ]; then
if [ -n "$TMUX" ]; then
printf "\033Ptmux;\033\033]4;236;rgb:32/30/2f\007\033\\"
printf "\033Ptmux;\033\033]4;234;rgb:1d/20/21\007\033\\"
printf "\033Ptmux;\033\033]4;235;rgb:28/28/28\007\033\\"
printf "\033Ptmux;\033\033]4;237;rgb:3c/38/36\007\033\\"
printf "\033Ptmux;\033\033]4;239;rgb:50/49/45\007\033\\"
printf "\033Ptmux;\033\033]4;241;rgb:66/5c/54\007\033\\"
printf "\033Ptmux;\033\033]4;243;rgb:7c/6f/64\007\033\\"
printf "\033Ptmux;\033\033]4;244;rgb:92/83/74\007\033\\"
printf "\033Ptmux;\033\033]4;245;rgb:92/83/74\007\033\\"
printf "\033Ptmux;\033\033]4;228;rgb:f4/e8/ba\007\033\\"
printf "\033Ptmux;\033\033]4;230;rgb:ff/ff/c8\007\033\\"
printf "\033Ptmux;\033\033]4;229;rgb:fd/f4/c1\007\033\\"
printf "\033Ptmux;\033\033]4;223;rgb:eb/db/b2\007\033\\"
printf "\033Ptmux;\033\033]4;250;rgb:d5/c4/a1\007\033\\"
printf "\033Ptmux;\033\033]4;248;rgb:bd/ae/93\007\033\\"
printf "\033Ptmux;\033\033]4;246;rgb:a8/99/84\007\033\\"
printf "\033Ptmux;\033\033]4;167;rgb:fb/49/34\007\033\\"
printf "\033Ptmux;\033\033]4;142;rgb:b8/bb/26\007\033\\"
printf "\033Ptmux;\033\033]4;214;rgb:fa/bd/2f\007\033\\"
printf "\033Ptmux;\033\033]4;109;rgb:83/a5/98\007\033\\"
printf "\033Ptmux;\033\033]4;175;rgb:d3/86/9b\007\033\\"
printf "\033Ptmux;\033\033]4;108;rgb:8e/c0/7c\007\033\\"
printf "\033Ptmux;\033\033]4;208;rgb:fe/80/19\007\033\\"
printf "\033Ptmux;\033\033]4;88;rgb:9d/00/06\007\033\\"
printf "\033Ptmux;\033\033]4;100;rgb:79/74/0e\007\033\\"
printf "\033Ptmux;\033\033]4;136;rgb:b5/76/14\007\033\\"
printf "\033Ptmux;\033\033]4;24;rgb:07/66/78\007\033\\"
printf "\033Ptmux;\033\033]4;96;rgb:8f/3f/71\007\033\\"
printf "\033Ptmux;\033\033]4;66;rgb:42/7b/58\007\033\\"
printf "\033Ptmux;\033\033]4;130;rgb:af/3a/03\007\033\\"
else
printf "\033P\033]4;236;rgb:32/30/2f\007\033\\"
printf "\033P\033]4;234;rgb:1d/20/21\007\033\\"
printf "\033P\033]4;235;rgb:28/28/28\007\033\\"
printf "\033P\033]4;237;rgb:3c/38/36\007\033\\"
printf "\033P\033]4;239;rgb:50/49/45\007\033\\"
printf "\033P\033]4;241;rgb:66/5c/54\007\033\\"
printf "\033P\033]4;243;rgb:7c/6f/64\007\033\\"
printf "\033P\033]4;244;rgb:92/83/74\007\033\\"
printf "\033P\033]4;245;rgb:92/83/74\007\033\\"
printf "\033P\033]4;228;rgb:f4/e8/ba\007\033\\"
printf "\033P\033]4;230;rgb:ff/ff/c8\007\033\\"
printf "\033P\033]4;229;rgb:fd/f4/c1\007\033\\"
printf "\033P\033]4;223;rgb:eb/db/b2\007\033\\"
printf "\033P\033]4;250;rgb:d5/c4/a1\007\033\\"
printf "\033P\033]4;248;rgb:bd/ae/93\007\033\\"
printf "\033P\033]4;246;rgb:a8/99/84\007\033\\"
printf "\033P\033]4;167;rgb:fb/49/34\007\033\\"
printf "\033P\033]4;142;rgb:b8/bb/26\007\033\\"
printf "\033P\033]4;214;rgb:fa/bd/2f\007\033\\"
printf "\033P\033]4;109;rgb:83/a5/98\007\033\\"
printf "\033P\033]4;175;rgb:d3/86/9b\007\033\\"
printf "\033P\033]4;108;rgb:8e/c0/7c\007\033\\"
printf "\033P\033]4;208;rgb:fe/80/19\007\033\\"
printf "\033P\033]4;88;rgb:9d/00/06\007\033\\"
printf "\033P\033]4;100;rgb:79/74/0e\007\033\\"
printf "\033P\033]4;136;rgb:b5/76/14\007\033\\"
printf "\033P\033]4;24;rgb:07/66/78\007\033\\"
printf "\033P\033]4;96;rgb:8f/3f/71\007\033\\"
printf "\033P\033]4;66;rgb:42/7b/58\007\033\\"
printf "\033P\033]4;130;rgb:af/3a/03\007\033\\"
fi
else
printf "\033]4;236;rgb:32/30/2f\033\\"
printf "\033]4;234;rgb:1d/20/21\033\\"
printf "\033]4;235;rgb:28/28/28\033\\"
printf "\033]4;237;rgb:3c/38/36\033\\"
printf "\033]4;239;rgb:50/49/45\033\\"
printf "\033]4;241;rgb:66/5c/54\033\\"
printf "\033]4;243;rgb:7c/6f/64\033\\"
printf "\033]4;244;rgb:92/83/74\033\\"
printf "\033]4;245;rgb:92/83/74\033\\"
printf "\033]4;228;rgb:f4/e8/ba\033\\"
printf "\033]4;230;rgb:ff/ff/c8\033\\"
printf "\033]4;229;rgb:fd/f4/c1\033\\"
printf "\033]4;223;rgb:eb/db/b2\033\\"
printf "\033]4;250;rgb:d5/c4/a1\033\\"
printf "\033]4;248;rgb:bd/ae/93\033\\"
printf "\033]4;246;rgb:a8/99/84\033\\"
printf "\033]4;167;rgb:fb/49/34\033\\"
printf "\033]4;142;rgb:b8/bb/26\033\\"
printf "\033]4;214;rgb:fa/bd/2f\033\\"
printf "\033]4;109;rgb:83/a5/98\033\\"
printf "\033]4;175;rgb:d3/86/9b\033\\"
printf "\033]4;108;rgb:8e/c0/7c\033\\"
printf "\033]4;208;rgb:fe/80/19\033\\"
printf "\033]4;88;rgb:9d/00/06\033\\"
printf "\033]4;100;rgb:79/74/0e\033\\"
printf "\033]4;136;rgb:b5/76/14\033\\"
printf "\033]4;24;rgb:07/66/78\033\\"
printf "\033]4;96;rgb:8f/3f/71\033\\"
printf "\033]4;66;rgb:42/7b/58\033\\"
printf "\033]4;130;rgb:af/3a/03\033\\"
fi

116
gruvbox_256palette_osx.sh Executable file
View File

@@ -0,0 +1,116 @@
#!/bin/sh
if [ "${TERM%%-*}" = "screen" ]; then
if [ -n "$TMUX" ]; then
echo -ne "\x1bPtmux;\x1b\x1b]4;236;rgb:32/30/2f\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;234;rgb:1d/20/21\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;235;rgb:28/28/28\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;237;rgb:3c/38/36\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;239;rgb:50/49/45\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;241;rgb:66/5c/54\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;243;rgb:7c/6f/64\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;244;rgb:92/83/74\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;245;rgb:92/83/74\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;228;rgb:f4/e8/ba\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;230;rgb:ff/ff/c8\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;229;rgb:fd/f4/c1\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;223;rgb:eb/db/b2\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;250;rgb:d5/c4/a1\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;248;rgb:bd/ae/93\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;246;rgb:a8/99/84\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;167;rgb:fb/49/34\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;142;rgb:b8/bb/26\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;214;rgb:fa/bd/2f\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;109;rgb:83/a5/98\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;175;rgb:d3/86/9b\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;108;rgb:8e/c0/7c\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;208;rgb:fe/80/19\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;88;rgb:9d/00/06\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;100;rgb:79/74/0e\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;136;rgb:b5/76/14\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;24;rgb:07/66/78\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;96;rgb:8f/3f/71\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;66;rgb:42/7b/58\a\x1b\\"
echo -ne "\x1bPtmux;\x1b\x1b]4;130;rgb:af/3a/03\a\x1b\\"
else
echo -ne "\x1bP\x1b]4;236;rgb:32/30/2f\a\x1b\\"
echo -ne "\x1bP\x1b]4;234;rgb:1d/20/21\a\x1b\\"
echo -ne "\x1bP\x1b]4;235;rgb:28/28/28\a\x1b\\"
echo -ne "\x1bP\x1b]4;237;rgb:3c/38/36\a\x1b\\"
echo -ne "\x1bP\x1b]4;239;rgb:50/49/45\a\x1b\\"
echo -ne "\x1bP\x1b]4;241;rgb:66/5c/54\a\x1b\\"
echo -ne "\x1bP\x1b]4;243;rgb:7c/6f/64\a\x1b\\"
echo -ne "\x1bP\x1b]4;244;rgb:92/83/74\a\x1b\\"
echo -ne "\x1bP\x1b]4;245;rgb:92/83/74\a\x1b\\"
echo -ne "\x1bP\x1b]4;228;rgb:f4/e8/ba\a\x1b\\"
echo -ne "\x1bP\x1b]4;230;rgb:ff/ff/c8\a\x1b\\"
echo -ne "\x1bP\x1b]4;229;rgb:fd/f4/c1\a\x1b\\"
echo -ne "\x1bP\x1b]4;223;rgb:eb/db/b2\a\x1b\\"
echo -ne "\x1bP\x1b]4;250;rgb:d5/c4/a1\a\x1b\\"
echo -ne "\x1bP\x1b]4;248;rgb:bd/ae/93\a\x1b\\"
echo -ne "\x1bP\x1b]4;246;rgb:a8/99/84\a\x1b\\"
echo -ne "\x1bP\x1b]4;167;rgb:fb/49/34\a\x1b\\"
echo -ne "\x1bP\x1b]4;142;rgb:b8/bb/26\a\x1b\\"
echo -ne "\x1bP\x1b]4;214;rgb:fa/bd/2f\a\x1b\\"
echo -ne "\x1bP\x1b]4;109;rgb:83/a5/98\a\x1b\\"
echo -ne "\x1bP\x1b]4;175;rgb:d3/86/9b\a\x1b\\"
echo -ne "\x1bP\x1b]4;108;rgb:8e/c0/7c\a\x1b\\"
echo -ne "\x1bP\x1b]4;208;rgb:fe/80/19\a\x1b\\"
echo -ne "\x1bP\x1b]4;88;rgb:9d/00/06\a\x1b\\"
echo -ne "\x1bP\x1b]4;100;rgb:79/74/0e\a\x1b\\"
echo -ne "\x1bP\x1b]4;136;rgb:b5/76/14\a\x1b\\"
echo -ne "\x1bP\x1b]4;24;rgb:07/66/78\a\x1b\\"
echo -ne "\x1bP\x1b]4;96;rgb:8f/3f/71\a\x1b\\"
echo -ne "\x1bP\x1b]4;66;rgb:42/7b/58\a\x1b\\"
echo -ne "\x1bP\x1b]4;130;rgb:af/3a/03\a\x1b\\"
fi
else
echo -ne "\x1b]4;236;rgb:32/30/2f\x1b\\"
echo -ne "\x1b]4;234;rgb:1d/20/21\x1b\\"
echo -ne "\x1b]4;235;rgb:28/28/28\x1b\\"
echo -ne "\x1b]4;237;rgb:3c/38/36\x1b\\"
echo -ne "\x1b]4;239;rgb:50/49/45\x1b\\"
echo -ne "\x1b]4;241;rgb:66/5c/54\x1b\\"
echo -ne "\x1b]4;243;rgb:7c/6f/64\x1b\\"
echo -ne "\x1b]4;244;rgb:92/83/74\x1b\\"
echo -ne "\x1b]4;245;rgb:92/83/74\x1b\\"
echo -ne "\x1b]4;228;rgb:f4/e8/ba\x1b\\"
echo -ne "\x1b]4;230;rgb:ff/ff/c8\x1b\\"
echo -ne "\x1b]4;229;rgb:fd/f4/c1\x1b\\"
echo -ne "\x1b]4;223;rgb:eb/db/b2\x1b\\"
echo -ne "\x1b]4;250;rgb:d5/c4/a1\x1b\\"
echo -ne "\x1b]4;248;rgb:bd/ae/93\x1b\\"
echo -ne "\x1b]4;246;rgb:a8/99/84\x1b\\"
echo -ne "\x1b]4;167;rgb:fb/49/34\x1b\\"
echo -ne "\x1b]4;142;rgb:b8/bb/26\x1b\\"
echo -ne "\x1b]4;214;rgb:fa/bd/2f\x1b\\"
echo -ne "\x1b]4;109;rgb:83/a5/98\x1b\\"
echo -ne "\x1b]4;175;rgb:d3/86/9b\x1b\\"
echo -ne "\x1b]4;108;rgb:8e/c0/7c\x1b\\"
echo -ne "\x1b]4;208;rgb:fe/80/19\x1b\\"
echo -ne "\x1b]4;88;rgb:9d/00/06\x1b\\"
echo -ne "\x1b]4;100;rgb:79/74/0e\x1b\\"
echo -ne "\x1b]4;136;rgb:b5/76/14\x1b\\"
echo -ne "\x1b]4;24;rgb:07/66/78\x1b\\"
echo -ne "\x1b]4;96;rgb:8f/3f/71\x1b\\"
echo -ne "\x1b]4;66;rgb:42/7b/58\x1b\\"
echo -ne "\x1b]4;130;rgb:af/3a/03\x1b\\"
fi