Pentiment.Highlighter.Makeup (pentiment v0.2.0)

View Source

Makeup-backed syntax highlighter.

Active only when the optional :makeup lexer packages are present; add them to your own dependencies to enable highlighting:

{:makeup_elixir, "~> 1.0"},
{:makeup_erlang, "~> 1.0"}

When the lexer for a language is not loaded, highlight/2 returns :error and diagnostics render unhighlighted — there is no hard dependency on makeup.

The full source is lexed in one pass (so heredocs, sigils, and other multi-line constructs style correctly across lines), then the token stream is split into per-line segments. Lexing runs once per source per Pentiment.format/3 call.

The palette is deliberately restrained — comments dim, literals in subtle colors, never red or yellow — so the formatter's label pointers remain the visually dominant element.