A Lua port of base16-vim for Neovim.
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.
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 -
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