Find out more here monokai.pro
Plug 'loctvl842/monokai-pro.nvim'
use {
"loctvl842/monokai-pro.nvim",
config = function()
require("monokai-pro").setup()
end
}
There are several themes included in this plugin.
Example configuration:
require("monokai-pro").setup({
transparent_background = false,
terminal_colors = true,
devicons = true, -- highlight the icons of `nvim-web-devicons`
styles = {
comment = { italic = true },
keyword = { italic = true }, -- any other keyword
type = { italic = true }, -- (preferred) int, long, char, etc
storageclass = { italic = true }, -- static, register, volatile, etc
structure = { italic = true }, -- struct, union, enum, etc
parameter = { italic = true }, -- parameter pass in function
annotation = { italic = true },
tag_attribute = { italic = true }, -- attribute of tag in reactjs
},
filter = "pro", -- classic | octagon | pro | machine | ristretto | spectrum
-- Enable this will disable filter option
day_night = {
enable = false, -- turn off by default
day_filter = "pro", -- classic | octagon | pro | machine | ristretto | spectrum
night_filter = "spectrum", -- classic | octagon | pro | machine | ristretto | spectrum
},
inc_search = "background", -- underline | background
background_clear = {
-- "float_win",
"toggleterm",
"telescope",
-- "which-key",
"renamer",
"notify",
-- "nvim-tree",
-- "neo-tree",
-- "bufferline", -- better used if background of `neo-tree` or `nvim-tree` is cleared
},-- "float_win", "toggleterm", "telescope", "which-key", "renamer", "neo-tree", "nvim-tree", "bufferline"
plugins = {
bufferline = {
underline_selected = false,
underline_visible = false,
},
indent_blankline = {
context_highlight = "default", -- default | pro
context_start_underline = false,
},
},
---@param c Colorscheme
override = function(c) end,
---@param cs Colorscheme
---@param p ColorschemeOptions
---@param Config MonokaiProOptions
---@param hp Helper
override = function(cs: Colorscheme, p: ColorschemeOptions, Config: MonokaiProOptions, hp: Helper) end,
})
border
if you want to set background_clear
For example:
setup
:" Vim Script
colorscheme monokai-pro
require("monokai-pro").setup({
-- ... your config
})
-- lua
vim.cmd([[colorscheme monokai-pro]])
monokai-pro
for Lualine
:require('lualine').setup {
options = {
-- ...
theme = 'monokai-pro'
-- ...
}
}
monokai-pro
for barbecue
:require('barbecue').setup {
-- ...
theme = 'monokai-pro'
-- ...
}
monokai-pro
for lightline
:" Vim Script
let g:lightline = {'colorscheme': 'monokaipro'}
require("monokai-pro").setup({
-- ...
override = function()
return {
Normal = { bg = "#000000" }
}
end
-- ...
})
This is a sample config to use Tokyonight
as the palette:
require("monokai-pro").setup({
-- ...
--- @param filter "classic" | "machine" | "octagon" | "pro" | "ristretto" | "spectrum"
override = function(c)
return {
IndentBlanklineChar = { fg = c.base.dimmed4 },
}
end,
overridePalette = function(filter)
return {
dark2 = "#101014",
dark1 = "#16161E",
background = "#1A1B26",
text = "#C0CAF5",
accent1 = "#f7768e",
accent2 = "#7aa2f7",
accent3 = "#e0af68",
accent4 = "#9ece6a",
accent5 = "#0DB9D7",
accent6 = "#9d7cd8",
dimmed1 = "#737aa2",
dimmed2 = "#787c99",
dimmed3 = "#363b54",
dimmed4 = "#363b54",
dimmed5 = "#16161e",
}
end
-- ...
})
This is a sample config to use a darker background for almost all supported plugins:
require("monokai-pro").setup({
-- ...
overrideScheme = function(cs, p, config, hp)
local cs_override = {}
local calc_bg = hp.blend(p.background, 0.75, '#000000')
cs_override.editor = {
background = calc_bg,
}
return cs_override
end
-- ...
})
MonokaiProSelect
to launch a menu to choose theme filter (required: nui.nvim)MonokaiPro
with parameter to change theme filter: For example:
MonokaiPro classic