Hello community,
here is the log from the commit of package python-click-help-colors for openSUSE:Factory checked in at 2020-03-31 17:17:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-click-help-colors (Old)
and /work/SRC/openSUSE:Factory/.python-click-help-colors.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-click-help-colors"
Tue Mar 31 17:17:48 2020 rev:3 rq:790143 version:0.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-click-help-colors/python-click-help-colors.changes 2019-09-27 14:47:22.248932893 +0200
+++ /work/SRC/openSUSE:Factory/.python-click-help-colors.new.3160/python-click-help-colors.changes 2020-03-31 17:17:51.327727056 +0200
@@ -1,0 +2,8 @@
+Tue Mar 31 12:18:10 UTC 2020 - Marketa Calabkova
+
+- Update to 0.8
+ * Add support for NO_COLOR https://no-color.org/
+ * Add support for MultiCommands
+ * Add support for version_option
+
+-------------------------------------------------------------------
Old:
----
click-help-colors-0.6.tar.gz
New:
----
click-help-colors-0.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-click-help-colors.spec ++++++
--- /var/tmp/diff_new_pack.YDQ0Kj/_old 2020-03-31 17:17:52.371727718 +0200
+++ /var/tmp/diff_new_pack.YDQ0Kj/_new 2020-03-31 17:17:52.383727726 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-click-help-colors
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-click-help-colors
-Version: 0.6
+Version: 0.8
Release: 0
Summary: Colorization of help messages in Click
License: MIT
@@ -32,6 +32,7 @@
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module click >= 7.0}
+BuildRequires: %{python_module pytest}
# /SECTION
%python_subpackages
@@ -48,6 +49,9 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%check
+%pytest
+
%files %{python_files}
%doc README.rst
%license LICENSE.txt
++++++ click-help-colors-0.6.tar.gz -> click-help-colors-0.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/CHANGES.rst new/click-help-colors-0.8/CHANGES.rst
--- old/click-help-colors-0.6/CHANGES.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/CHANGES.rst 2020-03-13 15:03:35.000000000 +0100
@@ -0,0 +1,9 @@
+[0.8]
+-------------------------------
+- Add missing files to sdist
+
+[0.7]
+-------------------------------
+- Add support for NO_COLOR https://no-color.org/
+- Add support for MultiCommands
+- Add support for version_option
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/MANIFEST.in new/click-help-colors-0.8/MANIFEST.in
--- old/click-help-colors-0.6/MANIFEST.in 2019-07-19 08:59:51.000000000 +0200
+++ new/click-help-colors-0.8/MANIFEST.in 2020-03-13 14:52:57.000000000 +0100
@@ -1,2 +1,8 @@
# Include the license file
include LICENSE.txt
+include CHANGES.rst
+include tox.ini
+graft tests
+graft examples
+prune examples/screenshots
+global-exclude *.py[cod]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/PKG-INFO new/click-help-colors-0.8/PKG-INFO
--- old/click-help-colors-0.6/PKG-INFO 2019-07-19 09:02:53.000000000 +0200
+++ new/click-help-colors-0.8/PKG-INFO 2020-03-13 15:08:10.000000000 +0100
@@ -1,12 +1,176 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: click-help-colors
-Version: 0.6
+Version: 0.8
Summary: Colorization of help messages in Click
Home-page: https://github.com/r-m-n/click-help-colors
-Author: UNKNOWN
-Author-email: UNKNOWN
License: MIT
-Download-URL: https://github.com/r-m-n/click-help-colors/archive/0.6.tar.gz
-Description: UNKNOWN
+Description: =================
+ click-help-colors
+ =================
+
+ |build| |pypi| |downloads|
+
+ Colorization of help messages in Click_.
+
+ Usage
+ -----
+
+ .. code:: python
+
+ import click
+ from click_help_colors import HelpColorsGroup, HelpColorsCommand
+
+ @click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green'
+ )
+ def cli():
+ pass
+
+ @cli.command()
+ @click.option('--count', default=1, help='Some number.')
+ def command1(count):
+ click.echo('command 1')
+
+ @cli.command(
+ cls=HelpColorsCommand,
+ help_options_color='blue'
+ )
+ @click.option('--name', help='Some string.')
+ def command2(name):
+ click.echo('command 2')
+
+ .. code-block:: console
+
+ $ python example.py --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code-block:: console
+
+ $ python example.py command1 --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code-block:: console
+
+ $ python example.py command2 --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code:: python
+
+ import click
+ from click_help_colors import HelpColorsGroup, HelpColorsCommand
+
+ @click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green',
+ help_options_custom_colors={'command3': 'red', 'command4': 'cyan'}
+ )
+ def cli():
+ pass
+
+
+ @cli.command(
+ cls=HelpColorsCommand,
+ help_headers_color=None,
+ help_options_color=None,
+ help_options_custom_colors={'--count': 'red', '--subtract': 'green'}
+ )
+ @click.option('--count', default=1, help='Count help text.')
+ @click.option('--add', default=1, help='Add help text.')
+ @click.option('--subtract', default=1, help='Subtract help text.')
+ def command1(count, add, subtract):
+ """A command"""
+ click.echo('command 1')
+
+ ...
+
+ .. code-block:: console
+
+ $ python example_with_custom_colors.py --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code-block:: console
+
+ $ python example_with_custom_colors.py --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code:: python
+
+ from click_help_colors import version_option
+
+ @click.group()
+ def cli():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ message_color='green'
+ )
+ def cmd1():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='yellow'
+ )
+ def cmd2():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='white',
+ message='%(prog)s %(version)s\n python=3.7',
+ message_color='bright_black'
+ )
+ def cmd3():
+ pass
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ Installation
+ ------------
+
+ With ``pip``:
+
+ .. code-block:: console
+
+ $ pip install click-help-colors
+
+ From source:
+
+ .. code-block:: console
+
+ $ git clone https://github.com/r-m-n/click-help-colors.git
+ $ cd click-help-colors
+ $ python setup.py install
+
+ .. _Click: http://click.pocoo.org/
+
+
+ .. |pypi| image:: https://img.shields.io/pypi/v/click-help-colors
+ :alt: PyPI
+
+ .. |build| image:: https://travis-ci.com/click-contrib/click-help-colors.svg?branch=master
+ :target: https://travis-ci.com/click-contrib/click-help-colors
+
+ .. |downloads| image:: https://img.shields.io/pypi/dm/click-help-colors
+ :alt: PyPI - Downloads
+
Keywords: click
Platform: UNKNOWN
+Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/README.rst new/click-help-colors-0.8/README.rst
--- old/click-help-colors-0.6/README.rst 2019-07-19 08:59:51.000000000 +0200
+++ new/click-help-colors-0.8/README.rst 2020-02-29 12:45:09.000000000 +0100
@@ -2,6 +2,8 @@
click-help-colors
=================
+|build| |pypi| |downloads|
+
Colorization of help messages in Click_.
Usage
@@ -37,19 +39,19 @@
$ python example.py --help
-.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/1....
+.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
.. code-block:: console
$ python example.py command1 --help
-.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/2....
+.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
.. code-block:: console
$ python example.py command2 --help
-.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/3....
+.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
.. code:: python
@@ -85,14 +87,55 @@
$ python example_with_custom_colors.py --help
-.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/4....
+.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
.. code-block:: console
$ python example_with_custom_colors.py --help
-.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/5....
-
+.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+.. code:: python
+
+ from click_help_colors import version_option
+
+ @click.group()
+ def cli():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ message_color='green'
+ )
+ def cmd1():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='yellow'
+ )
+ def cmd2():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='white',
+ message='%(prog)s %(version)s\n python=3.7',
+ message_color='bright_black'
+ )
+ def cmd3():
+ pass
+
+.. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
Installation
------------
@@ -111,3 +154,13 @@
$ python setup.py install
.. _Click: http://click.pocoo.org/
+
+
+.. |pypi| image:: https://img.shields.io/pypi/v/click-help-colors
+ :alt: PyPI
+
+.. |build| image:: https://travis-ci.com/click-contrib/click-help-colors.svg?branch=master
+ :target: https://travis-ci.com/click-contrib/click-help-colors
+
+.. |downloads| image:: https://img.shields.io/pypi/dm/click-help-colors
+ :alt: PyPI - Downloads
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/click_help_colors/__init__.py new/click-help-colors-0.8/click_help_colors/__init__.py
--- old/click-help-colors-0.6/click_help_colors/__init__.py 2019-07-19 08:59:51.000000000 +0200
+++ new/click-help-colors-0.8/click_help_colors/__init__.py 2020-03-13 14:55:20.000000000 +0100
@@ -1,88 +1,19 @@
-import click
-from click.termui import _ansi_colors, _ansi_reset_all
+from .core import HelpColorsFormatter, HelpColorsMixin, HelpColorsGroup, \
+ HelpColorsCommand, HelpColorsMultiCommand
+from .utils import _colorize, HelpColorsException
-def _colorize(text, color=None):
- if not color:
- return text
- try:
- return '\033[%dm' % (_ansi_colors[color]) + text + _ansi_reset_all
- except KeyError:
- raise TypeError('Unknown color %r' % color)
-
-
-class HelpColorsFormatter(click.HelpFormatter):
- def __init__(self, headers_color=None, options_color=None,
- options_custom_colors=None, *args, **kwargs):
- self.headers_color = headers_color
- self.options_color = options_color
- self.options_custom_colors = options_custom_colors
- super(HelpColorsFormatter, self).__init__(*args, **kwargs)
-
- def _pick_color(self, option_name):
- opt = option_name.split()[0]
- if (self.options_custom_colors and
- (opt in self.options_custom_colors.keys())):
- return self.options_custom_colors[opt]
- else:
- return self.options_color
-
- def write_usage(self, prog, args='', prefix='Usage: '):
- colorized_prefix = _colorize(prefix, color=self.headers_color)
- super(HelpColorsFormatter, self).write_usage(prog,
- args,
- prefix=colorized_prefix)
-
- def write_heading(self, heading):
- colorized_heading = _colorize(heading, color=self.headers_color)
- super(HelpColorsFormatter, self).write_heading(colorized_heading)
-
- def write_dl(self, rows, **kwargs):
- colorized_rows = [(_colorize(row[0], self._pick_color(row[0])), row[1])
- for row in rows]
- super(HelpColorsFormatter, self).write_dl(colorized_rows, **kwargs)
-
-
-class HelpColorsMixin(object):
- def __init__(self, help_headers_color=None, help_options_color=None,
- help_options_custom_colors=None, *args, **kwargs):
- self.help_headers_color = help_headers_color
- self.help_options_color = help_options_color
- self.help_options_custom_colors = help_options_custom_colors
- super(HelpColorsMixin, self).__init__(*args, **kwargs)
-
- def get_help(self, ctx):
- formatter = HelpColorsFormatter(
- width=ctx.terminal_width,
- max_width=ctx.max_content_width,
- headers_color=self.help_headers_color,
- options_color=self.help_options_color,
- options_custom_colors=self.help_options_custom_colors)
- self.format_help(ctx, formatter)
- return formatter.getvalue().rstrip('\n')
-
-
-class HelpColorsGroup(HelpColorsMixin, click.Group):
- def __init__(self, *args, **kwargs):
- super(HelpColorsGroup, self).__init__(*args, **kwargs)
-
- def command(self, *args, **kwargs):
- kwargs.setdefault('cls', HelpColorsCommand)
- kwargs.setdefault('help_headers_color', self.help_headers_color)
- kwargs.setdefault('help_options_color', self.help_options_color)
- kwargs.setdefault('help_options_custom_colors',
- self.help_options_custom_colors)
- return super(HelpColorsGroup, self).command(*args, **kwargs)
-
- def group(self, *args, **kwargs):
- kwargs.setdefault('cls', HelpColorsGroup)
- kwargs.setdefault('help_headers_color', self.help_headers_color)
- kwargs.setdefault('help_options_color', self.help_options_color)
- kwargs.setdefault('help_options_custom_colors',
- self.help_options_custom_colors)
- return super(HelpColorsGroup, self).group(*args, **kwargs)
-
-
-class HelpColorsCommand(HelpColorsMixin, click.Command):
- def __init__(self, *args, **kwargs):
- super(HelpColorsCommand, self).__init__(*args, **kwargs)
+from .decorators import version_option
+
+
+__all__ = [
+ 'HelpColorsFormatter', 'HelpColorsMixin', 'HelpColorsGroup',
+ 'HelpColorsCommand', 'HelpColorsMultiCommand',
+
+ '_colorize', 'HelpColorsException',
+
+ 'version_option'
+]
+
+
+__version__ = '0.8'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/click_help_colors/core.py new/click-help-colors-0.8/click_help_colors/core.py
--- old/click-help-colors-0.6/click_help_colors/core.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/click_help_colors/core.py 2020-02-29 08:50:17.000000000 +0100
@@ -0,0 +1,103 @@
+import click
+
+from .utils import _colorize, _extend_instance
+
+
+class HelpColorsFormatter(click.HelpFormatter):
+ def __init__(self, headers_color=None, options_color=None,
+ options_custom_colors=None, *args, **kwargs):
+ self.headers_color = headers_color
+ self.options_color = options_color
+ self.options_custom_colors = options_custom_colors
+ super(HelpColorsFormatter, self).__init__(*args, **kwargs)
+
+ def _pick_color(self, option_name):
+ opt = option_name.split()[0]
+ if (self.options_custom_colors and
+ (opt in self.options_custom_colors.keys())):
+ return self.options_custom_colors[opt]
+ else:
+ return self.options_color
+
+ def write_usage(self, prog, args='', prefix='Usage: '):
+ colorized_prefix = _colorize(prefix, color=self.headers_color)
+ super(HelpColorsFormatter, self).write_usage(prog,
+ args,
+ prefix=colorized_prefix)
+
+ def write_heading(self, heading):
+ colorized_heading = _colorize(heading, color=self.headers_color)
+ super(HelpColorsFormatter, self).write_heading(colorized_heading)
+
+ def write_dl(self, rows, **kwargs):
+ colorized_rows = [(_colorize(row[0], self._pick_color(row[0])), row[1])
+ for row in rows]
+ super(HelpColorsFormatter, self).write_dl(colorized_rows, **kwargs)
+
+
+class HelpColorsMixin(object):
+ def __init__(self, help_headers_color=None, help_options_color=None,
+ help_options_custom_colors=None, *args, **kwargs):
+ self.help_headers_color = help_headers_color
+ self.help_options_color = help_options_color
+ self.help_options_custom_colors = help_options_custom_colors
+ super(HelpColorsMixin, self).__init__(*args, **kwargs)
+
+ def get_help(self, ctx):
+ formatter = HelpColorsFormatter(
+ width=ctx.terminal_width,
+ max_width=ctx.max_content_width,
+ headers_color=self.help_headers_color,
+ options_color=self.help_options_color,
+ options_custom_colors=self.help_options_custom_colors)
+ self.format_help(ctx, formatter)
+ return formatter.getvalue().rstrip('\n')
+
+
+class HelpColorsGroup(HelpColorsMixin, click.Group):
+ def __init__(self, *args, **kwargs):
+ super(HelpColorsGroup, self).__init__(*args, **kwargs)
+
+ def command(self, *args, **kwargs):
+ kwargs.setdefault('cls', HelpColorsCommand)
+ kwargs.setdefault('help_headers_color', self.help_headers_color)
+ kwargs.setdefault('help_options_color', self.help_options_color)
+ kwargs.setdefault('help_options_custom_colors',
+ self.help_options_custom_colors)
+ return super(HelpColorsGroup, self).command(*args, **kwargs)
+
+ def group(self, *args, **kwargs):
+ kwargs.setdefault('cls', HelpColorsGroup)
+ kwargs.setdefault('help_headers_color', self.help_headers_color)
+ kwargs.setdefault('help_options_color', self.help_options_color)
+ kwargs.setdefault('help_options_custom_colors',
+ self.help_options_custom_colors)
+ return super(HelpColorsGroup, self).group(*args, **kwargs)
+
+
+class HelpColorsCommand(HelpColorsMixin, click.Command):
+ def __init__(self, *args, **kwargs):
+ super(HelpColorsCommand, self).__init__(*args, **kwargs)
+
+
+class HelpColorsMultiCommand(HelpColorsMixin, click.MultiCommand):
+ def __init__(self, *args, **kwargs):
+ super(HelpColorsMultiCommand, self).__init__(*args, **kwargs)
+
+ def resolve_command(self, ctx, args):
+ cmd_name, cmd, args[1:] = super(HelpColorsMultiCommand, self).resolve_command(ctx, args)
+
+ if not isinstance(cmd, HelpColorsMixin):
+ if isinstance(cmd, click.Group):
+ _extend_instance(cmd, HelpColorsGroup)
+ if isinstance(cmd, click.Command):
+ _extend_instance(cmd, HelpColorsCommand)
+
+ if not getattr(cmd, 'help_headers_color', None):
+ cmd.help_headers_color = self.help_headers_color
+ if not getattr(cmd, 'help_options_color', None):
+ cmd.help_options_color = self.help_options_color
+ if not getattr(cmd, 'help_options_custom_colors', None):
+ cmd.help_options_custom_colors = self.help_options_custom_colors
+
+ return cmd_name, cmd, args[1:]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/click_help_colors/decorators.py new/click-help-colors-0.8/click_help_colors/decorators.py
--- old/click-help-colors-0.6/click_help_colors/decorators.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/click_help_colors/decorators.py 2020-02-29 10:47:05.000000000 +0100
@@ -0,0 +1,79 @@
+import sys
+import re
+
+from click import echo
+from click.decorators import option
+from click._compat import iteritems
+
+from .utils import _colorize
+
+
+def version_option(version=None, *param_decls, **attrs):
+ """Adds a ``--version`` option which immediately ends the program
+ printing out the version number. This is implemented as an eager
+ option that prints the version and exits the program in the callback.
+
+ :param version: the version number to show. If not provided Click
+ attempts an auto discovery via setuptools.
+ :param prog_name: the name of the program (defaults to autodetection)
+ :param message: custom message to show instead of the default
+ (``'%(prog)s, version %(version)s'``)
+ :param prog_name_color: color of the prog_name
+ :param version_color: color of the version
+ :param message_color: default color of the message
+ :param others: everything else is forwarded to :func:`option`.
+ """
+ if version is None:
+ if hasattr(sys, '_getframe'):
+ module = sys._getframe(1).f_globals.get('__name__')
+ else:
+ module = ''
+
+ def decorator(f):
+ prog_name = attrs.pop('prog_name', None)
+ message = attrs.pop('message', '%(prog)s, version %(version)s')
+ message_color = attrs.pop('message_color', None)
+ prog_name_color = attrs.pop('prog_name_color', message_color)
+ version_color = attrs.pop('version_color', message_color)
+
+ def callback(ctx, param, value):
+ if not value or ctx.resilient_parsing:
+ return
+ prog = prog_name
+ if prog is None:
+ prog = ctx.find_root().info_name
+ ver = version
+ if ver is None:
+ try:
+ import pkg_resources
+ except ImportError:
+ pass
+ else:
+ for dist in pkg_resources.working_set:
+ scripts = dist.get_entry_map().get('console_scripts') or {}
+ for script_name, entry_point in iteritems(scripts):
+ if entry_point.module_name == module:
+ ver = dist.version
+ break
+ if ver is None:
+ raise RuntimeError('Could not determine version')
+
+ msg_parts = []
+ for s in re.split(r'(%\(version\)s|%\(prog\)s)', message):
+ if s == '%(prog)s':
+ msg_parts.append(_colorize(prog_name, prog_name_color))
+ elif s == '%(version)s':
+ msg_parts.append(_colorize(version, version_color))
+ else:
+ msg_parts.append(_colorize(s, message_color))
+
+ echo(''.join(msg_parts))
+ ctx.exit()
+
+ attrs.setdefault('is_flag', True)
+ attrs.setdefault('expose_value', False)
+ attrs.setdefault('is_eager', True)
+ attrs.setdefault('help', 'Show the version and exit.')
+ attrs['callback'] = callback
+ return option(*(param_decls or ('--version',)), **attrs)(f)
+ return decorator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/click_help_colors/utils.py new/click-help-colors-0.8/click_help_colors/utils.py
--- old/click-help-colors-0.6/click_help_colors/utils.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/click_help_colors/utils.py 2020-02-24 20:50:26.000000000 +0100
@@ -0,0 +1,23 @@
+import os
+
+from click.termui import _ansi_colors, _ansi_reset_all
+
+
+class HelpColorsException(Exception):
+ pass
+
+
+def _colorize(text, color=None):
+ if not color or "NO_COLOR" in os.environ:
+ return text
+ try:
+ return '\033[%dm' % (_ansi_colors[color]) + text + _ansi_reset_all
+ except KeyError:
+ raise HelpColorsException('Unknown color %r' % color)
+
+
+def _extend_instance(obj, cls):
+ """Apply mixin to a class instance after creation"""
+ base_cls = obj.__class__
+ base_cls_name = obj.__class__.__name__
+ obj.__class__ = type(base_cls_name, (cls, base_cls), {})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/click_help_colors.egg-info/PKG-INFO new/click-help-colors-0.8/click_help_colors.egg-info/PKG-INFO
--- old/click-help-colors-0.6/click_help_colors.egg-info/PKG-INFO 2019-07-19 09:02:53.000000000 +0200
+++ new/click-help-colors-0.8/click_help_colors.egg-info/PKG-INFO 2020-03-13 15:08:10.000000000 +0100
@@ -1,12 +1,176 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: click-help-colors
-Version: 0.6
+Version: 0.8
Summary: Colorization of help messages in Click
Home-page: https://github.com/r-m-n/click-help-colors
-Author: UNKNOWN
-Author-email: UNKNOWN
License: MIT
-Download-URL: https://github.com/r-m-n/click-help-colors/archive/0.6.tar.gz
-Description: UNKNOWN
+Description: =================
+ click-help-colors
+ =================
+
+ |build| |pypi| |downloads|
+
+ Colorization of help messages in Click_.
+
+ Usage
+ -----
+
+ .. code:: python
+
+ import click
+ from click_help_colors import HelpColorsGroup, HelpColorsCommand
+
+ @click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green'
+ )
+ def cli():
+ pass
+
+ @cli.command()
+ @click.option('--count', default=1, help='Some number.')
+ def command1(count):
+ click.echo('command 1')
+
+ @cli.command(
+ cls=HelpColorsCommand,
+ help_options_color='blue'
+ )
+ @click.option('--name', help='Some string.')
+ def command2(name):
+ click.echo('command 2')
+
+ .. code-block:: console
+
+ $ python example.py --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code-block:: console
+
+ $ python example.py command1 --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code-block:: console
+
+ $ python example.py command2 --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code:: python
+
+ import click
+ from click_help_colors import HelpColorsGroup, HelpColorsCommand
+
+ @click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green',
+ help_options_custom_colors={'command3': 'red', 'command4': 'cyan'}
+ )
+ def cli():
+ pass
+
+
+ @cli.command(
+ cls=HelpColorsCommand,
+ help_headers_color=None,
+ help_options_color=None,
+ help_options_custom_colors={'--count': 'red', '--subtract': 'green'}
+ )
+ @click.option('--count', default=1, help='Count help text.')
+ @click.option('--add', default=1, help='Add help text.')
+ @click.option('--subtract', default=1, help='Subtract help text.')
+ def command1(count, add, subtract):
+ """A command"""
+ click.echo('command 1')
+
+ ...
+
+ .. code-block:: console
+
+ $ python example_with_custom_colors.py --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code-block:: console
+
+ $ python example_with_custom_colors.py --help
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ .. code:: python
+
+ from click_help_colors import version_option
+
+ @click.group()
+ def cli():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ message_color='green'
+ )
+ def cmd1():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='yellow'
+ )
+ def cmd2():
+ pass
+
+ @cli.command()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='white',
+ message='%(prog)s %(version)s\n python=3.7',
+ message_color='bright_black'
+ )
+ def cmd3():
+ pass
+
+ .. image:: https://raw.githubusercontent.com/r-m-n/click-help-colors/master/examples/sc...
+
+ Installation
+ ------------
+
+ With ``pip``:
+
+ .. code-block:: console
+
+ $ pip install click-help-colors
+
+ From source:
+
+ .. code-block:: console
+
+ $ git clone https://github.com/r-m-n/click-help-colors.git
+ $ cd click-help-colors
+ $ python setup.py install
+
+ .. _Click: http://click.pocoo.org/
+
+
+ .. |pypi| image:: https://img.shields.io/pypi/v/click-help-colors
+ :alt: PyPI
+
+ .. |build| image:: https://travis-ci.com/click-contrib/click-help-colors.svg?branch=master
+ :target: https://travis-ci.com/click-contrib/click-help-colors
+
+ .. |downloads| image:: https://img.shields.io/pypi/dm/click-help-colors
+ :alt: PyPI - Downloads
+
Keywords: click
Platform: UNKNOWN
+Provides-Extra: dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/click_help_colors.egg-info/SOURCES.txt new/click-help-colors-0.8/click_help_colors.egg-info/SOURCES.txt
--- old/click-help-colors-0.6/click_help_colors.egg-info/SOURCES.txt 2019-07-19 09:02:53.000000000 +0200
+++ new/click-help-colors-0.8/click_help_colors.egg-info/SOURCES.txt 2020-03-13 15:08:10.000000000 +0100
@@ -1,10 +1,25 @@
+CHANGES.rst
LICENSE.txt
MANIFEST.in
README.rst
setup.py
+tox.ini
click_help_colors/__init__.py
+click_help_colors/core.py
+click_help_colors/decorators.py
+click_help_colors/utils.py
click_help_colors.egg-info/PKG-INFO
click_help_colors.egg-info/SOURCES.txt
click_help_colors.egg-info/dependency_links.txt
click_help_colors.egg-info/requires.txt
-click_help_colors.egg-info/top_level.txt
\ No newline at end of file
+click_help_colors.egg-info/top_level.txt
+examples/example.py
+examples/example_with_custom_colors.py
+examples/multi_commands.py
+examples/version_option.py
+tests/__init__.py
+tests/conftest.py
+tests/test_basic.py
+tests/test_custom_colors.py
+tests/test_multi_commands.py
+tests/test_version_option.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/click_help_colors.egg-info/requires.txt new/click-help-colors-0.8/click_help_colors.egg-info/requires.txt
--- old/click-help-colors-0.6/click_help_colors.egg-info/requires.txt 2019-07-19 09:02:53.000000000 +0200
+++ new/click-help-colors-0.8/click_help_colors.egg-info/requires.txt 2020-03-13 15:08:10.000000000 +0100
@@ -1 +1,4 @@
click>=7.0
+
+[dev]
+pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/examples/example.py new/click-help-colors-0.8/examples/example.py
--- old/click-help-colors-0.6/examples/example.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/examples/example.py 2020-02-29 11:29:22.000000000 +0100
@@ -0,0 +1,28 @@
+import click
+from click_help_colors import HelpColorsGroup, HelpColorsCommand
+
+
+@click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green'
+)
+def cli():
+ pass
+
+@cli.command()
+@click.option('--count', default=1, help='Some number.')
+def command1(count):
+ click.echo('command 1')
+
+@cli.command(
+ cls=HelpColorsCommand,
+ help_options_color='blue'
+)
+@click.option('--name', help='Some string.')
+def command2(name):
+ click.echo('command 2')
+
+
+if __name__ == '__main__':
+ cli()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/examples/example_with_custom_colors.py new/click-help-colors-0.8/examples/example_with_custom_colors.py
--- old/click-help-colors-0.6/examples/example_with_custom_colors.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/examples/example_with_custom_colors.py 2020-02-09 14:28:54.000000000 +0100
@@ -0,0 +1,51 @@
+import click
+from click_help_colors import HelpColorsGroup, HelpColorsCommand
+
+
+@click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green',
+ help_options_custom_colors={'command3': 'red', 'command4': 'cyan'}
+)
+def cli():
+ pass
+
+
+@cli.command(
+ cls=HelpColorsCommand,
+ help_headers_color=None,
+ help_options_color=None,
+ help_options_custom_colors={'--count': 'red', '--subtract': 'green'}
+)
+@click.option('--count', default=1, help='Count help text.')
+@click.option('--add', default=1, help='Add help text.')
+@click.option('--subtract', default=1, help='Subtract help text.')
+def command1(count, add, subtract):
+ """A command"""
+ click.echo('command 1')
+
+
+@cli.command()
+@click.option('--name', help='Some string.')
+def command2(name):
+ """Another command"""
+ click.echo('command 2')
+
+
+@cli.command()
+@click.option('--name', help='Some string.')
+def command3(name):
+ """Yet another command"""
+ click.echo('command 3')
+
+
+@cli.command()
+@click.option('--name', help='Some string.')
+def command4(name):
+ """One last command"""
+ click.echo('command 4')
+
+
+if __name__ == '__main__':
+ cli()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/examples/multi_commands.py new/click-help-colors-0.8/examples/multi_commands.py
--- old/click-help-colors-0.6/examples/multi_commands.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/examples/multi_commands.py 2020-02-24 16:44:02.000000000 +0100
@@ -0,0 +1,49 @@
+import click
+from click_help_colors import HelpColorsGroup, HelpColorsMultiCommand
+
+
+@click.group()
+def cmd1():
+ pass
+
+
+@cmd1.command()
+@click.option('--count', default=1, help='Some number.')
+def command1(count):
+ click.echo('command 1')
+
+
+@click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='red',
+ help_options_color='blue'
+)
+def cmd2():
+ pass
+
+
+@cmd2.command()
+@click.option('--name', help='Some string.')
+def command2(name):
+ click.echo('command 2')
+
+
+class MyCLI(HelpColorsMultiCommand):
+ def list_commands(self, ctx):
+ return ['cmd1', 'cmd2']
+
+ def get_command(self, ctx, name):
+ return globals()[name]
+
+
+@click.command(
+ cls=MyCLI,
+ help_headers_color='yellow',
+ help_options_color='green'
+)
+def cli():
+ pass
+
+
+if __name__ == '__main__':
+ cli()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/examples/version_option.py new/click-help-colors-0.8/examples/version_option.py
--- old/click-help-colors-0.6/examples/version_option.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/examples/version_option.py 2020-02-29 12:45:40.000000000 +0100
@@ -0,0 +1,42 @@
+import click
+from click_help_colors import version_option
+
+
+@click.group()
+def cli():
+ pass
+
+@cli.command()
+@version_option(
+ version='1.0',
+ prog_name='example',
+ message_color='green'
+)
+def cmd1():
+ pass
+
+@cli.command()
+@version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='yellow'
+)
+def cmd2():
+ pass
+
+@cli.command()
+@version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='white',
+ message='%(prog)s %(version)s\n python=3.7',
+ message_color='bright_black'
+)
+def cmd3():
+ pass
+
+
+if __name__ == '__main__':
+ cli()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/setup.py new/click-help-colors-0.8/setup.py
--- old/click-help-colors-0.6/setup.py 2019-07-19 08:59:51.000000000 +0200
+++ new/click-help-colors-0.8/setup.py 2020-03-13 13:50:41.000000000 +0100
@@ -1,16 +1,32 @@
# -*- coding: utf-8 -*-
+import io
+import re
from setuptools import setup
+
+with io.open("README.rst", "rt", encoding="utf8") as f:
+ readme = f.read()
+
+
+with io.open("click_help_colors/__init__.py", "rt", encoding="utf8") as f:
+ version = re.search(r"__version__ = '(.*?)'", f.read()).group(1)
+
+
setup(
name='click-help-colors',
- version=0.6,
+ version=version,
packages=['click_help_colors'],
description='Colorization of help messages in Click',
+ long_description=readme,
url='https://github.com/r-m-n/click-help-colors',
- download_url='https://github.com/r-m-n/click-help-colors/archive/0.6.tar.gz',
keywords=['click'],
license='MIT',
install_requires=[
'click>=7.0'
- ]
+ ],
+ extras_require={
+ "dev": [
+ "pytest",
+ ]
+ }
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/tests/conftest.py new/click-help-colors-0.8/tests/conftest.py
--- old/click-help-colors-0.6/tests/conftest.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/tests/conftest.py 2020-02-09 14:28:54.000000000 +0100
@@ -0,0 +1,9 @@
+import pytest
+
+import click
+from click.testing import CliRunner
+
+
+@pytest.fixture
+def runner():
+ return CliRunner()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/tests/test_basic.py new/click-help-colors-0.8/tests/test_basic.py
--- old/click-help-colors-0.6/tests/test_basic.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/tests/test_basic.py 2020-02-09 16:47:49.000000000 +0100
@@ -0,0 +1,98 @@
+import click
+import pytest
+
+from click_help_colors import HelpColorsGroup, HelpColorsException
+
+
+def test_basic_group(runner):
+ @click.command(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green'
+ )
+ @click.option('--name', help='The person to greet.')
+ def cli(count):
+ pass
+
+ result = runner.invoke(cli, ['--help'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[33mUsage: \x1b[0mcli [OPTIONS] COMMAND [ARGS]...',
+ '',
+ '\x1b[33mOptions\x1b[0m:',
+ ' \x1b[32m--name TEXT\x1b[0m The person to greet.',
+ ' \x1b[32m--help\x1b[0m Show this message and exit.'
+ ]
+
+
+def test_basic_command(runner):
+ @click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green'
+ )
+ def cli():
+ pass
+
+ @cli.command()
+ @click.option('--name', help='The person to greet.')
+ def command(name):
+ pass
+
+ result = runner.invoke(cli, ['--help'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[33mUsage: \x1b[0mcli [OPTIONS] COMMAND [ARGS]...',
+ '',
+ '\x1b[33mOptions\x1b[0m:',
+ ' \x1b[32m--help\x1b[0m Show this message and exit.',
+ '',
+ '\x1b[33mCommands\x1b[0m:',
+ ' \x1b[32mcommand\x1b[0m'
+ ]
+
+ result = runner.invoke(cli, ['command', '--help'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[33mUsage: \x1b[0mcli command [OPTIONS]',
+ '',
+ '\x1b[33mOptions\x1b[0m:',
+ ' \x1b[32m--name TEXT\x1b[0m The person to greet.',
+ ' \x1b[32m--help\x1b[0m Show this message and exit.'
+ ]
+
+
+def test_unknown_color(runner):
+ @click.command(
+ cls=HelpColorsGroup,
+ help_headers_color='unknwnclr'
+ )
+ @click.option('--name', help='The person to greet.')
+ def cli(count):
+ pass
+
+ result = runner.invoke(cli, ['--help'], color=True)
+ assert result.exception
+ assert isinstance(result.exception, HelpColorsException)
+ assert str(result.exception) == "Unknown color 'unknwnclr'"
+
+
+def test_env_no_color(runner):
+ @click.command(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green'
+ )
+ @click.option('--name', help='The person to greet.')
+ def cli(count):
+ pass
+
+ result = runner.invoke(cli, ['--help'], color=True, env={'NO_COLOR': '1'})
+ assert not result.exception
+ assert result.output.splitlines() == [
+ 'Usage: cli [OPTIONS] COMMAND [ARGS]...',
+ '',
+ 'Options:',
+ ' --name TEXT The person to greet.',
+ ' --help Show this message and exit.'
+ ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/tests/test_custom_colors.py new/click-help-colors-0.8/tests/test_custom_colors.py
--- old/click-help-colors-0.6/tests/test_custom_colors.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/tests/test_custom_colors.py 2020-02-09 14:28:54.000000000 +0100
@@ -0,0 +1,64 @@
+import click
+
+from click_help_colors import HelpColorsGroup, HelpColorsCommand
+
+
+def test_command_custom_colors(runner):
+ @click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green'
+ )
+ def cli():
+ pass
+
+ @cli.command(
+ cls=HelpColorsCommand,
+ help_headers_color='red',
+ help_options_color='blue'
+ )
+ @click.option('--name', help='The person to greet.')
+ def command(name):
+ pass
+
+ result = runner.invoke(cli, ['command', '--help'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[31mUsage: \x1b[0mcli command [OPTIONS]',
+ '',
+ '\x1b[31mOptions\x1b[0m:',
+ ' \x1b[34m--name TEXT\x1b[0m The person to greet.',
+ ' \x1b[34m--help\x1b[0m Show this message and exit.'
+ ]
+
+
+def test_custom_option_color(runner):
+ @click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='yellow',
+ help_options_color='green',
+ help_options_custom_colors={'command1': 'red'}
+ )
+ def cli():
+ pass
+
+ @cli.command()
+ def command1(name):
+ pass
+
+ @cli.command()
+ def command2(name):
+ pass
+
+ result = runner.invoke(cli, ['--help'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[33mUsage: \x1b[0mcli [OPTIONS] COMMAND [ARGS]...',
+ '',
+ '\x1b[33mOptions\x1b[0m:',
+ ' \x1b[32m--help\x1b[0m Show this message and exit.',
+ '',
+ '\x1b[33mCommands\x1b[0m:',
+ ' \x1b[31mcommand1\x1b[0m',
+ ' \x1b[32mcommand2\x1b[0m'
+ ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/tests/test_multi_commands.py new/click-help-colors-0.8/tests/test_multi_commands.py
--- old/click-help-colors-0.6/tests/test_multi_commands.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/tests/test_multi_commands.py 2020-02-24 17:28:21.000000000 +0100
@@ -0,0 +1,84 @@
+import click
+import pytest
+
+from click_help_colors import HelpColorsMultiCommand, HelpColorsGroup
+
+
+def test_multi_command(runner):
+ @click.group()
+ def cmd1():
+ pass
+
+ @cmd1.command()
+ @click.option('--count', default=1, help='Some number.')
+ def command1(count):
+ click.echo('command 1')
+
+ @click.group(
+ cls=HelpColorsGroup,
+ help_headers_color='red',
+ help_options_color='blue'
+ )
+ def cmd2():
+ pass
+
+ @cmd2.command()
+ @click.option('--name', help='Some string.')
+ def command2(name):
+ click.echo('command 2')
+
+ class MyCLI(HelpColorsMultiCommand):
+ def list_commands(self, ctx):
+ return ['cmd1', 'cmd2']
+
+ def get_command(self, ctx, name):
+ commands = {
+ 'cmd1': cmd1,
+ 'cmd2': cmd2
+ }
+ return commands[name]
+
+ @click.command(
+ cls=MyCLI,
+ help_headers_color='yellow',
+ help_options_color='green'
+ )
+ def cli():
+ pass
+
+ result = runner.invoke(cli, ['--help'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[33mUsage: \x1b[0mcli [OPTIONS] COMMAND [ARGS]...',
+ '',
+ '\x1b[33mOptions\x1b[0m:',
+ ' \x1b[32m--help\x1b[0m Show this message and exit.',
+ '',
+ '\x1b[33mCommands\x1b[0m:',
+ ' \x1b[32mcmd1\x1b[0m',
+ ' \x1b[32mcmd2\x1b[0m'
+ ]
+
+ result = runner.invoke(cli, ['cmd1', '--help'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[33mUsage: \x1b[0mcli cmd1 [OPTIONS] COMMAND [ARGS]...',
+ '',
+ '\x1b[33mOptions\x1b[0m:',
+ ' \x1b[32m--help\x1b[0m Show this message and exit.',
+ '',
+ '\x1b[33mCommands\x1b[0m:',
+ ' \x1b[32mcommand1\x1b[0m'
+ ]
+
+ result = runner.invoke(cli, ['cmd2', '--help'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[31mUsage: \x1b[0mcli cmd2 [OPTIONS] COMMAND [ARGS]...',
+ '',
+ '\x1b[31mOptions\x1b[0m:',
+ ' \x1b[34m--help\x1b[0m Show this message and exit.',
+ '',
+ '\x1b[31mCommands\x1b[0m:',
+ ' \x1b[34mcommand2\x1b[0m'
+ ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/tests/test_version_option.py new/click-help-colors-0.8/tests/test_version_option.py
--- old/click-help-colors-0.6/tests/test_version_option.py 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/tests/test_version_option.py 2020-02-29 11:27:38.000000000 +0100
@@ -0,0 +1,59 @@
+import click
+
+from click_help_colors import version_option
+
+
+def test_message_color(runner):
+ @click.group()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ message_color='green'
+ )
+ def cli():
+ pass
+
+ result = runner.invoke(cli, ['--version'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[32m\x1b[0m\x1b[32mexample\x1b[0m\x1b[32m, version \x1b[0m\x1b[32m1.0\x1b[0m\x1b[32m\x1b[0m'
+ ]
+
+
+def test_version_and_prog_name_color(runner):
+ @click.group()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='yellow'
+ )
+ def cli():
+ pass
+
+ result = runner.invoke(cli, ['--version'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[33mexample\x1b[0m, version \x1b[32m1.0\x1b[0m'
+ ]
+
+
+def test_custom_message(runner):
+ @click.group()
+ @version_option(
+ version='1.0',
+ prog_name='example',
+ version_color='green',
+ prog_name_color='white',
+ message='%(prog)s %(version)s\n python=3.7',
+ message_color='bright_black'
+ )
+ def cli():
+ pass
+
+ result = runner.invoke(cli, ['--version'], color=True)
+ assert not result.exception
+ assert result.output.splitlines() == [
+ '\x1b[90m\x1b[0m\x1b[37mexample\x1b[0m\x1b[90m \x1b[0m\x1b[32m1.0\x1b[0m\x1b[90m',
+ ' python=3.7\x1b[0m'
+ ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/click-help-colors-0.6/tox.ini new/click-help-colors-0.8/tox.ini
--- old/click-help-colors-0.6/tox.ini 1970-01-01 01:00:00.000000000 +0100
+++ new/click-help-colors-0.8/tox.ini 2020-02-09 14:28:54.000000000 +0100
@@ -0,0 +1,7 @@
+[tox]
+envlist = py27,py37
+
+[testenv]
+deps = pytest
+commands =
+ pytest