No description
| .github/workflows | ||
| colors | ||
| lua/midnight | ||
| .luarc.json | ||
| .pre-commit-config.yaml | ||
| LICENSE | ||
| README.md | ||
| selene.toml | ||
| stylua.toml | ||
| vim.toml | ||
midnight.nvim
A minimal, scientifically-optimized colorscheme with automatic dark/light variants.
Features
- Single theme, dual modes: Automatically detects
vim.o.backgroundand switches between midnight (dark) and daylight (light) palettes - Ultra-minimal syntax: Only 3 semantic colors - blue for keywords, green for literals, grey for comments, white for everything else
- Scientific optimization: Desaturated colors in the 200-50 range, WCAG AAA contrast ratios
- Eye strain reduction: No pure black (#121212) or pure white (#e0e0e0)
- Full terminal support: Complete 16 ANSI color support
- Plugin compatibility: Built-in support for fzf-lua, nvim-cmp, gitsigns, and more
Installation
lazy.nvim
{
'barrett-ruth/midnight.nvim',
lazy = false,
priority = 1000,
config = function()
require('midnight').setup()
vim.cmd('colorscheme midnight')
end,
}
Usage
colorscheme midnight
The theme automatically adapts to your background setting:
vim.o.background = 'dark' -- uses midnight palette
vim.o.background = 'light' -- uses daylight palette
Design Philosophy
- Minimal colors: Only color what's semantically necessary
- High contrast: Meet WCAG AAA standards for readability
- Consistent with terminal: Matches Ghostty, tmux, and FZF themes
- No AI comments: Clean, human-written code
Color Palette
Midnight (Dark)
- Background:
#121212(optimal dark gray) - Foreground:
#e0e0e0(87% white) - Blue:
#7aa2f7(keywords/control) - Green:
#98c379(literals/data) - Grey:
#666666(comments)
Daylight (Light)
- Optimized light variant with similar principles
License
MIT