efc6f570 feat: added vim compatability Steve 27d ago

darkmatter-nvim

cover

A colorscheme adapted from base16-black-metal-bathory. Works in both Neovim and Vim 8+.

Features

  • Works in Neovim and Vim from a single colorscheme darkmatter
  • Support for Neovim's built-in LSP
  • Treesitter highlighting
  • Plugin integrations:
    • Telescope
    • Indent Blankline
    • Nvim-notify
    • Rainbow parentheses
    • Nvim-cmp
    • vim-illuminate
    • LSP semantic tokens
    • mini.completion
    • nvim-dap-ui
  • 256-color terminal fallback for Vim without termguicolors

Installation

Using packer.nvim

use {
  'stevedylandev/darkmatter-nvim',
  config = function()
    vim.cmd('colorscheme darkmatter')
  end
}

Using lazy.nvim

{
  'stevedylandev/darkmatter-nvim',
  lazy = false,
  priority = 1000,
  config = function()
    vim.cmd('colorscheme darkmatter')
  end,
}

Vim

Using vim-plug:

Plug 'stevedylandev/darkmatter-nvim'

Or with Vim's built-in package support:

git clone https://github.com/stevedylandev/darkmatter-nvim \
  ~/.vim/pack/plugins/start/darkmatter-nvim

Usage

Set the colorscheme in your Neovim configuration:

vim.cmd('colorscheme darkmatter')

Or in your .vimrc:

colorscheme darkmatter

If you don't see colors, make sure you have true color support enabled:

vim.opt.termguicolors = true
set termguicolors

Vim will fall back to the nearest 256-color approximations if termguicolors is off or unsupported.

Configuration

The plugin integrations are Neovim-only. You can configure them by passing options to the setup function:

require('darkmatter-colorscheme').setup(require('colors.darkmatter'), {
  -- All options default to true
  telescope = true,          -- Telescope plugin
  telescope_borders = false, -- Telescope borders
  indentblankline = true,    -- Indent-blankline plugin
  notify = true,             -- Nvim-notify plugin
  ts_rainbow = true,         -- Rainbow parentheses
  cmp = true,                -- Nvim-cmp plugin
  illuminate = true,         -- vim-illuminate plugin
  lsp_semantic = true,       -- LSP semantic tokens
  mini_completion = true,    -- mini.completion plugin
  dapui = true,              -- nvim-dap-ui plugin
})

Note that setup() takes the palette as its first argument and the options table as its second.

Credits

This colorscheme is based on the base16-black-metal-bathory palette and was inspired by various dark themes in the Neovim ecosystem, and the base for this plugin is pulled from base16-nvim