Files
zenbones-theme/README.md
Michael Chris Lopez c7169c4168 add git gutter
2021-09-03 11:21:19 +08:00

5.4 KiB

Zenbones

Zenbones is a light vim/nvim colorscheme designed to highlight code using contrasts and font variations. Colors are tasked only for other roles such as diagnostics, diffs, search matches.

Zenbones main image

A rock garden in Ryōan-ji.

Requirements

Primarily built for nvim but it works pretty well with vim. However here are some requirements to take full advantage of the colorscheme:

  • 24-bit RGB colors (nvim or vim compiled with +termguicolors)
  • Font with bold and italic
  • Terminal or GUI with bold and italic support

Installation

Example installation using packer:

use "mcchrish/zenbones.nvim"

-- Optionally install Lush. Useful if you want to extend the theme
-- e.g. create a statusline plugin theme using zenbones colors
use "rktjmp/lush.nvim"
-- See Advanced Usage section for more details

Usage

Just apply the colorscheme as usual:

set termguicolors
colorscheme zenbones

Alternatively, if you want to make use of the lua version:

set termguicolors
colorscheme zenbones-lush

It works pretty much the same as the first one but pretty handy when extending or customizing the colors to your likings.

Showcase

Diff highlights

Vim diff

Search matches

Search matches

LSP diagnostics

LSP diagnostics

Font used is Iosevka Curly Slab.

Configuration

Configuration is only available for zenbones-lush.

g:zenbones_lightness

Change background colors lightness.

'bright'

Bright lightness

Default (unset)

Default lightness

'dim'

Dim lightness

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

Set to v:true to make non-current window background dimmer than Normal.

Other plugins support

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.

Advanced Usage

Zenbones is pretty extensible thanks to Lush. You can easily retrieve the colors in lua:

local theme = require "zenbones"
local colors = require "zenbones.colors"

print(theme.StatusLine.bg.hex)
print(sand.darken(20).hex)

One such example is the custom lualine theme.

See also Lush's documentation for the complete options.

Other implementations

Print terminal colors

You can retrieve the terminal colors by using this command:

:lua require("zenbones.print").print_terminal_colors()

Useful when you want to apply a zenbones theme to your terminal. Recent output:

Terminal colors
foreground: #2C363C
background: #F0EDEC
ansi color0: #2C363C
ansi color1: #A8334C
ansi color2: #617437
ansi color3: #944927
ansi color4: #286486
ansi color5: #88507D
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

Inspirations

Zenbones is heavily inspired by Verdandi and vim-yin-yang. The name came from a book called Zen Flesh, Zen Bones.

There are more similar colorschemes with few colors from this collection.