Skip to content

Latest commit

 

History

History
130 lines (89 loc) · 4.76 KB

README.md

File metadata and controls

130 lines (89 loc) · 4.76 KB

monarized

A washed down solarized based colorscheme using colorbuddy.nvim

monarized supports highlighting for Treesitter, Neovim LSP, and Telescope.

Color Preview

What makes this different?

Rather than going for a full spectrum of colors, which can feel like more distracting to some, monarized goes for four colors (fg, bg, fade and hl) and sticks with them for most of the elements. To add a bit more relief to the syntax highlighting without introducing too much contrast, each of those colors exists in their base form and a alternate one (fg0 and fg1). In some cases where a only a specific color makes sense (diffs are red and green, alert is orange and error is red), those colors are used, regardless of the base colors.

The result is something standing in the middle of monochrome themes and fully colorized themes. On a personal note, when I feel stuck on something or simply bored, I find it nice to change the style to give a fresher look to the code.

Install

You'll need (at least) Neovim 0.5.0 for monarized to work. You'll also need colorbuddy. If you want the optional style picker, Telescope is required as well.

with Vim-Plug

Plug 'tjdevries/colorbuddy.nvim'
Plug 'jhchabran/monarized'

with packer.nvim

use {
  'jhchabran/monarized',
  requires = 'jdevries/colorbuddy.nvim'
  config = function()
    -- update lualine theme when changing styles
    vim.g.monarized_lualine = true
    -- update kitty background and foreground when changing styles
    vim.g.monarized_kitty_colors = true

    require('colorbuddy').colorscheme('monarized')
    -- optional: adjust style
    -- require("monarized").set_style("dark_purple")

    -- optional: enable style picker
    -- require('telescope').load_extension('monarized')
    -- It can then be used with :Telescope monarized.
  end
}

Styles

Styles can be changed at the runtime, with: lua require("monarized").set_style("[STYLE NAME]"). All styles retains the same low contrast and washed down approach style.

Available styles

  • dark: the original style, a washed down solarized dark.
  • light: light flavor of the above.
  • purple-dark: a purple flavor.
  • gruvbox-dark: a washed down gruvbox.
  • gruvbox-light: light flavor of the above.
  • gray-dark: a darker flavor, with blue accents.
  • nord-dark: a washed down nord-theme.
  • sienna: a red and brown low contrast theme inspired from Siena.vim

If telescope is available (and that the extension is loaded), Telescope monarized allows to change style interactively.

See at the bottom of this README for the screenshots.

If kitty is detected on the path and that vim.g.monarized_kitty_colors is set to true, background and terminal colors will be updated when changing styles.

Lualine

Monarized comes with a custom theme for lualine that uses the same base palette, making the style consistent, including when changing styles at the runtime.

To enable this feature,

  1. Set g:monarized_lualine to true.
  2. Tell lualine to use the monarized theme:
  -- packer ...
  use { "hoob3rt/lualine.nvim", config = function()
    require("lualine").setup({
      options = {
        theme = require('monarized.lualine'),
        -- ...

Spell

You can use the option g:monarized_spell to choose how to underline the spell errors. Possible options are underline, undercurl. By default no line is used.

Contributing

  • This is very much a work in progress 🚧
    • I adjust themes as I use them, meaning some get more work than the others. I'd gladly merge improvements, especially on the light themes!
  • The code structure could vastly be improved, but I am focused on making it look nice before anything else.
    • If you'd like to improve it, I'd gladly take a PR for it.
  • I you have an idea of some nice colors style, feel free to open a PR!

Known issues

  • using telescope.nvim and nvim-treesitter variable preview, var keyword has a wrong highlight.

Screenshots

dark

light

purple-dark

gruvbox-dark

gruvbox-light

nord-dark

sienna