nix-community / nix-index

Quickly locate nix packages with specific files [maintainers=@bennofs @figsoda @raitobezarius]
Other
866 stars 48 forks source link

fix(nix-locate): respect color=always #237

Open P1n3appl3 opened 1 year ago

P1n3appl3 commented 1 year ago

--color=always has been broken when sending stdout to a pipe since the move to owo-colors in #217.

The issue is that even though the color arg would be set to true, it still used .if_supports_color(Stream::Stdout, ... when printing which wouldn't emit color if stdout wasn't a tty regardless what the arg was set to. I've removed the atty check and used owo-colors override functionality based on the value of --color.

This does mean that the string slicing logic for the matched segment is run unconditionally on each match. I haven't run benchmarks but I assume the difference is negligible.