My personal minimalistic Vim/Neovim colour scheme based on paramount.
For those with high virtue.
Paragon (like paramount), aims to highlight only the important things in code (such as keywords, literals, comments, etc.) while not looking too monochrome or like clown puke.
For Neovim users, it also defines tree-sitter and semantic tokens highlights for the built-in LSP client (while still using minimal colours), with the assumption that you're using Neovim v0.9+.
Install like any other plugin, then add to your configuration file:
" Vim script:
colorscheme paragon
-- Neovim Lua:
vim.cmd.colorscheme "paragon"
To use a transparent background colour, add the following before the
:colorscheme
command above:
" Vim script:
let g:paragon_transparent_bg = 1
-- Neovim Lua:
vim.g.paragon_transparent_bg = true
If you think some of the highlights suck, feel free to override them with a
ColorScheme
autocommand.
For example, to change the cursor line colour to a very uncomplimentary pink,
add the following before the :colorscheme
command above:
" Vim script:
autocmd ColorScheme paragon highlight CursorLine guibg=#ff69b4 ctermbg=13
-- Neovim Lua:
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "paragon",
command = "highlight CursorLine guibg=#ff69b4 ctermbg=13",
})
It may be possible that some highlights objectively suck (especially in light mode, as I don't use it much), or that some plugins you use are missing highlights with this theme (as I personally don't use many plugins); feel free to throw me a pull request to improve any such issues!
Nvim has a long-standing issue that may cause unwanted "gaps" in the cursor line and in floating windows when not using a transparent background colour.
If you are using Nvim v0.9+, paragon works around this issue by resolving and
removing ctermbg
and guibg
attributes from all highlight groups that link to
Normal
when sourced.
However, if this workaround is causing problems, it can be disabled by adding
the following before the :colorscheme
command:
" Vim script:
let g:paragon_nvim_priority_fix = 0
-- Neovim Lua:
vim.g.paragon_nvim_priority_fix = false
Unlike paramount, the name has no deep meaning. The name was chosen because it sounds cool and it begins with the letter "p" like paramount does...
However @3N4N came up with a great alternative interpretation of the name:
Well paragon means people with high virtue. It's similar, like, in a metaphorical sense. :)
So I'll roll with that. 😇