Files
zenbones-theme/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

205 lines
5.9 KiB
Markdown
Raw Normal View History

2021-08-24 18:32:29 +08:00
# Zenbones
2021-02-07 20:43:35 +11:00
2021-09-03 18:33:51 +08:00
Zenbones is a light vim/neovim
2021-08-27 16:22:07 +08:00
[colorscheme](https://neovim.io/doc/user/syntax.html#:colorscheme) designed to
highlight code using contrasts and font variations. Colors are tasked only for
other roles such as diagnostics, diffs, search matches.
2021-08-25 14:33:40 +08:00
2021-08-27 16:39:03 +08:00
<!-- panvimdoc-ignore-start -->
2021-08-27 06:46:18 +08:00
![Zenbones main image](https://user-images.githubusercontent.com/7200153/131045472-05c76909-0071-4c24-bd30-f15da3ae4e82.jpg)
2021-08-25 13:08:08 +08:00
<p align="center">
2021-08-26 15:50:06 +08:00
<em>A rock garden in <a href="https://en.wikipedia.org/wiki/Ry%C5%8Dan-ji">Ryōan-ji</a>.</em>
2021-08-25 13:08:08 +08:00
</p>
2021-08-27 16:39:03 +08:00
<!-- panvimdoc-ignore-end -->
2021-08-25 13:55:53 +08:00
## Requirements
2021-09-03 18:33:51 +08:00
Primarily built for neovim but it works pretty well with vim. However here are
2021-08-25 16:21:00 +08:00
some requirements to take full advantage of the colorscheme:
2021-08-25 13:55:53 +08:00
2021-09-09 06:52:19 +08:00
- 24-bit RGB colors (neovim or vim compiled with +termguicolors) i.e.
`set termguicolors`
2021-08-27 16:22:07 +08:00
- Font with bold and italic
- Terminal or GUI with bold and italic support
2021-08-25 13:55:53 +08:00
2021-08-26 15:45:06 +08:00
## Installation
Example installation using packer:
```lua
use "mcchrish/zenbones.nvim"
2021-08-26 16:12:43 +08:00
-- Optionally install Lush. Useful if you want to extend the theme
2021-08-26 15:45:06 +08:00
-- e.g. create a statusline plugin theme using zenbones colors
use "rktjmp/lush.nvim"
2021-08-26 16:12:43 +08:00
-- See Advanced Usage section for more details
2021-08-26 15:45:06 +08:00
```
2021-08-25 14:44:32 +08:00
## Usage
2021-08-26 15:50:06 +08:00
Just apply the colorscheme as usual:
2021-08-25 14:44:32 +08:00
```vim
colorscheme zenbones
```
2021-09-05 09:22:56 +08:00
If you want to make use of the lua version:
2021-08-25 14:44:32 +08:00
```vim
2021-09-05 09:22:56 +08:00
" has('nvim') only
2021-08-27 05:36:21 +08:00
colorscheme zenbones-lush
2021-08-25 14:44:32 +08:00
```
2021-08-26 16:12:43 +08:00
It works pretty much the same as the first one but pretty handy when extending
or customizing the colors to your likings.
2021-08-25 14:44:32 +08:00
2021-08-27 16:15:48 +08:00
<!-- panvimdoc-ignore-start -->
2021-08-27 16:22:07 +08:00
2021-08-25 13:30:36 +08:00
## Showcase
2021-08-28 18:49:08 +08:00
**Diff highlights**
2021-08-25 13:30:36 +08:00
2021-08-30 09:34:39 +08:00
<img width="1080" alt="Vim diff" src="https://user-images.githubusercontent.com/7200153/131212101-3a3b4083-f3ae-4dfc-ab1f-133cf3600a01.png">
2021-08-25 13:30:36 +08:00
2021-08-28 18:49:08 +08:00
**Search matches**
2021-08-25 13:30:36 +08:00
2021-08-30 09:34:39 +08:00
<img width="1080" alt="Search matches" src="https://user-images.githubusercontent.com/7200153/131212102-620323dc-01db-4e40-ae74-640a00368121.png">
2021-08-25 13:30:36 +08:00
2021-08-28 18:49:08 +08:00
**LSP diagnostics**
2021-08-25 13:30:36 +08:00
2021-08-30 09:34:39 +08:00
<img width="1080" alt="LSP diagnostics" src="https://user-images.githubusercontent.com/7200153/131212106-b515ba76-d157-46b3-b1cb-c72811abbff3.png">
2021-08-25 13:30:36 +08:00
2021-08-27 06:22:22 +08:00
_Font used is [Iosevka Curly Slab](https://typeof.net/Iosevka/)_.
2021-08-27 16:22:07 +08:00
2021-08-27 16:15:48 +08:00
<!-- panvimdoc-ignore-end -->
2021-08-25 14:33:40 +08:00
2021-08-30 09:34:39 +08:00
## Configuration
Configuration is only available for `zenbones-lush`.
2021-08-30 09:34:39 +08:00
#### g:zenbones_lightness
2021-09-01 13:20:26 +08:00
Change background colors lightness.
2021-08-30 09:34:39 +08:00
**'bright'**
<img width="1080" alt="Bright lightness" src="https://user-images.githubusercontent.com/7200153/131272384-710e253f-059d-46fd-bf0e-7d82f62d62cd.png">
**Default** _(unset)_
<img width="1080" alt="Default lightness" src="https://user-images.githubusercontent.com/7200153/131272333-3fb67e68-fcd2-48ae-b8c4-ab24b701ed5e.png">
**'dim'**
<img width="1080" alt="Dim lightness" src="https://user-images.githubusercontent.com/7200153/131272410-329636bb-fd8e-42fb-83aa-f436d211b5ed.png">
2021-08-31 10:22:14 +08:00
#### g:zenbones_solid_vert_split
Set to `v:true` to make vertical split more visible with a dimmer background
highlight.
#### g:zenbones_dim_noncurrent_window
2021-09-05 09:22:56 +08:00
Set to `v:true` to make non-current window background dimmer than _Normal_.
2021-09-05 08:07:28 +08:00
## Advanced Usage
Zenbones is pretty extensible thanks to
[Lush](https://github.com/rktjmp/lush.nvim). You can easily retrieve the colors
in lua:
```lua
local theme = require "zenbones"
local colors = require "zenbones.colors"
print(theme.StatusLine.bg.hex)
print(sand.darken(20).hex)
```
2021-09-05 09:22:56 +08:00
See also
[Lush's documentation](https://github.com/rktjmp/lush.nvim#advanced-usage) for
the complete options.
2021-08-25 15:34:38 +08:00
## Other plugins support
2021-08-25 14:33:40 +08:00
2021-09-04 17:48:42 +08:00
Aside from LSP and basic Tree-sitter support, here are some plugins that are
currently supported.
2021-08-25 14:33:40 +08:00
2021-08-29 10:59:04 +08:00
- [Git Signs](https://github.com/lewis6991/gitsigns.nvim)
2021-09-03 11:19:05 +08:00
- [Git Gutter](https://github.com/airblade/vim-gitgutter)
2021-08-29 10:59:04 +08:00
- [Indent Blankline](https://github.com/lukas-reineke/indent-blankline.nvim)
2021-08-27 16:22:07 +08:00
- [Telescope](https://github.com/nvim-telescope/telescope.nvim)
2021-08-29 10:59:04 +08:00
- [Sneak](https://github.com/justinmk/vim-sneak)
2021-09-06 12:33:15 +08:00
- [Lightspeed](https://github.com/ggandor/lightspeed.nvim)
2021-09-06 12:56:58 +08:00
- [Hop](https://github.com/phaazon/hop.nvim)
2021-09-04 17:02:39 +08:00
- [Lualine](https://github.com/hoob3rt/lualine.nvim)
2021-09-06 13:54:38 +08:00
- [Lightline](https://github.com/itchyny/lightline.vim)
2021-08-29 10:59:04 +08:00
- [BarBar](https://github.com/romgrk/barbar.nvim)
- [CoC](https://github.com/neoclide/coc.nvim)
- [Neogit](https://github.com/TimUntersberger/neogit)
2021-09-05 17:39:39 +08:00
- [WhichKey](https://github.com/folke/which-key.nvim)
2021-09-10 16:35:00 +08:00
- [Trouble](https://github.com/folke/trouble.nvim)
2021-08-25 14:33:40 +08:00
2021-08-24 18:32:29 +08:00
## Other implementations
2021-09-04 17:11:41 +08:00
- [iTerm2](extras/iterm/zenbones.itermcolors)
- [Kitty](extras/kitty/zenbones.conf)
2021-09-05 06:28:20 +08:00
- [Alacritty](extras/alacritty/zenbones.yml)
2021-09-05 08:04:49 +08:00
- [WezTerm](extras/wezterm/Zenbones.toml)
2021-09-06 18:09:33 +08:00
- [Tmux](extras/tmux/zenbones.tmux)
2021-08-25 14:33:40 +08:00
### Print terminal colors
2021-08-26 16:12:43 +08:00
You can retrieve the terminal colors by using this command:
2021-08-26 16:27:57 +08:00
2021-09-03 11:18:44 +08:00
```vim
2021-08-26 16:27:57 +08:00
:lua require("zenbones.print").print_terminal_colors()
2021-09-03 11:18:44 +08:00
```
2021-08-26 17:03:11 +08:00
2021-09-03 11:18:44 +08:00
Useful when you want to apply a zenbones theme to your terminal. Recent output:
```
2021-08-26 17:03:11 +08:00
Terminal colors
foreground: #2C363C
background: #F0EDEC
ansi color0: #2C363C
2021-09-03 11:18:44 +08:00
ansi color1: #A8334C
2021-08-26 17:03:11 +08:00
ansi color2: #617437
2021-09-03 11:18:44 +08:00
ansi color3: #944927
2021-08-26 17:03:11 +08:00
ansi color4: #286486
ansi color5: #88507D
2021-09-03 11:18:44 +08:00
ansi color6: #3B8992
ansi color7: #F0EDEC
ansi color8: #44525B
ansi color9: #9C2842
ansi color10: #55672A
ansi color11: #87411E
ansi color12: #1F5A7A
ansi color13: #864079
ansi color14: #2F7C85
ansi color15: #DCD2CE
cursor foreground: #F2F0EF
cursor background: #2C363C
inactive cursor foreground: #F2F0EF
inactive cursor background: #4D5C65
selection background: #D2DFE7
2021-08-26 16:27:57 +08:00
```
2021-09-04 17:48:42 +08:00
It's also possible to generate color configuration files using a template,
[this one for Kitty](lua/zenbones/build/kitty.lua) for example. Please feel free
to submit a PR if you want to add some more.
2021-08-25 14:33:40 +08:00
## Inspirations
Zenbones is heavily inspired by
2021-08-25 16:54:14 +08:00
[Verdandi](https://github.com/be5invis/vsc-theme-verdandi) and
2021-08-25 15:49:45 +08:00
[vim-yin-yang](https://github.com/pgdouyon/vim-yin-yang). The name came from a
book called
[Zen Flesh, Zen Bones](https://en.wikipedia.org/wiki/Zen_Flesh,_Zen_Bones).
2021-08-25 16:16:56 +08:00
There are more similar
2021-08-25 15:49:45 +08:00
[colorschemes with few colors from this collection](https://github.com/mcchrish/vim-no-color-collections).