modern β simple β unintrusive
Note
With the release of v1, support was dropped for COFFEECAT, DARKFOREST, and DAYLIGHT.
See Legacy Support for details.
- π· Gallery
- π Installation
- βοΈ Configuration
- π¨ Customization
- π Supported Plugins
- π Extras
- π Legacy Support
- πͺ Contributing
- π« Inspiration
A theme with colors inspired from Nintendo's Ice Climbers characters
A fresh green tea inspired theme
A roasted green tea inspired theme
Inspired by ThePrimeagen's use of the RosΓ©-Pine theme
Install via your favorite package manager:
-- Using lazy.nvim
{
"cdmill/neomodern.nvim",
lazy = false,
priority = 1000,
config = function()
require("neomodern").setup({
-- optional configuration here
})
require("neomodern").load()
end,
},There are 4 themes included, each with a light and dark variant.
The light theme is used when { variant = "light" } is passed to setup(options) or
when vim.o.background = "light".
Default options are given below:
require("neomodern").setup({
-----MAIN OPTIONS-----
--
-- Can be one of: 'iceclimber' | 'gyokuro' | 'hojicha' | 'roseprime'
theme = "iceclimber",
-- Can be one of: 'light' | 'dark', or set via vim.o.background
variant = "dark",
-- Use an alternate, darker bg
alt_bg = false,
-- If true, docstrings will be highlighted like strings, otherwise they will be
-- highlighted like comments. Note, behavior is dependent on the language server.
colored_docstrings = true,
-- If true, highlights the {sign,fold} column the same as cursorline
cursorline_gutter = true,
-- If true, highlights the gutter darker than the bg
dark_gutter = false,
-- if true favor treesitter highlights over semantic highlights
favor_treesitter_hl = false,
-- Don't set background of floating windows. Recommended for when using floating
-- windows with borders.
plain_float = false,
-- Show the end-of-buffer character
show_eob = true,
-- If true, enable the vim terminal colors
term_colors = true,
-- Keymap (in normal mode) to toggle between light and dark variants.
toggle_variant_key = nil,
-- Don't set background
transparent = false,
-----DIAGNOSTICS and CODE STYLE-----
--
diagnostics = {
darker = true, -- Darker colors for diagnostic
undercurl = true, -- Use undercurl for diagnostics
background = true, -- Use background color for virtual text
},
-- The following table accepts values the same as the `gui` option for normal
-- highlights. For example, `bold`, `italic`, `underline`, `none`.
code_style = {
comments = "italic",
conditionals = "none",
functions = "none",
keywords = "none",
headings = "bold", -- Markdown headings
operators = "none",
keyword_return = "none",
strings = "none",
variables = "none",
},
-----PLUGINS-----
--
-- The following options allow for more control over some plugin appearances.
plugin = {
lualine = {
-- Bold lualine_a sections
bold = true,
-- Don't set section/component backgrounds. Recommended to not set
-- section/component separators.
plain = false,
},
cmp = { -- works for nvim.cmp and blink.nvim
-- Don't highlight lsp-kind items. Only the current selection will be highlighted.
plain = false,
-- Reverse lsp-kind items' highlights in blink/cmp menu.
reverse = false,
},
},
-- CUSTOM HIGHLIGHTS --
--
-- Override default colors
colors = {},
-- Override highlight groups
highlights = {},
})
-- Convenience function that simply calls `:colorscheme <theme>` with the theme
-- specified in your config.
require("neomodern").load()Example using custom colors and highlights:
require("neomodern").setup {
colors = {
orange = '#ff8800', -- define a new color
keyword = '#817faf', -- redefine an existing color
},
highlights = {
...
["@keyword"] = { fg = "$keyword", fmt = 'bold' },
["@function"] = { bg = "$orange", fmt = 'underline,italic' },
...
},
}See neomodern.palette for color names.
Available here
With the release of v1, Neomodern dropped support for the legacy themes COFFEECAT,
DARKFOREST, and DAYLIGHT. If you would still like to use these themes, you can use the
following commit:
{
"cdmill/neomodern.nvim",
commit = "8eecbe1",
opts = {
-- your settings here
}
}Pull requests are welcome.
If you are wanting support for a plugin, either open an issue or submit a pull request with your highlight additions in this file.







