OkColors.nvim

March 31, 2025 · View on GitHub

OkColors logo

OkColors is a colorscheme that mashes together ideas from a variety of sources, including:

The palette is specified by the code at e-q/okcolors.

This NeoVim plugin provides a colorscheme that combines the OkColors palette with my personal preferences for syntax highlighting.

Two variants are included:

  • Smooth uses fairly uniform Chroma (saturation). All foreground/background combinations meet the draft WCAG 3 contrast requirement for "fluently readable" text.
  • Sharp employs darker black tones and deeper saturation for colored text where possible, while maintaining readable contrast requirements.

Each variant defines light and dark versions, which are automatically set according to vim.o.background.

Installation & Configuration

Installing with lazy.nvim

{ "e-q/okcolors.nvim", name = "okcolors" }

Selecting the default variant

require("okcolors").setup({
    variant = "smooth", -- "smooth" or "sharp", defaults to "smooth"
})

vim.cmd("colorscheme okcolors")
-- vim.cmd("colorscheme okcolors-smooth")
-- vim.cmd("colorscheme okcolors-sharp")

Screenshots

Smooth

Smooth variant, light background

Smooth variant, dark background

Sharp

Sharp variant, light background

Sharp variant, dark background

Other Helpful Resources