Awesome
base16-nvim
A Lua port of base16-vim for Neovim.
Update procedure
In order to always be testing the latest and greatest version of these color schemes, I add this repo as a submodule to my dotfiles repository, and work out of there. The script for actually rebuilding schemes is stored in the superproject.
Tracking upstream template updates
Examples of "backports" of changes made in base16-vim:
The basic pattern is:
-
Make the changes to the
templates/default.mustache
template in this repo (ie. in the submodule). This requires a decision for how to port the Vimscript of each upstream change into Lua. -
Copy the new template up to the superproject's working area by running this (from the superproject root):
cp \ aspects/nvim/files/.config/nvim/pack/bundle/opt/base16-nvim/templates/default.mustache \ vendor/base16-templates/base16-nvim/templates
-
Run
NO_CLONE=1 support/base16-builder.rb
in the superproject. TheNO_CLONE
stops the changed template that was copied in the previous step from being updated. -
Commit the changes in the base16-nvim submodule:
cd aspects/nvim/files/.config/nvim/pack/bundle/opt/base16-nvim git commit -p git push cd -
-
Produce a dotfiles commit (example: d0da206692f96e19):
git add aspects/nvim/files/.config/nvim/pack/bundle/opt/base16-nvim git commit
-
Clean up the working area in the superproject:
cd vendor/base16-templates/base16-nvim git fetch git reset --hard origin/main cd -
Tracking upstream scheme updates
Examples of updating when new schemes are added, or existing schemes changed, upstream:
These updates are straightforward:
-
In my dotfiles, update the list of templates and the list of schemes:
(cd vendor/base16-templates-source && git pull) (cd vendor/base16-schemes-source && git pull)
-
Commit the changes in my base16-nvim submodule:
cd aspects/nvim/files/.config/nvim/pack/bundle/opt/base16-nvim git commit -p git push cd -
-
Produce a dotfiles commit (example: 7b26cdbf8ee35459):
git add aspects/nvim/files/.config/nvim/pack/bundle/opt/base16-nvim git add vendor/base16-{templates,schema}-source git commit