Skip to content

nlkli/recol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

recol

A fast CLI utility for managing color themes and fonts across your terminal and Neovim.

recol-demo-gif

  • 500+ prebuilt color schemes from the iTerm2 Color Schemes repository: iTerm2-Color-Schemes

  • Neovim theme integration based on the Nightfox theme collection: Nightfox.nvim

  • Terminal support:

  • Font switching support (macOS only)

  • Non-destructive configuration updates (only colors/fonts are modified)

Terminal support notes

  • Alacritty supports hot configuration reload. Changes are applied immediately without restarting the terminal.
  • Ghostty requires a manual reload (e.g. Ctrl + Shift + , on Linux or Cmd + Shift + , on macOS).

Neovim integration

Neovim does not support hot theme reloading. To apply the new theme, either restart Neovim or use a keybinding to reload your config:

vim.keymap.set("n", "<leader>R", ":source ~/.config/nvim/init.lua<CR>")

Add a simple command to apply themes from within Neovim:

if vim.fn.executable("recol") == 1 then
    vim.api.nvim_create_user_command("Recol", function(opts)
        vim.cmd("!recol " .. opts.args)
        vim.cmd("source ~/.config/nvim/init.lua")
    end, { nargs = "*" })
end

Build from source

git clone https://github.com/nlkli/recol
cd recol
cargo build --release
cp target/release/recol /usr/local/bin/

Help message

recol — quickly change your terminal theme
https://github.com/nlkli/recol
500+ terminal color schemes:
https://github.com/mbadolato/iTerm2-Color-Schemes
Supported targets: alacritty, ghostty, neovim.

recol <TNAME> -f <FNAME> # set a specific theme and font (fuzzy match)
recol -rdF               # random dark theme and random Nerd Font
recol -rls               # show random light theme palette

Options:
  <TNAME>, -t, --theme <NAME>
      Apply a theme by name (fuzzy matching)
  -r, --rand
      Apply a random theme
  -d, --dark
  -l, --light
      Filter to dark or light themes 
      (used with --rand, --theme or --theme-list)

  --nvim-config <PATH>
      default: ~/.config/nvim/init.lua

  -f, --font <NAME>
      Set font family by name (fuzzy matching)
  -F, --font-rand
      Pick a random Nerd Font

  --theme-list  List available themes
  --font-list   List available Nerd Fonts

  -s, --show
    Show the theme color palette without applying it
      --show-json   Output theme as JSON
      --show-toml   Output theme as TOML

  -h, --help
  -V, --version

recol-demo-img-1

recol-demo-img-2

recol-demo-img-3

recol-demo-img-4

recol-demo-img-5

recol-demo-img-6

recol-demo-img-7

recol-demo-img-8

recol-demo-img-9

recol-demo-img-10

recol-demo-img-11

recol-demo-img-12

😉👉⭐️

About

A fast CLI utility for managing color themes and fonts across your terminal and Neovim. Over 500 terminal color schemes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages