Gruvbox is an excellent "retro groove color scheme" for Vim. This is an attempt at adapting it for use as a Pygments theme.
Gruvbox is a highly customized Vim color scheme, and it can look quite different when viewing different file formats (Ruby vs. Clojure is a good example). This Pygments theme is designed to mirror, as closely as possible, the Clojure file syntax highlighting in dark mode. Other languages do still look quite nice with this Pygments theme, it's just that they may not look very much like their corresponding syntax highlighting with the Gruvbox color scheme in Vim.
To create this pygments theme, I used
vim2pygments to convert
gruvbox.vim
into a pygments theme file, and then made a few additional
tweaks to the resulting gruvbox.py
to get the Clojure syntax
highlighting looking as much as possible like it does in Vim. The
conversion process was a little trickier than usual, because the author
of Gruvbox utilized the power of Vimscript to do some clever things and
basically generate the highlighting information programmatically instead
of hard-coding it into the file like most Vim color schemes do. Because
vim2pygments needs to see a bunch of lines starting with hi
, I had to
change the execute
command that sources each would-be hi
command
on-the-fly, and instead have it append each hi
command to a temporary
file that vim2pygments could understand. It was hacky, but it worked.
If you just want to use the Gruvbox theme for the code blocks on your
Jekyll blog or whatever, simply replace your pygments.css
with the one
in this repo and you're good to go. You may wish to make a backup of
your old css file if you ever change your mind.
For more general use with pygments, there are two methods of installing:
Find your pygments installation path (on my system, it's located at
/usr/local/lib/python2.7/site-packages/pygments
) and rename the
style.py
from this repo to gruvbox.py
, and move it into the styles
subdirectory of the path above.
For those who do not want to directly add to the source directories
of the project, clone this repo to a suitable place, for example,
~/.local/scripts/gruvbox-pygments
, change directory to this location
and run:
sudo python setup.py develop
This will hook in this style into pygments
without editing the source
directories of pygments
iteself. Do not delete this directory as this
where python will be looking for this style file.
Replace the pygments.css
with your backup for the Jekyll blog or
whatever.
Remove the gruvbox.py
file from the installation path.
Remove just as you would any other python package. For example with pip
:
sudo pip uninstall gruvbox-pygments
You can now safely remove the directory containing this repo.