Skip to content

derivepassphrase wish conventional-configurable-text-styling

Wish details: derivepassphrase vault should support conventional and configurable text styling

ClasswishThis is a request for an enhancement.
PrioritylowWe aren't sure whether to fix this or not.
DifficultytaxingNeeds external things we don’t have (standards, users etc).
Present-in0.5 0.5.1

derivepassphrase intends to support text styling (color, boldface) for warning and error messages (and possibly for other future uses) for TTY devices. The question is, how exactly? The conventions in this regard are still in flux.

  • Color usage is generally tri-state: --color=always|auto|never (GNU grep et al.) or --color=yes|no|auto (pytest). Which terminology should be used?

  • For color usage, we should support the NO_COLOR and FORCE_COLOR environment variables to override the auto-detected result. Which variable should take precedence, NO_COLOR or FORCE_COLOR? (The FORCE_COLOR FAQ site gives FORCE_COLOR precedence over NO_COLOR, Python 3.13 gives NO_COLOR precedence.)

  • Should text decorations and text styling (bold, underline) be treated equivalently to color? Should this be handled by the same “color” options, or do we need separate “styling” options?

  • Should we support the TTY_COMPATIBLE=1|0|<unset> variable as proposed by Rich?


Until these conventions have stabilized, as a baseline, derivepassphrase shall emit device-independent output without color or text styling, in adherence to Eric S. Raymond’s Rule of Composition.