add everforest colorshceme
This commit is contained in:
@@ -0,0 +1,537 @@
|
||||
*everforest.txt* Comfortable & Pleasant Color Scheme for Vim
|
||||
*everforest*
|
||||
>
|
||||
______ ____ __
|
||||
/ ____/ _____ _____/ __/___ ________ _____/ /_
|
||||
/ __/ | | / / _ \/ ___/ /_/ __ \/ ___/ _ \/ ___/ __/
|
||||
/ /___ | |/ / __/ / / __/ /_/ / / / __(__ ) /_
|
||||
/_____/ |___/\___/_/ /_/ \____/_/ \___/____/\__/
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *everforest-contents*
|
||||
|
||||
Introduction |everforest-introduction|
|
||||
Installation |everforest-installation|
|
||||
Usage |everforest-usage|
|
||||
Configuration |everforest-configuration|
|
||||
FAQ |everforest-faq|
|
||||
|
||||
Note: Type |gO| in neovim to show the outline of contents.
|
||||
|
||||
==============================================================================
|
||||
INTRODUCTION *everforest-introduction*
|
||||
|
||||
Everforest is a green based color scheme, it's designed to be warm and soft
|
||||
in order to protect developers' eyes.
|
||||
|
||||
Features~
|
||||
|
||||
- Green based but warm-toned.
|
||||
- Designed to have soft contrast for eye protection.
|
||||
- Works well with [redshift](https://github.com/jonls/redshift) and [f.lux](https://justgetflux.com).
|
||||
- Customizable.
|
||||
- Rich support for common file types and plugins.
|
||||
- Tree-sitter support.
|
||||
- Semantic highlighting support.
|
||||
- Italic support 🎉
|
||||
|
||||
==============================================================================
|
||||
INSTALLATION *everforest-installation*
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Via Plugin Manager~
|
||||
|
||||
Take [vim-plug](https://github.com/junegunn/vim-plug) for example:
|
||||
>
|
||||
Plug 'sainnhe/everforest'
|
||||
<
|
||||
For better syntax highlighting support, please install
|
||||
https://github.com/sheerun/vim-polyglot or https://github.com/nvim-treesitter/nvim-treesitter.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Via Pack Feature~
|
||||
|
||||
1. Create a new directory: `$ mkdir -p ~/.vim/pack/colors/opt`
|
||||
|
||||
2. Clone this repository: `$ git clone --depth 1 https://github.com/sainnhe/everforest.git ~/.vim/pack/colors/opt/everforest`
|
||||
|
||||
3. Generate help tags: `:helptags ~/.vim/pack/colors/opt/everforest/doc/`
|
||||
|
||||
4. Add `packadd! everforest` to your vimrc.
|
||||
|
||||
Note: If you install this color scheme to `pack/*/start`, you still need to add `packadd! everforest` to your vimrc. [sainnhe/gruvbox-material#60](https://github.com/sainnhe/gruvbox-material/issues/60)
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Manually~
|
||||
|
||||
1. Clone the repository: `git clone --depth 1 https://github.com/sainnhe/everforest.git`
|
||||
|
||||
2. Copy `/path/to/everforest/autoload/everforest.vim` to
|
||||
`~/.vim/autoload/` .
|
||||
|
||||
3. Copy `/path/to/everforest/colors/everforest.vim` to
|
||||
`~/.vim/colors/` .
|
||||
|
||||
4. Copy `/path/to/everforest/doc/everforest.txt` to
|
||||
`~/.vim/doc/` and execute `:helptags ~/.vim/doc/` to generate help tags.
|
||||
|
||||
5. To install [airline](https://github.com/vim-airline/vim-airline) theme,
|
||||
copy `/path/to/everforest/autoload/airline/themes/everforest.vim`
|
||||
to `~/.vim/autoload/airline/themes/` .
|
||||
|
||||
6. To install [lightline](https://github.com/itchyny/lightline.vim) theme,
|
||||
copy `/path/to/everforest/autoload/lightline/colorscheme/everforest.vim`
|
||||
to `~/.vim/autoload/lightline/colorscheme/` .
|
||||
|
||||
7. To install [lualine](https://github.com/nvim-lualine/lualine.nvim) theme,
|
||||
copy `/path/to/everforest/lua/lualine/themes/everforest.lua`
|
||||
to `~/.config/nvim/lua/lualine/themes/` .
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
AUR~
|
||||
|
||||
There are some packages available for Arch Linux users in AUR:
|
||||
|
||||
- [vim-everforest-git](https://aur.archlinux.org/pkgbase/vim-everforest-git/)
|
||||
- [neovim-everforest-git](https://aur.archlinux.org/pkgbase/neovim-everforest-git/)
|
||||
|
||||
==============================================================================
|
||||
USAGE *everforest-usage*
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Vim~
|
||||
|
||||
Put something like this in your vimrc:
|
||||
>
|
||||
" Important!!
|
||||
if has('termguicolors')
|
||||
set termguicolors
|
||||
endif
|
||||
|
||||
" For dark version.
|
||||
set background=dark
|
||||
|
||||
" For light version.
|
||||
set background=light
|
||||
|
||||
" Set contrast.
|
||||
" This configuration option should be placed before `colorscheme everforest`.
|
||||
" Available values: 'hard', 'medium'(default), 'soft'
|
||||
let g:everforest_background = 'soft'
|
||||
|
||||
" For better performance
|
||||
let g:everforest_better_performance = 1
|
||||
|
||||
colorscheme everforest
|
||||
<
|
||||
See |everforest-configuration| for more configuration options.
|
||||
|
||||
If you want to apply this color scheme temporarily, run this command in
|
||||
vim(this may cause broken colors):
|
||||
>
|
||||
:colorscheme everforest
|
||||
<
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Airline~
|
||||
|
||||
To enable [airline](https://github.com/vim-airline/vim-airline) color
|
||||
scheme, put this in your vimrc:
|
||||
>
|
||||
let g:airline_theme = 'everforest'
|
||||
<
|
||||
To apply it without reloading:
|
||||
>
|
||||
:AirlineTheme everforest
|
||||
<
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Lightline~
|
||||
|
||||
To enable [lightline](https://github.com/itchyny/lightline.vim) color
|
||||
scheme, put this in your vimrc:
|
||||
>
|
||||
let g:lightline = {}
|
||||
let g:lightline.colorscheme = 'everforest'
|
||||
|
||||
" Or this line:
|
||||
let g:lightline = {'colorscheme' : 'everforest'}
|
||||
<
|
||||
To apply it without reloading:
|
||||
>
|
||||
:let g:lightline.colorscheme = 'everforest'
|
||||
:call lightline#init()
|
||||
:call lightline#colorscheme()
|
||||
<
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Lualine~
|
||||
|
||||
To enable [lualine](https://github.com/nvim-lualine/lualine.nvim) color
|
||||
scheme, put this in your init.lua:
|
||||
>
|
||||
require'lualine'.setup {
|
||||
options = {
|
||||
theme = 'everforest'
|
||||
}
|
||||
}
|
||||
<
|
||||
To apply it without reloading:
|
||||
>
|
||||
:lua require'lualine'.setup {options = {theme = 'everforest'}}
|
||||
<
|
||||
==============================================================================
|
||||
CONFIGURATION *everforest-configuration*
|
||||
|
||||
Note: the configuration options should be placed before `colorscheme everforest`
|
||||
|
||||
E.g.
|
||||
>
|
||||
if has('termguicolors')
|
||||
set termguicolors
|
||||
endif
|
||||
set background=light
|
||||
|
||||
let g:everforest_background = 'soft'
|
||||
let g:everforest_better_performance = 1
|
||||
|
||||
colorscheme everforest
|
||||
let g:lightline.colorscheme = 'everforest'
|
||||
<
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_background*
|
||||
g:everforest_background~
|
||||
|
||||
The background contrast used in this color scheme.
|
||||
|
||||
Type: |String|
|
||||
Available values: `'hard'`, `'medium'`, `'soft'`
|
||||
Default value: `'medium'`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_enable_italic*
|
||||
g:everforest_enable_italic~
|
||||
|
||||
To enable italic in this color scheme, set this option to `1`.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `0`, `1`
|
||||
Default value: `0`
|
||||
|
||||
Note: This option is designed to use with fonts that support cursive italics.
|
||||
See |everforest-faq| for more information.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_disable_italic_comment*
|
||||
g:everforest_disable_italic_comment~
|
||||
|
||||
By default, italic is enabled in `Comment`. To disable italic in `Comment`, set
|
||||
this option to `1`.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `0`, `1`
|
||||
Default value: `0`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_cursor*
|
||||
g:everforest_cursor~
|
||||
|
||||
Customize the cursor color, only works in GUI clients.
|
||||
|
||||
Type: |String|
|
||||
Available values: `'auto'`, `'red'`, `'orange'`, `'yellow'`, `'green'`,
|
||||
`'aqua'`, `'blue'`, `'purple'`
|
||||
Default value: `'auto'`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_transparent_background*
|
||||
g:everforest_transparent_background~
|
||||
|
||||
To use transparent background, set this option to `1`.
|
||||
|
||||
If you want more ui components to be transparent (for example, status line
|
||||
background), set this option to `2`.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `0`, `1`, `2`
|
||||
Default value: `0`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_sign_column_background*
|
||||
g:everforest_sign_column_background~
|
||||
|
||||
By default, the background color of sign column is different from normal text.
|
||||
If you want to make it the same as normal text, set this option to `'none'`.
|
||||
|
||||
Type: |String|
|
||||
Available values: `'default'`, `'none'`
|
||||
Default value: `'default'`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_spell_foreground*
|
||||
g:everforest_spell_foreground~
|
||||
|
||||
By default, this color scheme won't color the foreground of |spell|, instead
|
||||
colored under curls will be used. If you also want to color the foreground,
|
||||
set this option to `'colored'`.
|
||||
|
||||
Type: |String|
|
||||
Available values: `'none'`, `'colored'`
|
||||
Default value: `'none'`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_ui_contrast*
|
||||
g:everforest_ui_contrast~
|
||||
|
||||
The contrast of line numbers, indent lines, etc.
|
||||
|
||||
Type: |String|
|
||||
Available values: `'low'`, `'high'`
|
||||
Default value: `'low'`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_show_eob*
|
||||
g:everforest_show_eob~
|
||||
|
||||
Whether to show |hl-EndOfBuffer|.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `1`, `0`
|
||||
Default value: `1`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_diagnostic_text_highlight*
|
||||
g:everforest_diagnostic_text_highlight~
|
||||
|
||||
Some plugins support highlighting error/warning/info/hint texts, by default
|
||||
these texts are only underlined, but you can use this option to also highlight
|
||||
the background of them.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `0`, `1`
|
||||
Default value: `0`
|
||||
|
||||
Currently, the following plugins are supported:
|
||||
|
||||
- neovim's built-in language server client
|
||||
- https://github.com/neoclide/coc.nvim
|
||||
- https://github.com/prabirshrestha/vim-lsp
|
||||
- https://github.com/ycm-core/YouCompleteMe
|
||||
- https://github.com/dense-analysis/ale
|
||||
- https://github.com/neomake/neomake
|
||||
- https://github.com/vim-syntastic/syntastic
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_diagnostic_line_highlight*
|
||||
g:everforest_diagnostic_line_highlight~
|
||||
|
||||
Some plugins support highlighting error/warning/info/hint lines, but this
|
||||
feature is disabled by default in this color scheme. To enable this feature,
|
||||
set this option to `1`.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `0`, `1`
|
||||
Default value: `0`
|
||||
|
||||
Currently, the following plugins are supported:
|
||||
|
||||
- https://github.com/neoclide/coc.nvim
|
||||
- https://github.com/ycm-core/YouCompleteMe
|
||||
- https://github.com/dense-analysis/ale
|
||||
- https://github.com/vim-syntastic/syntastic
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_diagnostic_virtual_text*
|
||||
g:everforest_diagnostic_virtual_text~
|
||||
|
||||
Some plugins can use virtual text feature of neovim to display
|
||||
error/warning/info/hint information, you can use this option to adjust the
|
||||
colors of it.
|
||||
|
||||
Type: |String|
|
||||
Available values: `'grey'`, `'colored'`
|
||||
Default value: `'grey'`
|
||||
|
||||
Currently, the following plugins are supported:
|
||||
|
||||
- neovim's built-in language server client
|
||||
- https://github.com/neoclide/coc.nvim
|
||||
- https://github.com/prabirshrestha/vim-lsp
|
||||
- https://github.com/dense-analysis/ale
|
||||
- https://github.com/neomake/neomake
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_current_word*
|
||||
g:everforest_current_word~
|
||||
|
||||
Some plugins can highlight the word under current cursor, you can use this
|
||||
option to control their behavior.
|
||||
|
||||
Type: |String|
|
||||
Available values: `'grey background'`, `'bold'`, `'underline'`, `'italic'`
|
||||
Default value: `'grey background'` when not in transparent mode, `'bold'`
|
||||
when in transparent mode.
|
||||
|
||||
Currently, the following plugins are supported:
|
||||
|
||||
- https://github.com/neoclide/coc-highlight
|
||||
- https://github.com/dominikduda/vim_current_word
|
||||
- https://github.com/RRethy/vim-illuminate
|
||||
- https://github.com/itchyny/vim-cursorword
|
||||
- https://github.com/prabirshrestha/vim-lsp
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_disable_terminal_colors*
|
||||
g:everforest_disable_terminal_colors~
|
||||
|
||||
Setting this option to `1` will disable terminal colors provided by this color
|
||||
scheme so you can remain terminal colors the same when using |:terminal| in
|
||||
vim and outside of vim.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `0`, `1`
|
||||
Default value: `0`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_lightline_disable_bold*
|
||||
g:everforest_lightline_disable_bold~
|
||||
|
||||
By default, bold is enabled in lightline color scheme. To disable bold in
|
||||
lightline color scheme, set this option to `1`.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `0`, `1`
|
||||
Default value: `0`
|
||||
|
||||
Note: this configuration option doesn't need to be placed before `colorscheme everforest`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_better_performance*
|
||||
g:everforest_better_performance~
|
||||
|
||||
The loading time of this color scheme is very long because too many file types
|
||||
and plugins are optimized. This feature allows you to load part of the code on
|
||||
demand by placing them in the `after/syntax` directory.
|
||||
|
||||
Enabling this option will reduce loading time by approximately 50%.
|
||||
|
||||
Type: |Number|
|
||||
Available values: `0`, `1`
|
||||
Default value: `0`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*g:everforest_colors_override*
|
||||
g:everforest_colors_override
|
||||
|
||||
Override color palette. The available keys can be found in
|
||||
`/path/to/everforest/autoload/everforest.vim`.
|
||||
|
||||
E.g.
|
||||
|
||||
let g:everforest_colors_override = {'bg0': ['#202020', '234'], 'bg2': ['#282828', '235']}
|
||||
colorscheme everforest
|
||||
|
||||
Type: |Dictionary|
|
||||
Default value: `{}`
|
||||
|
||||
==============================================================================
|
||||
FAQ *everforest-faq*
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
The colors don't match those in the screenshots.~
|
||||
|
||||
1. This color scheme is mainly designed for true colors, `set termguicolors`
|
||||
is required. Check output of `vim --version`, maybe your vim doesn't support
|
||||
`termguicolors`.
|
||||
|
||||
2. Maybe your terminal emulator doesn't support true colors, you can test it
|
||||
using [this script](https://unix.stackexchange.com/questions/404414/print-true-color-24-bit-test-pattern).
|
||||
|
||||
3. If you are running vim in tmux, you need to override default true colors of
|
||||
tmux, as tmux cannot display true colors properly:
|
||||
[#1246 How to use true colors in vim under tmux?](https://github.com/tmux/tmux/issues/1246)
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
The configuration options don't work.~
|
||||
|
||||
You should place them before `colorscheme everforest` .
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
A lot of errors are detected if I install with pack feature.~
|
||||
|
||||
You'll need to add `packadd! everforest` before applying this color scheme.
|
||||
Check [sainnhe/gruvbox-material#60](https://github.com/sainnhe/gruvbox-material/issues/60)
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
How to enable cursive italic keywords?~
|
||||
|
||||
1. Install a font that supports cursive italics, for example https://www.sainnhe.dev/post/patch-fonts-with-cursive-italic-styles/
|
||||
|
||||
2. Enable italic keywords in this color scheme: `let g:everforest_enable_italic = 1`
|
||||
|
||||
3. (Optional) Disable italic comment: `let g:everforest_disable_italic_comment = 1`
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
The comment color looks weird.~
|
||||
|
||||
Some terminal emulators don't support italics, which may cause the comment
|
||||
color looks weird. See https://github.com/sainnhe/gruvbox-material/issues/5#issuecomment-729586348
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
How to use custom colors?~
|
||||
>
|
||||
function! s:everforest_custom() abort
|
||||
" Link a highlight group to a predefined highlight group.
|
||||
" See `colors/everforest.vim` for all predefined highlight groups.
|
||||
highlight! link groupA groupB
|
||||
highlight! link groupC groupD
|
||||
|
||||
" Initialize the color palette.
|
||||
" The first parameter is a valid value for `g:everforest_background`,
|
||||
" and the second parameter is a valid value for `g:everforest_colors_override`.
|
||||
let l:palette = everforest#get_palette('medium', {})
|
||||
" Define a highlight group.
|
||||
" The first parameter is the name of a highlight group,
|
||||
" the second parameter is the foreground color,
|
||||
" the third parameter is the background color,
|
||||
" the fourth parameter is for UI highlighting which is optional,
|
||||
" and the last parameter is for `guisp` which is also optional.
|
||||
" See `autoload/everforest.vim` for the format of `l:palette`.
|
||||
call everforest#highlight('groupE', l:palette.red, l:palette.none, 'undercurl', l:palette.red)
|
||||
endfunction
|
||||
|
||||
augroup EverforestCustom
|
||||
autocmd!
|
||||
autocmd ColorScheme everforest call s:everforest_custom()
|
||||
augroup END
|
||||
|
||||
colorscheme everforest
|
||||
<
|
||||
Note: Make sure to define the `augroup` before declare the `colorscheme`.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
What's your status line configuration?~
|
||||
|
||||
See this [article](https://www.sainnhe.dev/post/status-line-config/).
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
What's the font used here?~
|
||||
|
||||
See https://www.sainnhe.dev/post/patch-fonts-with-cursive-italic-styles/
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:nosta:noet:ts=8:sts=0:ft=help:et:sw=4:fen:fdm=marker:fmr={{{,}}}:
|
||||
Reference in New Issue
Block a user