summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorClaudio Bandera <claudio.bandera@kit.edu>2015-09-20 19:07:19 +0200
committerClaudio Bandera <claudio.bandera@kit.edu>2015-09-20 19:07:19 +0200
commitc86487b2f8c2b597bb62c215ceb77f9df5104e4a (patch)
treea79664199d2a631bd702414423ba5ce814fb16f2 /examples
parent89d3bfda52d151762e732738b828312a240bf89e (diff)
downloadclick-c86487b2f8c2b597bb62c215ceb77f9df5104e4a.tar.gz
Added support for autocompletion of arguments, intending to fix issue #241
Diffstat (limited to 'examples')
-rw-r--r--examples/bashcompletion/README12
-rw-r--r--examples/bashcompletion/bashcompletion.py21
-rw-r--r--examples/bashcompletion/setup.py15
3 files changed, 48 insertions, 0 deletions
diff --git a/examples/bashcompletion/README b/examples/bashcompletion/README
new file mode 100644
index 0000000..f8a0d51
--- /dev/null
+++ b/examples/bashcompletion/README
@@ -0,0 +1,12 @@
+$ bashcompletion
+
+ bashcompletion is a simple example of an application that
+ tries to autocomplete commands, arguments and options.
+
+ This example requires Click 2.0 or higher.
+
+Usage:
+
+ $ pip install --editable .
+ $ eval "$(_BASHCOMPLETION_COMPLETE=source bashcompletion)"
+ $ bashcompletion --help
diff --git a/examples/bashcompletion/bashcompletion.py b/examples/bashcompletion/bashcompletion.py
new file mode 100644
index 0000000..9c3253c
--- /dev/null
+++ b/examples/bashcompletion/bashcompletion.py
@@ -0,0 +1,21 @@
+import click
+
+@click.group()
+def cli():
+ pass
+
+@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
+
+@cli.command()
+def cmd2():
+ pass
+
+@cli.command()
+def cmd3():
+ pass
+
diff --git a/examples/bashcompletion/setup.py b/examples/bashcompletion/setup.py
new file mode 100644
index 0000000..ad20081
--- /dev/null
+++ b/examples/bashcompletion/setup.py
@@ -0,0 +1,15 @@
+from setuptools import setup
+
+setup(
+ name='click-example-bashcompletion',
+ version='1.0',
+ py_modules=['bashcompletion'],
+ include_package_data=True,
+ install_requires=[
+ 'click',
+ ],
+ entry_points='''
+ [console_scripts]
+ bashcompletion=bashcompletion:cli
+ ''',
+)