/themify.nvim

A lightweight colorscheme manager and switcher.

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

Themify

A screenshot of Themify

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!

📦 Installation

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()

🛠 Configuration

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('themery').setup({
  -- Your list of colorschemes.

  'folke/tokyonight.nvim',
  'Yazeed1s/minimal.nvim',
  {
    'sho-87/kanagawa-paper.nvim',

     branch = 'master'
  },

  -- 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
{
  activity = false,
  -- Enabling this would track your colorscheme usage activity.

  async = false,
  -- Enabling this would load the colorscheme asynchronously, which might improve your startup time.

  {
    'folke/tokyonight.nvim',

    branch = 'main',

    before = function()
      -- The function run before the colorscheme is loaded.
    end,
    after = function()
      -- 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 = {}
  }
}

📎 Other

Star History Chart