Check all palettes on VimColorschemes.com
Install using your preferred plugin manager.
{
"ankushbhagats/pastel.nvim",
priority = 1000, -- load immediately at startup
opts = {}, -- your configuration comes here
config = true -- call setup function with provided opts
}
use {
"ankushbhagats/pastel.nvim",
config = function()
require("pastel").setup()
end
}
vim.cmd.colorscheme("pasteldark")
vim.cmd.colorscheme("pastel")
M.config = {
background = {
dark = "pasteldark",
light = "pastelsoft",
},
palette = nil, -- force a specific theme variant (overrides :colorscheme)
termguicolors = true,
style = {
transparent = false,
inactive = true,
border = true,
float = true,
border = true,
bold = true,
italic = false,
underline = true,
invert_title = false,
simple_syntax = false,
dynamic_statusline = false,
},
colors = {
common = {},
global = {},
},
highlights = {
global = {},
},
exclude = {
core = {},
plugins = {},
},
filetypes = {},
}
pasteldark pastelnight pastelsoft pastelfrost pastelrose pastelcloud pastelglow pastelshell pastelcool pastelgold pastelsilk pastelcream pastelmint pastelsnow pastelfog pastelpop pastelwarm pastelforest pastelrice pastelwhite
The "style" table controls UI appearance.
Special Behavior
You can use ""*"" to apply a setting globally:
style = {
bold = "*", -- enable bold everywhere
italic = false, -- disable all italics
underline = true, -- use default underline behavior
}
Modify base colors globally or per colorscheme.
Global colors:
colors = {
global = {
yellow = "#eedd00",
cyan = "#aaffff",
}
}
colors = {
pasteldark = {
blue = "#11aaee",
red = "#ffa0a0",
}
}
Highlights accept functions.
Global highlights:
highlights = {
global = function(hl, c)
hl.Normal = { bg = "#333a3b", fg = "#808980" }
hl.Comment.italic = true
hl.GitSignsChange.fg = c.blue
end
}
Per-colorscheme highlights
highlights = {
pasteldark = function(hl, c)
hl.CursorLine.bg = "#302920"
end
}
Disable specific highlight group file/plugin.
exclude = {
core = {
syntax = true,
},
plugins = {
telescope = true,
},
}
Apply custom settings per filetype.
filetypes = {
lua = {
colors = {
purple = "#ffccff",
},
style = {
italic = true,
},
},
markdown = {
highlights = function(hl, c)
hl.Title.bold = true
end,
},
}
"pastel.nvim" ships with built-in highlight support for a wide range of popular plugins.
📦 UI & Navigation
🔍 Search & Motion
🧠 Completion & LSP
🐛 Debugging & Testing
🌿 Git
🎨 Syntax & Treesitter
📝 Editing Enhancements
🔔 UI Enhancements
⚙️ Utility & Misc
require("pastel").setup({
exclude = {
plugins = {
telescope = true,
gitsigns = true,
},
},
})
Minimal setup
require("pastel").setup()
vim.cmd("colorscheme pasteldark")
Transparent background
require("pastel").setup({
style = {
transparent = true,
},
})
Everything bold & italic globally
require("pastel").setup({
style = {
bold = "*",
italic = "*",
},
})
Override colors + highlights
require("pastel").setup({
colors = {
global = {
green = "#0d0d0d",
},
},
highlights = {
global = function(hl, c)
hl.Normal.bg = c.red
hl.CursorLine.bg = "#1a1a1a"
end,
},
})
Feel free to open issues or submit PRs to improve themes, add integrations, or enhance features.
GNU General Public License v3
Highlights adapted from AstroTheme. Thanks to the original authors.