mirror of
https://github.com/lifepillar/vim-solarized8.git
synced 2025-12-10 07:46:58 +00:00
Rebuild colorschemes and update the docs for Neovim.
This commit is contained in:
84
Readme.md
84
Readme.md
@@ -1,37 +1,31 @@
|
||||
# Solarized 8: True Colors
|
||||
# Solarized 8 for Neovim
|
||||
|
||||
Solarized 8 Flat Dark | Solarized 8 Flat Light
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
This is yet another Solarized theme for Vim. It places itself half way between
|
||||
This is yet another Solarized theme for Neovim. It places itself half way between
|
||||
the original [Solarized](https://github.com/altercation/vim-colors-solarized)
|
||||
and the [Flattened](https://github.com/romainl/flattened) variant. It
|
||||
removes only *some* of the bullshit. The color palette is exactly the same as
|
||||
in Solarized, although some highlight groups are defined slightly
|
||||
differently (for instance, I have tried to avoid red on blue).
|
||||
|
||||
The main reason for the existence of this project is that the original Solarized
|
||||
theme does not define `guifg` and `guibg` in terminal Vim, making it unsuitable
|
||||
for versions of Vim supporting true-color (i.e., 24-bit color) terminals.
|
||||
Instead, this color scheme works **out of the box everywhere**. For the best
|
||||
experience, you need:
|
||||
The main reason for the existence of this project is that the original
|
||||
Solarized theme does not define `guifg` and `guibg` in terminal Vim, making it
|
||||
unsuitable for Neovim and capable terminals. Instead, this color scheme works
|
||||
**out of the box everywhere**. For the best experience, you need:
|
||||
|
||||
- Vim ≥7.4.1799, or NeoVim, with `termguicolors` set, **and**
|
||||
- NeoVim with `termguicolors` set, **and**
|
||||
- a terminal supporting millions of colors (but see below for workarounds).
|
||||
|
||||
Solarized 8 also works in any GUI version of Vim: no configuration is
|
||||
necessary.<sup>*</sup> See below for installation instructions.
|
||||
|
||||
<sup>*</sup> [VimR](https://github.com/qvacua/vimr) users must set
|
||||
`termguicolors` before loading the color scheme.
|
||||
## But, my terminal does not have millions of colors!
|
||||
|
||||
|
||||
## But, my terminal has only 256 colors!
|
||||
|
||||
For terminals not supporting true colors, Solarized 8 will fall back to use an
|
||||
approximate palette based on xterm's 256 colors, which looks more or less like
|
||||
this:
|
||||
For terminals not supporting true colors, set `g:solarized_t_Co` to the number
|
||||
of colors available in your terminal. If that variable is set to `256` then
|
||||
Solarized 8 will fall back to use an approximate palette based on xterm's 256
|
||||
colors, which looks more or less like this:
|
||||
|
||||
Dark 256 color palette | Light 256 color palette
|
||||
:-------------------------:|:-------------------------:
|
||||
@@ -40,10 +34,10 @@ Dark 256 color palette | Light 256 color palette
|
||||
(Yeah, it looks like a different color scheme: Solarized palette is far away
|
||||
from xterm colors!)
|
||||
|
||||
If you do not like this approximation, to get exact colors with such terminals
|
||||
you have two possibilities:
|
||||
If you do not like this approximation or if you want to force the use of the 16
|
||||
terrminal's ANSI colors, do one of the following:
|
||||
|
||||
1. Modify some of your terminal colors in the range 16–255 to match Solarized
|
||||
1. modify some of your terminal colors in the range 16–255 to match Solarized
|
||||
palette. For this purpose, you may run (*not* source!)
|
||||
`scripts/solarized8.sh`; no setting is needed in Vim. For instance, if you
|
||||
are using Bash, put this in `.bashrc`:
|
||||
@@ -56,11 +50,11 @@ you have two possibilities:
|
||||
instance, in Apple's Terminal.app, running `solarized.sh` has no effect.
|
||||
|
||||
2. Set your terminal's 16 ANSI colors (the colors in the range 0–15) to the
|
||||
Solarized palette (how to do that depends on the terminal) *and* `set
|
||||
t_Co=16` in Vim (or `let g:solarized_use16=1`) to instruct Vim to use your
|
||||
Solarized palette (how to do that depends on the terminal) *and* add
|
||||
`let g:solarized_t_Co=16` to your `vimrc` to instruct Neovim to use your
|
||||
terminal's colors. Be aware that, if you force the use of your terminal
|
||||
colors in Vim with any of these settings, but your terminal is not
|
||||
configured to use the Solarized palette, your colors will be completely off!
|
||||
colors in Neovim, but your terminal is not configured to use the Solarized
|
||||
palette, your colors will be completely off!
|
||||
|
||||
**Note:** whatever method you choose, keep in mind that if your terminal does
|
||||
not support millions of colors, you must *not* set `termguicolors` (i.e., make
|
||||
@@ -71,7 +65,7 @@ sure that `set termguicolors?` outputs `notermguicolors`).
|
||||
|
||||
In the past, Solarized 8 used to complain when your terminal did not support
|
||||
enough colors. But the current version will gracefully degrade to a (beautiful!)
|
||||
black&white color scheme:
|
||||
black&white color scheme. Just `let g:solarized_t_Co=0`:
|
||||
|
||||
Solarized 8 B&W variant | Solarized 8 B&W variant
|
||||
:-------------------------:|:-------------------------:
|
||||
@@ -80,11 +74,13 @@ Solarized 8 B&W variant | Solarized 8 B&W variant
|
||||
|
||||
## Installation
|
||||
|
||||
If your Vim supports packages (`echo has('packages')` prints `1`), I strongly
|
||||
recommend that you use them. Just clone this repo inside `pack/*/opt`, e.g.:
|
||||
I strongly recommend that you use Vim packages. Just clone this repo inside
|
||||
`pack/*/opt` and checkout the `neovim` branch:
|
||||
|
||||
git clone https://github.com/lifepillar/vim-solarized8.git \
|
||||
~/.vim/pack/themes/opt/solarized8
|
||||
~/.vim/pack/themes/start/solarized8
|
||||
cd ~/.vim/pack/themes/start/solarized8
|
||||
git checkout neovim
|
||||
|
||||
Otherwise, use you favourite installation method.
|
||||
|
||||
@@ -154,7 +150,7 @@ The following options were not available in the original Solarized:
|
||||
Solarized's cursor style (default: `0`). By default, the cursor is orange/red
|
||||
in light themes, and blue in dark themes (but please note that your terminal
|
||||
may override the cursor's color).
|
||||
- `g:solarized_use16`: set to `1` to force using your 16 ANSI terminal colors.
|
||||
- `g:solarized_t_Co`: set to the number of colors your terminal supports.
|
||||
- `g:solarized_extra_hi_groups`: set to `1` to enable Solarized
|
||||
filetype-specific syntax highlighting groups (default is `0`). Please be
|
||||
aware that if your Vim is not recent enough you may encounter [an
|
||||
@@ -164,36 +160,10 @@ The following options were not available in the original Solarized:
|
||||
All these options may be used with any Solarized 8 variant.
|
||||
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**Hey, I do not get the right colors when running Vim inside tmux or in my
|
||||
favourite true-color enabled terminal!**
|
||||
|
||||
Try putting this in your `.vimrc`:
|
||||
|
||||
```viml
|
||||
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
|
||||
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
|
||||
```
|
||||
|
||||
See `:h xterm-true-color` for the details.
|
||||
|
||||
It may also be necessary to add the following to your `tmux.conf`:
|
||||
|
||||
```
|
||||
# Add truecolor support
|
||||
set-option -ga terminal-overrides ",xterm-256color:Tc"
|
||||
# Default terminal is 256 colors
|
||||
set -g default-terminal "screen-256color"
|
||||
```
|
||||
|
||||
See the discussion [here](https://github.com/lifepillar/vim-solarized8/issues/4#issuecomment-985416964) for context.
|
||||
|
||||
|
||||
## Hacking
|
||||
|
||||
Do you want to hack the theme? Install
|
||||
[Colortemplate](https://github.com/lifepillar/vim-colortemplate), edit the
|
||||
[Colortemplate v2](https://github.com/lifepillar/vim-colortemplate), edit the
|
||||
`templates/*.colortemplate` files, then rebuild the color schemes.
|
||||
|
||||
If you extend or improve Solarized 8, please consider submitting a pull request!
|
||||
|
||||
@@ -4,22 +4,24 @@
|
||||
" Maintainer: Lifepillar <lifepillar@lifepillar.me>
|
||||
" Website: https://github.com/lifepillar/vim-solarized8
|
||||
" License: OSI approved MIT license
|
||||
" Last Updated: Tue Mar 29 13:47:13 2022
|
||||
" Last Updated: Tue Jun 6 14:37:46 2023
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
" Generated by Colortemplate v2.2.1
|
||||
|
||||
hi clear
|
||||
let g:colors_name = 'solarized8'
|
||||
|
||||
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
|
||||
let s:t_Co = has('gui_running') ? -1 : get(g:, 'solarized_t_Co', get(g:, 't_Co', exists('&t_Co') ? +&t_Co : 0))
|
||||
let s:italics = (&t_ZH != '' && &t_ZH != '[7m') || has('gui_running') || has('nvim')
|
||||
|
||||
let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co
|
||||
let s:italics = s:italics && get(g:, 'solarized_italics', 1)
|
||||
let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running')
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold FoldColumn
|
||||
hi! link CursorLineSign SignColumn
|
||||
hi! link Debug Special
|
||||
hi! link Define PreProc
|
||||
hi! link Delimiter Special
|
||||
@@ -29,6 +31,8 @@ hi! link Function Identifier
|
||||
hi! link Include PreProc
|
||||
hi! link Keyword Statement
|
||||
hi! link Label Statement
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link Macro PreProc
|
||||
hi! link Number Constant
|
||||
hi! link Operator Statement
|
||||
@@ -44,6 +48,8 @@ hi! link String Constant
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link debugBreakpoint SignColumn
|
||||
hi! link debugPC SignColumn
|
||||
hi! link lCursor Cursor
|
||||
|
||||
if &background ==# 'dark'
|
||||
@@ -2434,4 +2440,4 @@ endif
|
||||
" Term Colors: base2 red green yellow blue magenta cyan base02
|
||||
" Term Colors: base3 orange base1 base0 base00 violet base01 base03
|
||||
" Background: any
|
||||
" vim: et ts=2 sw=2
|
||||
" vim: et ts=8 sw=2 sts=2
|
||||
|
||||
@@ -4,22 +4,24 @@
|
||||
" Maintainer: Lifepillar <lifepillar@lifepillar.me>
|
||||
" Website: https://github.com/lifepillar/vim-solarized8
|
||||
" License: OSI approved MIT license
|
||||
" Last Updated: Tue Mar 29 13:47:15 2022
|
||||
" Last Updated: Tue Jun 6 14:37:48 2023
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
" Generated by Colortemplate v2.2.1
|
||||
|
||||
hi clear
|
||||
let g:colors_name = 'solarized8_flat'
|
||||
|
||||
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
|
||||
let s:t_Co = has('gui_running') ? -1 : get(g:, 'solarized_t_Co', get(g:, 't_Co', exists('&t_Co') ? +&t_Co : 0))
|
||||
let s:italics = (&t_ZH != '' && &t_ZH != '[7m') || has('gui_running') || has('nvim')
|
||||
|
||||
let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co
|
||||
let s:italics = s:italics && get(g:, 'solarized_italics', 1)
|
||||
let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running')
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold FoldColumn
|
||||
hi! link CursorLineSign SignColumn
|
||||
hi! link Debug Special
|
||||
hi! link Define PreProc
|
||||
hi! link Delimiter Special
|
||||
@@ -29,6 +31,8 @@ hi! link Function Identifier
|
||||
hi! link Include PreProc
|
||||
hi! link Keyword Statement
|
||||
hi! link Label Statement
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link Macro PreProc
|
||||
hi! link Number Constant
|
||||
hi! link Operator Statement
|
||||
@@ -44,6 +48,8 @@ hi! link String Constant
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link debugBreakpoint SignColumn
|
||||
hi! link debugPC SignColumn
|
||||
hi! link lCursor Cursor
|
||||
|
||||
if &background ==# 'dark'
|
||||
@@ -2332,4 +2338,4 @@ endif
|
||||
" Term Colors: base2 red green yellow blue magenta cyan base02
|
||||
" Term Colors: base3 orange base1 base0 base00 violet base01 base03
|
||||
" Background: any
|
||||
" vim: et ts=2 sw=2
|
||||
" vim: et ts=8 sw=2 sts=2
|
||||
|
||||
@@ -4,22 +4,24 @@
|
||||
" Maintainer: Lifepillar <lifepillar@lifepillar.me>
|
||||
" Website: https://github.com/lifepillar/vim-solarized8
|
||||
" License: OSI approved MIT license
|
||||
" Last Updated: Tue Mar 29 13:47:17 2022
|
||||
" Last Updated: Tue Jun 6 14:37:51 2023
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
" Generated by Colortemplate v2.2.1
|
||||
|
||||
hi clear
|
||||
let g:colors_name = 'solarized8_high'
|
||||
|
||||
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
|
||||
let s:t_Co = has('gui_running') ? -1 : get(g:, 'solarized_t_Co', get(g:, 't_Co', exists('&t_Co') ? +&t_Co : 0))
|
||||
let s:italics = (&t_ZH != '' && &t_ZH != '[7m') || has('gui_running') || has('nvim')
|
||||
|
||||
let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co
|
||||
let s:italics = s:italics && get(g:, 'solarized_italics', 1)
|
||||
let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running')
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold FoldColumn
|
||||
hi! link CursorLineSign SignColumn
|
||||
hi! link Debug Special
|
||||
hi! link Define PreProc
|
||||
hi! link Delimiter Special
|
||||
@@ -29,6 +31,8 @@ hi! link Function Identifier
|
||||
hi! link Include PreProc
|
||||
hi! link Keyword Statement
|
||||
hi! link Label Statement
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link Macro PreProc
|
||||
hi! link Number Constant
|
||||
hi! link Operator Statement
|
||||
@@ -44,6 +48,8 @@ hi! link String Constant
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link debugBreakpoint SignColumn
|
||||
hi! link debugPC SignColumn
|
||||
hi! link lCursor Cursor
|
||||
|
||||
if &background ==# 'dark'
|
||||
@@ -2410,4 +2416,4 @@ endif
|
||||
" Term Colors: base2 red green yellow blue magenta cyan base02
|
||||
" Term Colors: base3 orange base1 base0 base00 violet base01 base03
|
||||
" Background: any
|
||||
" vim: et ts=2 sw=2
|
||||
" vim: et ts=8 sw=2 sts=2
|
||||
|
||||
@@ -4,22 +4,24 @@
|
||||
" Maintainer: Lifepillar <lifepillar@lifepillar.me>
|
||||
" Website: https://github.com/lifepillar/vim-solarized8
|
||||
" License: OSI approved MIT license
|
||||
" Last Updated: Tue Mar 29 13:47:19 2022
|
||||
" Last Updated: Tue Jun 6 14:37:53 2023
|
||||
|
||||
" Generated by Colortemplate v2.2.0
|
||||
" Generated by Colortemplate v2.2.1
|
||||
|
||||
hi clear
|
||||
let g:colors_name = 'solarized8_low'
|
||||
|
||||
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
|
||||
let s:t_Co = has('gui_running') ? -1 : get(g:, 'solarized_t_Co', get(g:, 't_Co', exists('&t_Co') ? +&t_Co : 0))
|
||||
let s:italics = (&t_ZH != '' && &t_ZH != '[7m') || has('gui_running') || has('nvim')
|
||||
|
||||
let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co
|
||||
let s:italics = s:italics && get(g:, 'solarized_italics', 1)
|
||||
let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running')
|
||||
hi! link Boolean Constant
|
||||
hi! link Character Constant
|
||||
hi! link Conditional Statement
|
||||
hi! link CurSearch Search
|
||||
hi! link CursorLineFold FoldColumn
|
||||
hi! link CursorLineSign SignColumn
|
||||
hi! link Debug Special
|
||||
hi! link Define PreProc
|
||||
hi! link Delimiter Special
|
||||
@@ -29,6 +31,8 @@ hi! link Function Identifier
|
||||
hi! link Include PreProc
|
||||
hi! link Keyword Statement
|
||||
hi! link Label Statement
|
||||
hi! link LineNrAbove LineNr
|
||||
hi! link LineNrBelow LineNr
|
||||
hi! link Macro PreProc
|
||||
hi! link Number Constant
|
||||
hi! link Operator Statement
|
||||
@@ -44,6 +48,8 @@ hi! link String Constant
|
||||
hi! link Structure Type
|
||||
hi! link Tag Special
|
||||
hi! link Typedef Type
|
||||
hi! link debugBreakpoint SignColumn
|
||||
hi! link debugPC SignColumn
|
||||
hi! link lCursor Cursor
|
||||
|
||||
if &background ==# 'dark'
|
||||
@@ -2410,4 +2416,4 @@ endif
|
||||
" Term Colors: base2 red green yellow blue magenta cyan base02
|
||||
" Term Colors: base3 orange base1 base0 base00 violet base01 base03
|
||||
" Background: any
|
||||
" vim: et ts=2 sw=2
|
||||
" vim: et ts=8 sw=2 sts=2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*solarized8.txt* For Vim version 8.2 Last change: 2022 May 03
|
||||
*solarized8.txt* For Vim version 9.0 Last change: 2023 Jun 06
|
||||
|
||||
|
||||
Solarized 8 color scheme
|
||||
@@ -53,11 +53,9 @@ terminal.
|
||||
>
|
||||
let g:solarized_termtrans = 0
|
||||
<
|
||||
*g:solarized_use16*
|
||||
Set to 1 if you want to force using the 16 ANSI terminal colors.
|
||||
>
|
||||
let g:solarized_use16 = 0
|
||||
<
|
||||
*g:solarized_t_Co*
|
||||
Set this to tell the colorscheme how many colors are available.
|
||||
|
||||
*g:solarized_visibility*
|
||||
Tweak the visibility of a few elements. Allowed values are `"normal"`
|
||||
(default), `"high"`, and `"low"`.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
; vim: ft=colortemplate fdm=marker
|
||||
#let s:t_Co = get(g:, '@optionprefix_use16', 0) ? 16 : s:t_Co
|
||||
#let s:italics = s:italics && get(g:, '@optionprefix_italics', 1)
|
||||
#let s:termtrans = get(g:, '@optionprefix_termtrans', 0) && !has('gui_running')
|
||||
Include: _linked_groups.colortemplate
|
||||
|
||||
@@ -54,11 +54,9 @@ terminal.
|
||||
>
|
||||
let g:@optionprefix_termtrans = 0
|
||||
<
|
||||
*g:@optionprefix_use16*
|
||||
Set to 1 if you want to force using the 16 ANSI terminal colors.
|
||||
>
|
||||
let g:@optionprefix_use16 = 0
|
||||
<
|
||||
*g:@optionprefix_t_Co*
|
||||
Set this to tell the colorscheme how many colors are available.
|
||||
|
||||
*g:@optionprefix_visibility*
|
||||
Tweak the visibility of a few elements. Allowed values are `"normal"`
|
||||
(default), `"high"`, and `"low"`.
|
||||
|
||||
Reference in New Issue
Block a user