Crates.io | hi-nvim-rs |
lib.rs | hi-nvim-rs |
version | 0.1.2 |
source | src |
created_at | 2024-05-22 10:02:43.691988 |
updated_at | 2024-07-12 16:17:44.5929 |
description | (Neo)vim perceptual color scheme compiler |
homepage | |
repository | https://github.com/tomcur/hi-nvim-rs |
max_upload_size | |
id | 1247769 |
size | 420,265 |
Create (Neo)vim color schemes by defining colors and their transformations. This uses the Oklab color space to make the perceptual effects of transformations predictable.
A hosted version is available here.
Light | Dark |
---|---|
highlow: a color scheme with high contrast between background and foreground, low color saturation, and low contrast between foreground elements.
Light | Dark |
---|---|
twocolor: a color scheme using (mostly) just two hues.
Light | Dark |
---|---|
grayscale: a color scheme, sans color.
These screenshots were generated using Termsnap.
To run the CLI version, run
$ cargo install hi-nvim-rs
$ hi-nvim-rs --help
$ hi-nvim-rs ./path/to/colorscheme.toml > ~/.config/nvim/colors/a-colorscheme-name.vim
In hi.nvim.rs color scheme configurations, you define the hues you want to use
in your color scheme, as well as the default lightness and chromacity of
background and foreground colors. You then derive the desired theme elements of
your color scheme by referring to these hues with optional color
transformations: lightening/darkening, saturating/desaturating and color
mixing. Neovim highlight group colors refer to these theme elements. One theme
element can be common to various highlight groups, such as various types of
seperators in Neovim referring to a single ui.bg_border
theme element.
See highlow for a color scheme configuration with an inline explanation of the various configuration settings.
hi.nvim.rs provides opinionated default highlight groups for Neovim and some
plugins. These are defined in
default_highlights.toml. When creating your color
schemes you can choose to base your configuration on these defaults, optionally
overriding some of them, or you can completely ignore them. If you use them,
make sure you define all the theme elements referenced by the default
highlights. A good starting point is to take a look at the [themes]
section
in highlow.