6 个版本

0.2.0 2024年7月26日
0.1.4 2024年7月12日
0.1.2 2024年6月12日
0.1.0 2024年5月22日

#498开发工具

Download history 129/week @ 2024-05-18 8/week @ 2024-05-25 246/week @ 2024-06-08 25/week @ 2024-06-15 115/week @ 2024-07-06 83/week @ 2024-07-13 73/week @ 2024-07-20 50/week @ 2024-07-27

每月321 次下载

MIT/Apache

80KB
1K SLoC

hi.nvim.rs

(Neo)vim 感知色彩方案编译器

MIT Apache 2.0 Crates.io Docs

通过定义颜色及其转换来创建(Neo)vim 颜色方案。这使用 Oklab 颜色空间来使转换的感知效果可预测。

在此处提供托管版本 这里

A screenshot of three color schemes generated by hi.nvim.rs: 'highlow', 'twocolor' and 'verf'

功能摘要

  • 将颜色方案编译为(Neo)vim 配置,无启动开销
  • 使用 Oklch 颜色空间中的亮度、色度和色调指定颜色
  • 如果您正在创建暗色主题,则可以免费获得逆光亮主题,反之亦然
  • 提供一组经过策划的意见领袖默认 Neovim 高亮组,只需几个主题定义即可获得一致的颜色方案
  • 主题颜色定义引用了具有可选转换(如亮度和色度)的颜色
  • 覆盖或添加任何高亮组
  • 支持 Vim 作为次要目标

示例

亮色 暗色
A screenshot of Neovim using the 'highlow' light color scheme A screenshot of Neovim using the 'highlow' dark color scheme

highlow:具有高对比度背景和前景、低色彩饱和度以及低对比度前景元素的配色方案。

亮色 暗色
A screenshot of Neovim using the 'verf' light color scheme A screenshot of Neovim using the 'verf' dark color scheme

verf:一个多彩的配色方案。

亮色 暗色
A screenshot of Neovim using the 'twocolor' light color scheme A screenshot of Neovim using the 'twocolor' dark color scheme

twocolor:主要使用两种色调的配色方案。

亮色 暗色
A screenshot of Neovim using the 'grayscale' light color scheme A screenshot of Neovim using the 'grayscale' dark color scheme

grayscale:无色的配色方案。

这些截图使用 Termsnap 生成。

入门

要运行 CLI 版本,请运行

$ cargo install hi-nvim-rs
$ hi-nvim-rs --help
$ hi-nvim-rs ./path/to/colorscheme.toml > ~/.config/nvim/colors/a-colorscheme-name.vim

颜色方案配置

在hi.nvim.rs颜色方案配置中,您定义要使用的色调以及各种颜色组(例如背景色和前景色)的默认亮度和色度。然后,通过可选的颜色变换(如加亮/变暗、饱和/去饱和和颜色混合)来参考这些色调,从而得出您颜色方案所需的主题元素。Neovim高亮组颜色指的是这些主题元素。一个主题元素可以属于多个高亮组,例如Neovim中的各种分隔符引用单个ui.bg_border主题元素。

参见highlow颜色方案配置中的内联解释各种配置设置。

默认高亮组

hi.nvim.rs为Neovim和一些插件提供了有见地的默认高亮组。这些定义在default_highlights.toml中。在创建您的颜色方案时,可以选择基于这些默认设置进行配置,可选地覆盖其中一些,或者您可以完全忽略它们。如果您使用它们,请确保定义默认高亮中引用的所有主题元素。一个很好的起点是查看highlow中的[themes]部分。

依赖项

~4MB
~75K SLoC