neovim theme for code, not colors
  • Lua 79.8%
  • Shell 8.8%
  • Nix 5.4%
  • Python 4.2%
  • Just 1.8%
Find a file
Barrett Ruth 725b957383
All checks were successful
quality / Lint (push) Successful in 9s
quality / Format (push) Successful in 11s
deploy / LuaRocks (nightly) (push) Successful in 34s
fix: add Added and Removed highlights (#57)
## Problem

midnight.nvim did not define Neovim's standard `Added` and `Removed` highlight groups, so diff sign/text aliases had to carry their own foreground colors or inherit from background diff groups.

## Solution

Define `Added` and `Removed` as regular foreground-only green/red groups, link diff syntax aliases to them, and leave `DiffAdd`/`DiffDelete` as background-bearing diff groups.

## Verification

- `nix develop --command just ci`
- Headless Neovim assertions for dark and light palette `Added`/`Removed` foregrounds and diff alias links

Reviewed-on: https://git.barrettruth.com/barrettruth/midnight.nvim/pulls/57
2026-05-12 12:41:19 +00:00
.forgejo docs: add contributing guide (#54) 2026-05-05 17:52:38 +00:00
.github/workflows ci: redirect GitHub PRs to Forgejo (#36) 2026-05-03 15:58:02 +00:00
colors remove superfluous background setting 2026-02-03 20:07:56 -05:00
doc fix: add Added and Removed highlights (#57) 2026-05-12 12:41:19 +00:00
lua/midnight fix: add Added and Removed highlights (#57) 2026-05-12 12:41:19 +00:00
scripts ci: make just the task source of truth (#31) 2026-04-20 15:53:44 -04:00
.gitignore ci: migrate to nix 2026-02-23 18:14:20 -05:00
.luarc.json style: format .luarc.json (biome 2-space) 2026-05-01 00:04:18 +00:00
.python-version feat(ci): script checking; 2025-11-08 17:41:49 -05:00
.styluaignore ci: scripts + format 2026-03-04 13:50:44 -05:00
biome.json build: replace prettier with biome (#34) 2026-05-02 02:09:59 +00:00
CONTRIBUTING.md docs: add contributing guide (#54) 2026-05-05 17:52:38 +00:00
flake.lock build(nix): use nixpkgs vimdoc-language-server (#32) 2026-04-20 17:36:01 -04:00
flake.nix build: replace prettier with biome (#33) 2026-04-25 16:15:50 -04:00
justfile docs: normalize public metadata (#50) 2026-05-04 21:29:08 +00:00
LICENSE chore: switch license to GPL 2026-04-30 23:56:21 +00:00
midnight.nvim-scm-1.rockspec docs: use Forgejo source URLs (#37) 2026-05-03 16:17:05 +00:00
pyproject.toml feat: add ruff 2025-11-08 17:43:36 -05:00
README.md docs: add vimdoc pointer to README (#56) 2026-05-09 15:30:20 +00:00
selene.toml ci: migrate to nix 2026-02-23 18:14:20 -05:00
stylua.toml initial commit 2025-11-08 13:04:35 -05:00
uv.lock feat: add ruff 2025-11-08 17:43:36 -05:00
vim.yaml ci: scripts + format 2026-03-04 13:50:44 -05:00

midnight.nvim

Neovim theme for code, not colors.

Note

Due to GitHub's historic unreliability, active development is hosted on Forgejo. GitHub is maintained as a read-only mirror.

Image

Installation

With vim.pack (Neovim 0.12+):

vim.pack.add({
  'https://git.barrettruth.com/barrettruth/midnight.nvim',
})

Or via luarocks:

luarocks install midnight.nvim

Then set the colorscheme:

vim.cmd.colorscheme('midnight')

Documentation

:help midnight

Plugin Integrations

Motivation

I find existing colorschemes to generally be excessively colorful and distracting rather than informative. I wrote midnight.nvim to focus on code structure, specifically for competitive programming and workplace software development environments. I included highlighting of constants (e.g. strings, numbers, booleans) and language keywords to emphasize the maximally important aspects of code and its structure, respectively.