Todo-list#

Todo

Should we switch to --color=<auto|never|always> as GNU tools does?

Also see how the isatty property defaults with this option, and how it can be implemented in Python.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.ColorOption, line 8.)

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.ColorOption, line 17.)

Todo

Add more parameters for even greater configurability of the logger, by re-implementing those supported by logging.basicConfig.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/__init__.py:docstring of click_extra.logging.extra_basic_config, line 41.)

Todo

Reduce the code duplication here by using clever monkeypatching?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/testing.py:docstring of click_extra.testing.ExtraCliRunner.isolation, line 16.)

Todo

Reduce the code duplication here by using clever monkeypatching?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/testing.py:docstring of click_extra.testing.ExtraCliRunner.invoke2, line 10.)

Todo

Propose addition of meta keyword upstream to Click.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.ExtraContext, line 7.)

Todo

A better solution has been proposed upstream to Click: - https://github.com/pallets/click/issues/2516 - https://github.com/pallets/click/pull/2517

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/parameters.py:docstring of click_extra.parameters.ExtraOption.get_help_default, line 29.)

Todo

Pretty print JSON output (easier to read in bug reports)?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/version.py:docstring of click_extra.version.ExtraVersionOption.print_debug_message, line 5.)

Todo

Maybe this shouldn’t be in Click Extra because it is a legacy inheritance from one of my other project.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of cloup._util.identity, line 9.)

Todo

Tweak colors to make them more readable.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.HelpExtraTheme.light, line 5.)

Todo

Reuse Click’s HelpOption once this PR is merged: https://github.com/pallets/click/pull/2563

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.HelpOption, line 7.)

Todo

Evaluates the possibility of replacing all key-based access to the tree-like structure by a Box object, as it provides lots of utilities to merge its content.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/parameters.py:docstring of click_extra.parameters.ParamStructure, line 8.)

Todo

Write more documentation to detail in which case the user is responsible for setting up the logger, and when extra_basic_config is used.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/logging.py:docstring of click_extra.logging.VerbosityOption, line 24.)

Todo

Maybe this shouldn’t be in Click Extra because it is a legacy inheritance from one of my other project.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of cloup._util.identity, line 9.)

Todo

Tweak colors to make them more readable.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.HelpExtraTheme.light, line 5.)

Todo

Should we switch to --color=<auto|never|always> as GNU tools does?

Also see how the isatty property defaults with this option, and how it can be implemented in Python.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.ColorOption, line 8.)

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.ColorOption, line 17.)

Todo

Reuse Click’s HelpOption once this PR is merged: https://github.com/pallets/click/pull/2563

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.HelpOption, line 7.)

Todo

Propose addition of meta keyword upstream to Click.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.ExtraContext, line 7.)

Todo

For bullet-proof handling of edge-cases, we should probably add an indirection layer to have the processing order of options (the one below) different from the presentation order of options in the help screen.

This is probably something that has been requested in issue #544.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.default_extra_params, line 27.)

Todo

Add more parameters for even greater configurability of the logger, by re-implementing those supported by logging.basicConfig.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/logging.py:docstring of click_extra.logging.extra_basic_config, line 41.)

Todo

Write more documentation to detail in which case the user is responsible for setting up the logger, and when extra_basic_config is used.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/logging.py:docstring of click_extra.logging.VerbosityOption, line 24.)

Todo

A better solution has been proposed upstream to Click: - https://github.com/pallets/click/issues/2516 - https://github.com/pallets/click/pull/2517

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/parameters.py:docstring of click_extra.parameters.ExtraOption.get_help_default, line 29.)

Todo

Evaluates the possibility of replacing all key-based access to the tree-like structure by a Box object, as it provides lots of utilities to merge its content.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/parameters.py:docstring of click_extra.parameters.ParamStructure, line 8.)

Todo

Allow multiple token_type to be configured for colorization (if traditions are changed on Pygments’ side).

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/pygments.py:docstring of click_extra.pygments.AnsiFilter, line 7.)

Todo

Add support for plain MyST directives to remove the need of wrapping rST into an {eval-rst} block. Ideally, this would allow for the following simpler syntax in MyST:

```{click-example}
from click_extra import echo, extra_command, option, style

@extra_command
@option("--name", prompt="Your name", help="The person to greet.")
def hello_world(name):
    "Simple program that greets NAME."
    echo(f"Hello, {style(name, fg='red')}!")
```
```{click-run}
invoke(hello_world, args=["--help"])
```

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/sphinx.py:docstring of click_extra.sphinx, line 14.)

Todo

Fix the need to have both .. click:example:: and .. click:run:: directives in the same {eval-rst} block in MyST. This is required to have both directives shares states and context.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/sphinx.py:docstring of click_extra.sphinx, line 37.)

Todo

Reduce the code duplication here by using clever monkeypatching?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/testing.py:docstring of click_extra.testing.ExtraCliRunner.isolation, line 16.)

Todo

Reduce the code duplication here by using clever monkeypatching?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/testing.py:docstring of click_extra.testing.ExtraCliRunner.invoke2, line 10.)

Todo

Pretty print JSON output (easier to read in bug reports)?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/version.py:docstring of click_extra.version.ExtraVersionOption.print_debug_message, line 5.)

Todo

Test standalone scripts setting package name to filename and version to None.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/tests/test_version.py:docstring of click_extra.tests.test_version, line 3.)

Todo

Test standalone script fetching version from __version__ variable.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/tests/test_version.py:docstring of click_extra.tests.test_version, line 7.)

Todo

Maybe have the possibility to tweak CLI callback evaluation order so we can let the user to have the NO_COLOR env set to allow for color-less --version output.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/tests/test_version.py:docstring of click_extra.tests.test_version.test_color_option_precedence, line 7.)

Todo

Write examples and tutorial.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/colorize.md, line 29.)

Todo

Write examples and tutorial.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/colorize.md, line 49.)

Todo

Write examples and tutorial.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/colorize.md, line 55.)

Todo

Maybe this shouldn’t be in Click Extra because it is a legacy inheritance from one of my other project.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of cloup._util.identity, line 9.)

Todo

Tweak colors to make them more readable.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.HelpExtraTheme.light, line 5.)

Todo

Should we switch to --color=<auto|never|always> as GNU tools does?

Also see how the isatty property defaults with this option, and how it can be implemented in Python.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.ColorOption, line 8.)

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.ColorOption, line 17.)

Todo

Reuse Click’s HelpOption once this PR is merged: https://github.com/pallets/click/pull/2563

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/colorize.py:docstring of click_extra.colorize.HelpOption, line 7.)

Todo

Propose addition of meta keyword upstream to Click.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.ExtraContext, line 7.)

Todo

For bullet-proof handling of edge-cases, we should probably add an indirection layer to have the processing order of options (the one below) different from the presentation order of options in the help screen.

This is probably something that has been requested in issue #544.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/commands.py:docstring of click_extra.commands.default_extra_params, line 27.)

Todo

Write example.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/config.md, line 318.)

Todo

Write example.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/config.md, line 324.)

Todo

Write detailed documentation of extra_basic_config().

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/logging.md, line 270.)

Todo

Write docs!

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/logging.md, line 299.)

Todo

Add more parameters for even greater configurability of the logger, by re-implementing those supported by logging.basicConfig.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/logging.py:docstring of click_extra.logging.extra_basic_config, line 41.)

Todo

Write more documentation to detail in which case the user is responsible for setting up the logger, and when extra_basic_config is used.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/logging.py:docstring of click_extra.logging.VerbosityOption, line 24.)

Todo

Write example and tutorial.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/parameters.md, line 9.)

Todo

Propose the raw_args feature upstream to Click.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/parameters.md, line 46.)

Todo

A better solution has been proposed upstream to Click: - https://github.com/pallets/click/issues/2516 - https://github.com/pallets/click/pull/2517

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/parameters.py:docstring of click_extra.parameters.ExtraOption.get_help_default, line 29.)

Todo

Evaluates the possibility of replacing all key-based access to the tree-like structure by a Box object, as it provides lots of utilities to merge its content.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/parameters.py:docstring of click_extra.parameters.ParamStructure, line 8.)

Todo

Write example and tutorial.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/pygments.md, line 202.)

Todo

Allow multiple token_type to be configured for colorization (if traditions are changed on Pygments’ side).

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/pygments.py:docstring of click_extra.pygments.AnsiFilter, line 7.)

Todo

Add support for plain MyST directives to remove the need of wrapping rST into an {eval-rst} block. Ideally, this would allow for the following simpler syntax in MyST:

```{click-example}
from click_extra import echo, extra_command, option, style

@extra_command
@option("--name", prompt="Your name", help="The person to greet.")
def hello_world(name):
    "Simple program that greets NAME."
    echo(f"Hello, {style(name, fg='red')}!")
```
```{click-run}
invoke(hello_world, args=["--help"])
```

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/sphinx.py:docstring of click_extra.sphinx, line 14.)

Todo

Fix the need to have both .. click:example:: and .. click:run:: directives in the same {eval-rst} block in MyST. This is required to have both directives shares states and context.

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/sphinx.py:docstring of click_extra.sphinx, line 37.)

Todo

Explicitly list all formats IDs and render an example of each format.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/tabulate.md, line 67.)

Todo

Explain extra parameters supported by print_table() for each category of formats.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/tabulate.md, line 71.)

Todo

Write example and tutorial.

(The original entry is located in /home/runner/work/click-extra/click-extra/docs/testing.md, line 3.)

Todo

Reduce the code duplication here by using clever monkeypatching?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/testing.py:docstring of click_extra.testing.ExtraCliRunner.isolation, line 16.)

Todo

Reduce the code duplication here by using clever monkeypatching?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/testing.py:docstring of click_extra.testing.ExtraCliRunner.invoke2, line 10.)

Todo

Pretty print JSON output (easier to read in bug reports)?

(The original entry is located in /home/runner/work/click-extra/click-extra/click_extra/version.py:docstring of click_extra.version.ExtraVersionOption.print_debug_message, line 5.)