A Neovim colorscheme the color of the sky before dawn. Deep blue-black, cool silver, one ethereal cyan.
In every language
Cyan carries functions, purple the keywords, sage the strings, gold the constants. The roles hold whether you write Lua, TypeScript, Rust, or Python.
14 local ok = pcall(require, "sora") 15 + vim.o.background = "dark" 16 + vim.cmd.colorscheme("sora") 17 - vim.cmd.colorscheme("default") 18 return ok
Low-glare backgrounds and silver-cool text keep contrast legible without the glare. Warm accents appear only where meaning lives.
The palette
Click a syntax color to spotlight it in the live sample. Click a background to repaint the editor. Every value copies to your clipboard.
Legible by design
Measured WCAG contrast on the base background, not guessed. Text and accents clear AA and AAA; comments sit deliberately quiet.
Yours to tune
Pass only what you want to change. Two hooks, on_colors and on_highlights, let you reshape the palette or override any group.
Let your terminal background show through floats and statusline.
Keep them everywhere, drop them for comments, or turn them all off.
Repaint the palette before highlights build with on_colors.
on_highlights runs last and wins over everything.
Sora everywhere
The editor is only the start. Terminals, prompts, pagers, and note-takers all ship in extras/. Click any command to copy it.