This package generates Fig completions for CLI tools built on Cement.
Install the integration as a dependency using pip:
pip install cement-complete-fig
Choose one of the methods below to add the generate-fig-spec
subcommand to the top level of your CLI tool.
This package provides a Cement
extension
for convenience called 'cement_complete_fig.ext.ext_complete_fig'
which can be loaded in any of the ways cited in the linked documentation.
Repeated here for convenience you can do one of the following:
- Add the extension to the
Meta
of yourApp
object:
from cement import App
class MyApp(App):
class Meta:
label = 'myapp'
extensions = [
...,
'cement_complete_fig.ext.ext_complete_fig'
]
- Manually load the extension before running your app:
from cement import App
with App('myapp') as app:
app.ext.load_extension('cement_complete_fig.ext.ext_complete_fig')
app.run()
- Add the extension to your app configuration file (e.g.
.myapp.conf
):
[myapp]
exensions = cement_complete_fig.ext.ext_complete_fig
You can also add the GenerateFigSpecController
manually as a handler to your
app:
from cement import App
from cement_complete_fig import GenerateFigSpecController
class MyApp(App):
class Meta:
label = 'myapp'
handlers = [
...,
GenerateFigSpecController
]
with MyApp() as app:
app.run()
Once you've added the integration you will have new subcommand nested under your base handler. When this subcommand is invoked it will print a Fig spec.
To save your completion spec skeleton to a file, run the following:
myapp generate-fig-spec > myapp.ts