{"id":19080708,"url":"https://github.com/tomcur/hi-nvim-rs","last_synced_at":"2025-09-04T19:49:19.526Z","repository":{"id":241088696,"uuid":"804282261","full_name":"tomcur/hi-nvim-rs","owner":"tomcur","description":"(Neo)vim perceptual color scheme compiler","archived":false,"fork":false,"pushed_at":"2024-05-22T10:31:05.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-22T11:01:21.126Z","etag":null,"topics":["colorscheme","compiler","neovim","oklab","oklch","theme","vim"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomcur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-22T09:52:36.000Z","updated_at":"2024-05-22T11:01:22.729Z","dependencies_parsed_at":"2024-05-22T11:11:25.615Z","dependency_job_id":null,"html_url":"https://github.com/tomcur/hi-nvim-rs","commit_stats":null,"previous_names":["tomcur/hi-nvim-rs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomcur%2Fhi-nvim-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomcur%2Fhi-nvim-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomcur%2Fhi-nvim-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomcur%2Fhi-nvim-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomcur","download_url":"https://codeload.github.com/tomcur/hi-nvim-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245044494,"owners_count":20551898,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["colorscheme","compiler","neovim","oklab","oklch","theme","vim"],"created_at":"2024-11-09T02:25:15.864Z","updated_at":"2025-03-23T01:41:09.848Z","avatar_url":"https://github.com/tomcur.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# hi.nvim.rs\n\n**(Neo)vim perceptual color scheme compiler**\n\n[![MIT](https://img.shields.io/badge/license-MIT-blue.svg)](#license)\n[![Apache 2.0](https://img.shields.io/badge/license-Apache-blue.svg)](#license)\n[![Crates.io](https://img.shields.io/crates/v/hi-nvim-rs.svg)](https://crates.io/crates/hi-nvim-rs)\n[![Docs](https://docs.rs/hi-nvim-rs/badge.svg)](https://docs.rs/hi-nvim-rs)\n\n\u003c/div\u003e\n\nCreate (Neo)vim color schemes by defining colors and their transformations.\nThis uses the Oklab color space to make the perceptual effects of\ntransformations predictable.\n\nA hosted version is available [here](https://hi-nvim-rs.uint.one).\n\n![A screenshot of three color schemes generated by hi.nvim.rs: 'highlow', 'twocolor' and 'verf'](./media/combined-embedded.svg)\n\n## Feature summary\n\n- Color schemes are compiled to (Neo)vim configurations with no startup overhead\n- Specify colors using lightness, chromacity and hue in the Oklch color space\n- If you're creating a dark theme, you get the inverse light theme for free, and vice versa\n- A curated set of opinionated default Neovim highlight groups is provided,\n  requiring only a few theme definitions to get a consistent color scheme\n- Theme colors definitions refer to colors with optional transformations (such\n  as lightness and chromacity)\n- Override or add any highlight group\n- Vim is supported as a secondary target\n\n## Examples\n\n| Light | Dark |\n|---|---|\n| \u003cimg width=\"2000\" alt=\"A screenshot of Neovim using the 'highlow' light color scheme\" src=\"./media/highlow-light.svg\" /\u003e | \u003cimg width=\"2000\" alt=\"A screenshot of Neovim using the 'highlow' dark color scheme\" src=\"./media/highlow-dark.svg\" /\u003e |\n\n[_highlow_](./colorschemes/highlow.toml): a color scheme with high contrast between background and foreground,\nlow color saturation, and low contrast between foreground elements.\n\n| Light | Dark |\n|---|---|\n| \u003cimg width=\"2000\" alt=\"A screenshot of Neovim using the 'verf' light color scheme\" src=\"./media/verf-light.svg\" /\u003e | \u003cimg width=\"2000\" alt=\"A screenshot of Neovim using the 'verf' dark color scheme\" src=\"./media/verf-dark.svg\" /\u003e |\n\n[_verf_](./colorschemes/verf.toml): a colorful color scheme.\n\n| Light | Dark |\n|---|---|\n| \u003cimg width=\"2000\" alt=\"A screenshot of Neovim using the 'twocolor' light color scheme\" src=\"./media/twocolor-light.svg\" /\u003e | \u003cimg width=\"2000\" alt=\"A screenshot of Neovim using the 'twocolor' dark color scheme\" src=\"./media/twocolor-dark.svg\" /\u003e |\n\n[_twocolor_](./colorschemes/twocolor.toml): a color scheme using (mostly) just two hues.\n\n| Light | Dark |\n|---|---|\n| \u003cimg width=\"2000\" alt=\"A screenshot of Neovim using the 'grayscale' light color scheme\" src=\"./media/grayscale-light.svg\" /\u003e | \u003cimg width=\"2000\" alt=\"A screenshot of Neovim using the 'grayscale' dark color scheme\" src=\"./media/grayscale-dark.svg\" /\u003e |\n\n[_grayscale_](./colorschemes/grayscale.toml): a color scheme, sans color.\n\nThese screenshots were generated using\n[Termsnap](https://github.com/tomcur/termsnap).\n\n## Getting started\n\nTo run the CLI version, run\n\n```shell\n$ cargo install hi-nvim-rs\n$ hi-nvim-rs --help\n$ hi-nvim-rs ./path/to/colorscheme.toml \u003e ~/.config/nvim/colors/a-colorscheme-name.vim\n```\n\n## Color scheme configurations\n\nIn hi.nvim.rs color scheme configurations, you define the hues you want to use\nin your color scheme, as well as the default lightness and chromacity of\nvarious color groups (background and foreground colors, for example). You then\nderive the desired theme elements of your color scheme by referring to these\nhues with optional color transformations: lightening/darkening,\nsaturating/desaturating and color mixing. Neovim highlight group colors refer\nto these theme elements. One theme element can be common to various highlight\ngroups, such as various types of seperators in Neovim referring to a single\n`ui.bg_border` theme element.\n\nSee [_highlow_](./colorschemes/highlow.toml) for a color scheme configuration\nwith an inline explanation of the various configuration settings.\n\n### Default highlight groups \n\nhi.nvim.rs provides opinionated default highlight groups for Neovim and some\nplugins. These are defined in\n[default_highlights.toml](./default_highlights.toml). When creating your color\nschemes you can choose to base your configuration on these defaults, optionally\noverriding some of them, or you can completely ignore them. If you use them,\nmake sure you define all the theme elements referenced by the default\nhighlights. A good starting point is to take a look at the `[themes]` section\nin [_highlow_](./colorschemes/highlow.toml).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomcur%2Fhi-nvim-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomcur%2Fhi-nvim-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomcur%2Fhi-nvim-rs/lists"}