Expand description
Colour and emphasis.
Three rules hold here, and they are the reason this is a module rather than
scattered \x1b[ literals:
- Styling never changes the data. The same fields, in the same order, with the same words, whether or not anything is painted. Only the escape codes differ, so a pipe and a terminal disagree about nothing that matters.
- Machine output is never styled. Not stripped afterwards — never produced. Snapshot tests then pin the real bytes a caller receives.
- Untrusted text is never given our chrome. Descriptions and comments are dimmed and nothing more. Painting them like tool output would let an issue’s text impersonate the tool talking, which is exactly the confusion the fence exists to prevent (ADR 1).