summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorArmin Ronacher <armin.ronacher@active-4.com>2014-05-27 20:59:50 +0600
committerArmin Ronacher <armin.ronacher@active-4.com>2014-05-27 20:59:50 +0600
commitf516eeecf79be6ed51a064e99f01a34a4aec7a75 (patch)
treed456bd485a7cd6e8de2573d67fe5a01a116ed132 /examples
parentd27f3a62c5c65779b58bc618e72b50c59374942f (diff)
downloadclick-f516eeecf79be6ed51a064e99f01a34a4aec7a75.tar.gz
Added style helpers and added deeper ansi color support. Colorama now optional.
Diffstat (limited to 'examples')
-rw-r--r--examples/colors/README4
-rw-r--r--examples/colors/colors.py24
-rw-r--r--examples/colors/setup.py1
-rw-r--r--examples/termui/setup.py1
-rw-r--r--examples/termui/termui.py17
5 files changed, 30 insertions, 17 deletions
diff --git a/examples/colors/README b/examples/colors/README
index 7c39b3c..4b5b44f 100644
--- a/examples/colors/README
+++ b/examples/colors/README
@@ -1,7 +1,9 @@
$ colors_
colors is a simple example that shows how you can
- colorize text with the built-in colorama integration.
+ colorize text.
+
+ For this to work on Windows, colorama is required.
Usage:
diff --git a/examples/colors/colors.py b/examples/colors/colors.py
index 94bb2a6..1e365bd 100644
--- a/examples/colors/colors.py
+++ b/examples/colors/colors.py
@@ -1,14 +1,26 @@
import click
-from colorama import Fore
+
+
+all_colors = 'black', 'red', 'green', 'yellow', 'blue', 'magenta', \
+ 'cyan', 'white'
@click.command()
def cli():
- """This script prints some colors through colorama. This will give
- colors on OS X, Linux and Windows but it will automatically disable
- those colors if stdout is redirected to a file.
+ """This script prints some colors. If colorama is installed this will
+ also work on Windows. It will also automatically remove all ANSI
+ styles if data is piped into a file.
Give it a try!
"""
- click.echo(Fore.YELLOW + 'Hello World!' + Fore.RESET)
- click.echo(Fore.RED + 'Goodbye World!' + Fore.RESET)
+ for color in all_colors:
+ click.echo(click.style('I am colored %s' % color, fg=color))
+ for color in all_colors:
+ click.echo(click.style('I am colored %s and bold' % color,
+ fg=color, bold=True))
+ for color in all_colors:
+ click.echo(click.style('I am reverse colored %s' % color, fg=color,
+ reverse=True))
+
+ click.echo(click.style('I am blinking', blink=True))
+ click.echo(click.style('I am underlined', underline=True))
diff --git a/examples/colors/setup.py b/examples/colors/setup.py
index 290dcae..482ccb7 100644
--- a/examples/colors/setup.py
+++ b/examples/colors/setup.py
@@ -7,6 +7,7 @@ setup(
include_package_data=True,
install_requires=[
'Click',
+ # Colorama is only required for windows.
'colorama',
],
entry_points='''
diff --git a/examples/termui/setup.py b/examples/termui/setup.py
index 323cf28..c4a75dd 100644
--- a/examples/termui/setup.py
+++ b/examples/termui/setup.py
@@ -7,6 +7,7 @@ setup(
include_package_data=True,
install_requires=[
'Click',
+ # Colorama is only required for windows.
'colorama',
],
entry_points='''
diff --git a/examples/termui/termui.py b/examples/termui/termui.py
index 916522f..13bbf38 100644
--- a/examples/termui/termui.py
+++ b/examples/termui/termui.py
@@ -2,7 +2,6 @@
import click
import time
import random
-from colorama import Fore
try:
range_type = xrange
@@ -19,7 +18,9 @@ def cli():
@cli.command()
def colordemo():
"""Demonstrates ANSI color support."""
- click.echo(Fore.YELLOW + 'Hello World!' + Fore.RESET)
+ for color in 'red', 'green', 'blue':
+ click.echo(click.style('I am colored %s' % color, fg=color))
+ click.echo(click.style('I am background colored %s' % color, bg=color))
@cli.command()
@@ -27,11 +28,7 @@ def pager():
"""Demonstrates using the pager."""
lines = []
for x in xrange(200):
- lines.append('%s%d%s. Hello World!' % (
- Fore.GREEN,
- x,
- Fore.RESET
- ))
+ lines.append('%s. Hello World!' % click.style(str(x), fg='green'))
click.echo_via_pager('\n'.join(lines))
@@ -51,7 +48,7 @@ def progress(count):
yield item
with click.progressbar(items, label='Processing user accounts',
- fill_char=Fore.GREEN + '#' + Fore.RESET) as bar:
+ fill_char=click.style('#', fg='green')) as bar:
for item in bar:
process_slowly(item)
@@ -60,14 +57,14 @@ def progress(count):
return 'Item #%d' % item
with click.progressbar(filter(items), label='Committing transaction',
- fill_char=Fore.YELLOW + '#' + Fore.RESET,
+ fill_char=click.style('#', fg='yellow'),
item_show_func=show_item) as bar:
for item in bar:
process_slowly(item)
with click.progressbar(length=count, label='Counting',
bar_template='%(label)s %(bar)s | %(info)s',
- fill_char=Fore.BLUE + u'█' + Fore.RESET,
+ fill_char=click.style(u'█', fg='cyan'),
empty_char=' ') as bar:
for item in bar:
process_slowly(item)