Highlight ranges of code in pygments output.
This provides a filter that uses spor anchors to determine which ranges of code to highlight in the pygmentized output. You specify the ranges by creating anchors with metadata where the key "highlight" is true, e.g.:
{"highlight": true}
First, install highlight-ranges. See the "Installation" section for details.
Create a directory somewhere and create a file named example.py
with the
following contents:
def func(x):
y = x * 4
return y
Now initialize a spor repository and add an anchor that will highlight the second line in the file:
spor init echo '{"highlight": true}' | spor add example.py 17 9 5
Finally, use the highlight-ranges
filter to generate the pygmentized HTML
of the code:
pygmentize -l python3 -f html -O full,style=highlight-ranges-black-on-red -F highlight-ranges:file=example.py example.py > example.html
If you open example.html
in a browser, you should see the second line in the
code emphasized.
You can install from PyPI with pip::
pip install highlight-ranges
Or you can install from source:
pip install .
The filter marks highlighted ranges of code with the Generic.Emph
type. From
a CSS point of view, this means you can style the highlights via the ge
class.
- file
- The file being pygmentized.