jgm / skylighting

A Haskell syntax highlighting library with tokenizers derived from KDE syntax highlighting descriptions
189 stars 61 forks source link

Format highlighting as DocLayout Docs using ANSI styles #188

Open silby opened 3 months ago

silby commented 3 months ago

As observed in, https://github.com/jgm/pandoc/pull/9565#issuecomment-2016610872, skylighting-format-ansi as-is produces somewhat bad results when rendering with a background color different from the terminal default, which is quite visible in the context of the work-in-progress Pandoc ANSI writer. We could control the output a bit better in that context by adding a formatter that returns a doclayout Doc. The goal would be a Doc that when rendered with doclayout's renderANSI would have the style's background color limited to a rectangle bounding the code block.

High fidelity to highlight styles will require support in doclayout for indexed and 24 bit colors, https://github.com/jgm/doclayout/issues/32