Skip to content

πŸŽ† A dark, mostly monochrome colorscheme with a touch of glowing.

License

Notifications You must be signed in to change notification settings

wnkz/monoglow.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

70 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ† Mono Glow

A mostly monochrome colorscheme with a touch of glowing.

Monoglow Z screenshot Insert mode Visual mode Monoglow Z (default) Palette

Note

More πŸ“· screenshots here

✨ Features

  • Supports the latest Neovim 0.9.0 features.
  • Terminal colors.
  • Supports all major plugins (see below).

Note

Currently available Plugins and Extras are mostly based on what I use, but feel free to open an issue or a PR to suggest a new one!

🎨 Supported Plugins
Plugin Source
blink.cmp blink-cmp
dashboard-nvim dashboard
flash.nvim flash
gitsigns.nvim gitsigns
markview.nvim markview
mason.nvim mason
neo-tree.nvim neo-tree
nvim-cmp cmp
nvim-window-picker nvim-window-picker
oil.nvim oil
telescope.nvim telescope
which-key.nvim which-key
🍭 Extras
Tool Extra
Ghostty extras/ghostty
Helix extras/helix
Kitty extras/kitty
Vim extras/vim
VS Code extras/vscode
WezTerm extras/wezterm
Zed extras/zed

πŸ“¦ Installation

Install the theme with your preferred package manager, such as folke/lazy.nvim:

{
  "wnkz/monoglow.nvim",
  lazy = false,
  priority = 1000,
  opts = {},
}

πŸš€ Usage

vim.cmd[[colorscheme monoglow]]
colorscheme monoglow

" There are also colorschemes for the different styles.
colorscheme monoglow-z
colorscheme monoglow-lack
colorscheme monoglow-void
colorscheme monoglow-light

🎨 Palette

See PALETTE.md for all styles (z, lack, void, light) with WCAG contrast ratios.

πŸͺ“ Overriding Colors & Highlight Groups

How the highlight groups are calculated:

  1. colors are determined based on your configuration, with the ability to override them using config.on_colors(colors).
  2. These colors are utilized to generate the highlight groups.
  3. config.on_highlights(highlights, colors) can be used to override highlight groups.

For default values of colors and highlights, please consult the z, lack, void, and light palettes, as well as the base highlights.

Changing Colors
require("monoglow").setup({
  -- Change the "glow" color
  on_colors = function(colors)
    colors.glow = "#fd1b7c"
  end
})

Monoglow Pink Glow

Changing Highlight Styles

You can customize styles (italic, bold, etc.) for any highlight group using on_highlights.

Note: on_highlights replaces the entire highlight definition. To preserve existing properties (like fg), include them in your override or use vim.tbl_extend.

require("monoglow").setup({
  on_highlights = function(hl, c)
    -- Override with full definition (recommended)
    hl["@function"] = { fg = c.syntax.func_def, italic = true, bold = true }
    hl.Boolean = { fg = c.syntax.boolean, bold = true, italic = true }
    hl["@keyword"] = { fg = c.syntax.keyword, italic = true }

    -- Or use vim.tbl_extend for partial overrides
    hl.Comment = vim.tbl_extend("force", hl.Comment, { bold = true })
  end,
})

See lua/monoglow/groups/base.lua and lua/monoglow/groups/treesitter.lua for all available highlight groups.

🍭 Extras

Extra color configs for Ghostty, Kitty, Helix, Vim, VS Code, WezTerm, and Zed can be found in extras/. To use them, refer to their respective documentation.

β˜€οΈ Light Theme

A light variant is also available for those who prefer it.

Monoglow Light screenshot

πŸ”₯ Contributing

Pull requests are welcome.

About

To build the colorscheme, I took everything I liked about the "colors" of slugbyte/lackluster.nvim, I added the amazing touch of glow and bright operators from Aliqyan-21/darkvoid.nvim, and I used folke/tokyonight.nvim for the code structure.

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

Third-Party Acknowledgments

  • Portions of this project include code derived from tokyonight.nvim, which is licensed under the Apache License, Version 2.0.
  • Inspiration for colors and arrangement comes from lackluster.nvim and darkvoid.nvim, both licensed under the MIT License.

See the NOTICE file for attributions and details.