Open samypr100 opened 3 months ago
https://force-color.org/ is new to me. I've seen FORCE_COLOR
before but it was cargo-culting only without anything published and there were deviations of it.
btw we already support CLICOLOR
/ CLICOLOR_FORCE
, see https://bixense.com/clicolors/
A big question is how to handle the interaction of 3 different standards. At least FORCE_COLOR
and CLICOLOR
acknowledge and specify how to interact with NO_COLOR
but they don't specify how to interact with each other, e.g. jhasse/clicolors#15
Thanks, https://force-color.org/ (the website) was relatively new to me as well.
I decided to propose this issue given python started considered it canonical in their docs and thought it was probably worthy to consider support for it here as it would help projects like uv
, ruff
, and potentially others.
For what it's worth python just checks for the mere presence of the environment var, and other tools are notionally similar but differ in what exactly they search for and how they use it in context of the other variables.
I don't see a standard on how all of them interact and I'm not sure there will ever be one. For this project specifically, I was trying to align FORCE_COLOR
to CLICOLOR_FORCE
's definition and usage.
I wish the was a better way to gather metrics on usage, but at a glance it does seem at least on Github that "FORCE_COLOR"
usage outweights the usage of "CLICOLOR_FORCE"
, but I understand that's not fully representative by any means.
When I was weighing what to build-in, I was less interested in how wide spread something is about how consistently its expected to be implemented. People can always build their own thing on top but I didn't feel like arbitrating between parties arguing over 3 different implementations.
In donatj/force-color.org#30 I bring up the discrepancies. We'll see how that goes...
I didn't feel like arbitrating between parties arguing over 3 different implementations.
Thanks for bringing up the discrepancies ❤️
As originally reported in https://github.com/astral-sh/uv/issues/3955, it seems both https://force-color.org/ and https://no-color.org/ are becoming adopted community standards.
Python's 3.13 docs shows an example usage of both https://docs.python.org/3.13/using/cmdline.html#controlling-color.
It would be ideal if
anstyle
can supportFORCE_COLOR
in addition toCLICOLOR_FORCE
to force color support.I believe there should be no functional changes beyond supporting an additional environment variable check to the existing
clicolor_force
function inanstyle-query
crate.NO_COLOR
would still take precedence overFORCE_COLOR
.