No description
  • Lua 85.8%
  • Python 10.3%
  • Go Template 3.7%
  • Makefile 0.2%
Find a file
2026-05-22 22:00:06 -03:00
assets chore(release): update README and changelog for v0.4.0 2026-05-16 19:06:20 -03:00
colors initial public release v0.1.0 2026-04-06 15:47:43 -03:00
docs docs: update CLAUDE.md to reflect current architecture and clean up stale artifacts 2026-05-16 18:19:29 -03:00
extras feat(extras): add Kitty terminal theme 2026-05-10 12:21:37 -03:00
lua docs(readme): fix plugin table and improve layout 2026-05-22 21:59:55 -03:00
samples initial public release v0.1.0 2026-04-06 15:47:43 -03:00
scripts feat(extras): add Kitty terminal theme 2026-05-10 12:21:37 -03:00
spec fix(terminal-colors): add bright color variants and correct ANSI slot assignments 2026-05-10 12:21:28 -03:00
.busted initial public release v0.1.0 2026-04-06 15:47:43 -03:00
.gitignore docs(specs): add cosmic_dawn light theme design spec 2026-05-09 16:24:30 -03:00
CHANGELOG.md chore(release): update README and changelog for v0.4.1 2026-05-22 22:00:06 -03:00
CLAUDE.md docs: update CLAUDE.md to reflect current architecture and clean up stale artifacts 2026-05-16 18:19:29 -03:00
LICENSE initial public release v0.1.0 2026-04-06 15:47:43 -03:00
Makefile docs: update CLAUDE.md to reflect current architecture and clean up stale artifacts 2026-05-16 18:19:29 -03:00
README.md docs(readme): fix plugin table and improve layout 2026-05-22 21:59:55 -03:00

A dark Neovim colorscheme inspired by vim-deep-space and nebula texture. Vivid but sober, low contrast by design. Full TreeSitter, LSP, diagnostics, and LazyVim plugin coverage.

Examples

Python Go
JavaScript Bash

Palette

See docs/PALETTE.md for the full palette reference — identity, HSL principles, and color justifications.


Requirements

  • Neovim >= 0.8
  • termguicolors enabled

Installation

lazy.nvim

{
  'viniciusfs/void-space.nvim',
  lazy = false,    -- must be loaded at startup
  priority = 1000, -- load before other UI plugins
  opts = {
    italic_comments  = true,
    italic_keywords  = false,
    transparent      = false,
    dim_inactive     = false,
    -- on_highlights = function(hl, c)
    --   hl.CursorLine = { bg = c.sel }
    -- end,
  },
  config = function(_, opts)
    require('void-space').setup(opts)
    vim.cmd('colorscheme void-space')
  end,
}

Usage

Minimal (just activate it)

vim.cmd('colorscheme void-space')

With setup (call before colorscheme)

require('void-space').setup({
  italic_comments  = true,   -- italicize comments
  italic_keywords  = false,  -- italicize keywords / conditionals
  transparent      = false,  -- transparent Normal background
  dim_inactive     = false,  -- dim inactive windows
})

vim.cmd('colorscheme void-space')

LazyVim integration

-- In your lazy.nvim spec:
{
  'viniciusfs/void-space.nvim',
  lazy = false,
  priority = 1000,
  opts = {
    italic_comments = true,
    italic_keywords = false,
  },
  config = function(_, opts)
    require('void-space').setup(opts)
    vim.cmd('colorscheme void-space')
  end,
},

-- Tell LazyVim which colorscheme to use (in your LazyVim options):
{
  'LazyVim/LazyVim',
  opts = { colorscheme = 'void-space' },
},

Overriding specific highlights

Use the on_highlights callback to tweak any group after the theme loads. The callback receives the full highlights table and the palette so you can reference any color:

require('void-space').setup({
  on_highlights = function(hl, c)
    -- Make the cursor line more visible
    hl.CursorLine = { bg = c.sel }

    -- Use a brighter yellow for search
    hl.Search = { fg = c.bg, bg = c.bright_yellow }

    -- Transparent floating windows
    hl.NormalFloat = { fg = c.fg, bg = c.none }
    hl.FloatBorder = { fg = c.fg_dim, bg = c.none }
  end,
})

Lualine

The theme is picked up automatically when lualine's theme option is set. Use the theme name that matches the active variant:

require('lualine').setup({
  options = { theme = 'void-space' },           -- default variant
  -- options = { theme = 'void-space-nebula' },       -- nebula variant
  -- options = { theme = 'void-space-cosmic-dawn' },  -- cosmic_dawn variant
})

Variants (Experimental)

Two additional variants are available: nebula and cosmic_dawn. Both are experimental — palette and highlight assignments may still change between releases.

cosmic_dawn nebula
Cosmic Dawn variant Nebula variant

To activate a variant, set the variant option in setup():

require('void-space').setup({ variant = 'nebula' })       -- or 'cosmic_dawn'
vim.cmd('colorscheme void-space')

Plugin support

Plugin Highlight definition
bufferline.nvim highlights/plugins/bufferline.lua
blink.cmp / nvim-cmp highlights/plugins/cmp.lua
dashboard-nvim highlights/plugins/dashboard.lua
fidget.nvim highlights/plugins/fidget.lua
flash.nvim highlights/plugins/flash.lua
gitsigns.nvim highlights/plugins/gitsigns.lua
illuminate.nvim highlights/plugins/illuminate.lua
indent-blankline.nvim highlights/plugins/indent.lua
lazy.nvim highlights/plugins/lazy.lua
lualine.nvim lualine/themes/void-space.lua
mini.nvim highlights/plugins/mini.lua
neo-tree.nvim highlights/plugins/neo_tree.lua
noice.nvim highlights/plugins/noice.lua
nvim-notify highlights/plugins/notify.lua
render-markdown.nvim highlights/plugins/render_markdown.lua
snacks.nvim highlights/plugins/snacks.lua
telescope.nvim highlights/plugins/telescope.lua
todo-comments.nvim highlights/plugins/todo_comments.lua
trouble.nvim highlights/plugins/trouble.lua
which-key.nvim highlights/plugins/which_key.lua

License

MIT