summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Bethke <bbethke@airware.com>2015-12-17 14:06:23 -0800
committerBrett Bethke <bbethke@airware.com>2015-12-17 14:06:23 -0800
commite27493b066e2bb8f9a3533260049faf6083c5ac8 (patch)
treecf0f4f129e9b1440fa5e4c791442f2215761866a
parentc638a67866bac4d818de0bd7577ed59b6244f9b6 (diff)
downloadclick-e27493b066e2bb8f9a3533260049faf6083c5ac8.tar.gz
Add example
-rw-r--r--docs/bashcomplete.rst16
-rw-r--r--examples/bashcompletion/bashcompletion.py16
2 files changed, 18 insertions, 14 deletions
diff --git a/docs/bashcomplete.rst b/docs/bashcomplete.rst
index 9ceeeab..7aedb71 100644
--- a/docs/bashcomplete.rst
+++ b/docs/bashcomplete.rst
@@ -56,16 +56,16 @@ Here is an example of using a callback function to generate dynamic suggestions:
.. click:example::
- def lookup_names(ctx, incomplete, cwords, cword):
- names = []
- # Do stuff here to dynamically generate the list of names...
- return names
+ import os
+
+ def get_env_vars(ctx, incomplete, cwords, cword):
+ return os.environ.keys()
@click.command()
- @click.argument("name", type=click.STRING, autocompletion=lookup_names)
- def cmd1(name):
- click.echo('Name: %s' % name)
-
+ @click.argument("envvar", type=click.STRING, autocompletion=get_env_vars)
+ def cmd1(envvar):
+ click.echo('Environment variable: %s' % envvar)
+ click.echo('Value: %s' % os.environ[envvar])
Activation
diff --git a/examples/bashcompletion/bashcompletion.py b/examples/bashcompletion/bashcompletion.py
index 9c3253c..aa64660 100644
--- a/examples/bashcompletion/bashcompletion.py
+++ b/examples/bashcompletion/bashcompletion.py
@@ -1,4 +1,5 @@
import click
+import os
@click.group()
def cli():
@@ -6,14 +7,17 @@ def cli():
@cli.command()
@click.argument("name", type=click.STRING, autocompletion=["John", "Simon", "Doe"])
-@click.option('--debug/--no-debug', default=False)
-@click.option('-f', default=False)
-def cmd1():
- pass
+def cmd1(name):
+ click.echo('Name: %s' % name)
+
+def get_env_vars(ctx, incomplete, cwords, cword):
+ return os.environ.keys()
@cli.command()
-def cmd2():
- pass
+@click.argument("envvar", type=click.STRING, autocompletion=get_env_vars)
+def cmd2(envvar):
+ click.echo('Environment variable: %s' % envvar)
+ click.echo('Value: %s' % os.environ[envvar])
@cli.command()
def cmd3():