A dark, low-contrast colorscheme for Neovim inspired by roses and geared towards dark theme lovers.
This repository is hosted on sr.ht, with an official mirror on GitHub.
- Neovim >= 0.9.0
{
"water-sucks/darkrose.nvim",
lazy = false,
priority = 1000,
}require("darkrose").setup({
-- Override colors
colors = {
orange = "#F87757",
},
-- Override existing or add new highlight groups
overrides = function(c)
return {
Class = { fg = c.magenta },
["@variable"] = { fg = c.fg_dark },
}
end,
-- Styles to enable or disable
styles = {
bold = true, -- Enable bold highlights for some highlight groups
italic = true, -- Enable italic highlights for some highlight groups
underline = true, -- Enable underline highlights for some highlight groups
}
})
vim.cmd.colorscheme("darkrose")There is no need to run the setup function if you do not want to customize the
colorscheme; run vim.cmd.colorscheme("darkrose"), and you're good to go. Color
names are defined here.
These are plugins explicitly supported by the colorscheme (more is always better, feel free to add more in a PR!):
- LSP diagnostics
- LSP semantic highlighting
- bufferline.nvim*
- diffview.nvim
- fidget.nvim
- gitsigns.nvim
- indent-blankline.nvim
- lazy.nvim
- neorg*
- noice.nvim
- nvim-cmp
- nvim-dap-ui
- nvim-tree.lua
- nvim-treesitter
- telescope.nvim
- vimtex
- which-key.nvim
Certain plugins have too many highlights to define inside the theme file without ripping my hair out. They are the plugins marked with an asterisk above, and they have special integrations provided. These are how to use them:
bufferline.nvim
Pass the highlighting integration as an argument to bufferline.nvim's setup function. It must be loaded after darkrose is set up for this to work.
-- Define overrides to any highlight arguments here; this is an optional argument
-- to the generate function.
local overrides = {}
require("bufferline").setup({
highlights = require("darkrose.integrations.bufferline").generate(overrides),
})neorg
Pass the highlighting integration as an argument to neorg's setup function. It must be loaded after darkrose is set up for this to work.
-- Define overrides to any highlight arguments here; this is an optional argument
-- to the generate function.
local overrides = {}
require("neorg").setup({
load = {
["core.highlights"] = {
config = {
highlights = require("darkrose.integrations.neorg").generate(overrides),
},
},
},
})Prefer emailing patch sets to the official development mailing list.
While the official repository is located on sr.ht, contributions are also accepted through GitHub using the official mirror, if desired.
- rose-pine/neovim :: for inspiring the colorscheme
- folke/tokyonight.nvim :: for helping me structure my code properly
- catppuccin/nvim :: for the special integrations idea and implementation
