Skip to content

Conversation

hamdanal
Copy link
Collaborator

@hamdanal hamdanal commented Jan 15, 2023

Add a ColoredHelpFormatter argparse formatter class that colors the command line arguments of mypy CLI help. The formatter uses the existing FancyFormatter for the coloring itself and the detection of the terminal. It is added to the following commands:

  • mypy
  • stubgen
  • stubtest
  • dmypy and its subcommands

The output has been tested locally with all the commands above in the terminal (coloring enabled) and when piped (coloring disabled). I also tested mypy.api.run to ensure that the proper stdout and stderr are passed and colors are disabled.

Here is a screenshot of mypy --help with the colors:
mypy --help

Add a `ColoredHelpFormatter` argparse formatter class that colors the
command line arguments of mypy CLI help. The formatter uses the existing
`FancyFormatter` for the coloring itself and the detection of the terminal.
It is added to the following commands:
* `mypy`
* `stubgen`
* `stubtest`
* `dmypy` and its subcommands

The output has been tested locally with all the commands above as well as
with `mypy.api.run` to ensure that the proper stdout and stderr are passed
and colors are disabled.
@github-actions

This comment has been minimized.

@github-actions
Copy link
Contributor

According to mypy_primer, this change doesn't affect type check results on a corpus of open source code. ✅

@hamdanal
Copy link
Collaborator Author

hamdanal commented Feb 9, 2025

Since this PR didn't see any interest after two years, I am closing it. I will gladly make another PR in the future if there is interest.

In the meantime, those interested can try auto-rich-argparse that will apply colors automatically to command line tools that use argparse. You can try it out with uvx --with auto-rich-argparse mypy --help

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant