A lightweight colorscheme manager and switcher inspired by Themery.nvim and Lazy.nvim.
- 🎨 Easily install and manage your colorschemes!
- 🔍 Switch between colorschemes with a live preview!
- ⚡️ Optimized startup time with lazy-loaded colorschemes!
Warning
Requirements: Neovim >= 0.10
, Git
Use the package manager of your choice to install Theminify:
{
'lmantw/themify.nvim',
lazy = false,
priority = 999,
config = {}
}
use {
'lmantw/themify.nvim',
config = {}
}
Manual Installation
local themify_path = vim.fs.joinpath(vim.fn.stdpath('data'), 'themify')
if not vim.loop.fs_stat(themify_path) then
vim.fn.system({
'git', 'clone',
'https://github.com/LmanTW/themify.nvim.git',
themify_path,
})
end
vim.opt.rtp:prepend(themify_path)
require('themify').setup()
To configure Themify, call the setup
function (or use the config
option in your package manager) and add the colorschemes you want to install / manage:
require('themify').setup({
-- Your list of colorschemes.
'folke/tokyonight.nvim',
'sho-87/kanagawa-paper.nvim',
{
'comfysage/evergarden',
branch = 'mega'
},
-- Built-in colorschemes are also supported.
-- (Also works with any colorschemes that are installed via other plugin manager, just make sure the colorscheme is loaded before Themify is loaded.)
'default'
})
Important
The colorschemes will not be installed automatically, please use the :Themify
command to open the menu then press I
to install all the colorschemes.
Advance Configuration
require('themify').setup({
async = false,
-- Enabling this would load the colorscheme asynchronously, which might improve your startup time.
activity = false,
-- Enabling this would track your colorscheme usage activity.
{
'folke/tokyonight.nvim',
branch = 'main',
before = function(theme)
-- The function run before the colorscheme is loaded.
end,
after = function(theme)
-- The function run after the colorscheme is loaded.
end,
-- A colorscheme can have multiple themes, you can use the options below to only show the themes you want.
whitelist = {'tokyonight-night', 'tokyonight-day'},
blacklist = {}
},
-- The loader loads the colorscheme on startup, you can use the option below to replace it with a custom one.
loader = function()
-- Custom loader logic...
end
})
You can add extra functionality to Themify by using short snippets of code. You can find snippets in the Snippet Library or write your own using the Publci API Themify provides.
Tip
You can also request or add snippets to the Snippet Library by opening an issue!