mirror of https://github.com/craigerl/aprsd.git
23 lines
799 B
Python
23 lines
799 B
Python
import click
|
|
import click.shell_completion
|
|
|
|
from aprsd.main import cli
|
|
|
|
|
|
CONTEXT_SETTINGS = dict(help_option_names=["-h", "--help"])
|
|
|
|
|
|
@cli.command()
|
|
@click.argument("shell", type=click.Choice(list(click.shell_completion._available_shells)))
|
|
def completion(shell):
|
|
"""Show the shell completion code"""
|
|
from click.utils import _detect_program_name
|
|
|
|
cls = click.shell_completion.get_completion_class(shell)
|
|
prog_name = _detect_program_name()
|
|
complete_var = f"_{prog_name}_COMPLETE".replace("-", "_").upper()
|
|
print(cls(cli, {}, prog_name, complete_var).source())
|
|
print("# Add the following line to your shell configuration file to have aprsd command line completion")
|
|
print("# but remove the leading '#' character.")
|
|
print(f"# eval \"$(aprsd completion {shell})\"")
|