2021-08-24 18:32:29 +08:00
|
|
|
# Zenbones
|
2021-02-07 20:43:35 +11:00
|
|
|
|
2021-08-27 16:22:07 +08:00
|
|
|
Zenbones is a light vim/nvim
|
|
|
|
|
[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
|
|
|

|
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-08-25 14:33:40 +08:00
|
|
|
Primarily built for nvim 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-08-27 16:22:07 +08:00
|
|
|
- 24-bit RGB colors (nvim or vim compiled with +termguicolors)
|
|
|
|
|
- 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
|
|
|
|
|
set termguicolors
|
|
|
|
|
colorscheme zenbones
|
|
|
|
|
```
|
|
|
|
|
|
2021-08-26 15:50:06 +08:00
|
|
|
Alternatively, if you want to make use of the lua version:
|
2021-08-25 14:44:32 +08:00
|
|
|
|
|
|
|
|
```vim
|
2021-08-26 15:50:06 +08:00
|
|
|
set termguicolors
|
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
|
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
|
<summary>Diff highlights</summary>
|
|
|
|
|
|
|
|
|
|
<img width="1128" alt="Vim diff" src="https://user-images.githubusercontent.com/7200153/130730698-38c2f493-4161-4146-bb68-00cd9a87d2bd.png">
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
2021-08-25 13:33:23 +08:00
|
|
|
<details>
|
|
|
|
|
<summary>Search</summary>
|
2021-08-25 13:30:36 +08:00
|
|
|
|
|
|
|
|
<img width="1128" alt="Search" src="https://user-images.githubusercontent.com/7200153/130731292-928fcffc-c252-425c-8c61-e292df3fa478.png">
|
|
|
|
|
|
2021-08-25 13:33:23 +08:00
|
|
|
</details>
|
2021-08-25 13:30:36 +08:00
|
|
|
|
2021-08-25 13:33:23 +08:00
|
|
|
<details>
|
|
|
|
|
<summary>Diagnostics</summary>
|
2021-08-25 13:30:36 +08:00
|
|
|
|
2021-08-26 16:21:35 +08:00
|
|
|
<img width="1128" alt="Diagnostics" src="https://user-images.githubusercontent.com/7200153/130927693-00cd8a6e-7a75-4ebb-9f23-b9322de7933a.png">
|
2021-08-25 13:33:23 +08:00
|
|
|
|
|
|
|
|
</details>
|
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-25 15:34:38 +08:00
|
|
|
## Other plugins support
|
2021-08-25 14:33:40 +08:00
|
|
|
|
2021-08-25 15:34:38 +08:00
|
|
|
Aside from LSP and basic Tree-sitter support, there are only a few plugins that
|
|
|
|
|
are currently supported. Please feel free to open a PR to support your favorite
|
|
|
|
|
plugins.
|
2021-08-25 14:33:40 +08:00
|
|
|
|
2021-08-27 16:22:07 +08:00
|
|
|
- [gitsigns](https://github.com/lewis6991/gitsigns.nvim)
|
|
|
|
|
- [indent-blankline](https://github.com/lukas-reineke/indent-blankline.nvim)
|
|
|
|
|
- [Telescope](https://github.com/nvim-telescope/telescope.nvim)
|
|
|
|
|
- [sneak](https://github.com/justinmk/vim-sneak)
|
|
|
|
|
- [lualine](https://github.com/hoob3rt/lualine.nvim) (requires Lush)
|
|
|
|
|
- [barbar.nvim](https://github.com/romgrk/barbar.nvim)
|
2021-08-25 14:33:40 +08:00
|
|
|
|
2021-08-26 15:50:06 +08:00
|
|
|
## Advance Usage
|
|
|
|
|
|
2021-08-26 16:12:43 +08:00
|
|
|
Zenbones is pretty extensible thanks to
|
2021-08-26 17:03:11 +08:00
|
|
|
[Lush](https://github.com/rktjmp/lush.nvim). You can easily retrieve the colors
|
|
|
|
|
in lua:
|
2021-08-26 16:12:43 +08:00
|
|
|
|
|
|
|
|
```lua
|
|
|
|
|
local theme = require "zenbones"
|
|
|
|
|
local colors = require "zenbones.colors"
|
|
|
|
|
|
|
|
|
|
print(theme.StatusLine.bg.hex)
|
|
|
|
|
print(sand.darken(20).hex)
|
|
|
|
|
```
|
|
|
|
|
|
2021-08-26 17:03:11 +08:00
|
|
|
One such example is the custom [lualine](lua/lualine/themes/zenbones.lua) theme.
|
2021-08-26 16:12:43 +08:00
|
|
|
|
|
|
|
|
See also
|
|
|
|
|
[Lush's documentation](https://github.com/rktjmp/lush.nvim#advanced-usage) for
|
|
|
|
|
the complete options.
|
|
|
|
|
|
2021-08-24 18:32:29 +08:00
|
|
|
## Other implementations
|
|
|
|
|
|
2021-08-27 16:22:07 +08:00
|
|
|
- [iterm2](https://github.com/mcchrish/zenbones-iterm)
|
2021-08-25 14:33:40 +08:00
|
|
|
|
2021-08-26 15:25:43 +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
|
|
|
|
|
|
|
|
```
|
|
|
|
|
:lua require("zenbones.print").print_terminal_colors()
|
2021-08-26 17:03:11 +08:00
|
|
|
|
|
|
|
|
...
|
|
|
|
|
Terminal colors
|
|
|
|
|
foreground: #2C363C
|
|
|
|
|
background: #F0EDEC
|
|
|
|
|
ansi color0: #2C363C
|
|
|
|
|
ansi color1: #C23C55
|
|
|
|
|
ansi color2: #617437
|
|
|
|
|
ansi color3: #914B27
|
|
|
|
|
ansi color4: #286486
|
|
|
|
|
ansi color5: #88507D
|
|
|
|
|
...
|
2021-08-26 16:27:57 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Useful when you want to apply a zenbones theme to your terminal.
|
2021-08-26 15:25:43 +08:00
|
|
|
|
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).
|