diff options
author | Brett Bethke <bbethke@airware.com> | 2015-12-17 14:06:23 -0800 |
---|---|---|
committer | Brett Bethke <bbethke@airware.com> | 2015-12-17 14:06:23 -0800 |
commit | e27493b066e2bb8f9a3533260049faf6083c5ac8 (patch) | |
tree | cf0f4f129e9b1440fa5e4c791442f2215761866a | |
parent | c638a67866bac4d818de0bd7577ed59b6244f9b6 (diff) | |
download | click-e27493b066e2bb8f9a3533260049faf6083c5ac8.tar.gz |
Add example
-rw-r--r-- | docs/bashcomplete.rst | 16 | ||||
-rw-r--r-- | examples/bashcompletion/bashcompletion.py | 16 |
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(): |