mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 04:40:22 -07:00
Migrate command line parsing to argparse (#50610)
* Start of migration to argparse * various fixes and improvements * Linting fixes * Test fixes * Fix vault_password_files * Add PrependAction for argparse * A bunch of additional tweak/fixes * Fix ansible-config tests * Fix man page generation * linting fix * More adhoc pattern fixes * Add changelog fragment * Add support for argcomplete * Enable argcomplete global completion * Rename PrependAction to PrependListAction to better describe what it does * Add documentation for installing and configuring argcomplete * Address rebase issues * Fix display encoding for vault * Fix line length * Address rebase issues * Handle rebase issues * Use mutually exclusive group instead of handling manually * Fix rebase issues * Address rebase issue * Update version added for argcomplete support * -e must be given a value * ci_complete
This commit is contained in:
parent
7ee6c136fd
commit
db6cc60352
28 changed files with 930 additions and 914 deletions
|
@ -429,6 +429,91 @@ Now let's test things with a ping command:
|
|||
|
||||
You can also use "sudo make install".
|
||||
|
||||
.. _shell_completion:
|
||||
|
||||
Shell Completion
|
||||
````````````````
|
||||
|
||||
As of Ansible 2.9 shell completion of the ansible command line utilities is available and provided through an optional dependency
|
||||
called ``argcomplete``. ``argcomplete`` supports bash, and limited support for zsh and tcsh
|
||||
|
||||
``python-argcomplete`` can be installed from EPEL on Red Hat Enterprise based distributions, and is available in the standard OS repositories for many other distributions.
|
||||
|
||||
For more information about installing and configuration see the `argcomplete documentation <https://argcomplete.readthedocs.io/en/latest/>_`.
|
||||
|
||||
Installing
|
||||
++++++++++
|
||||
|
||||
via yum/dnf
|
||||
-----------
|
||||
|
||||
On Fedora:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo dnf install python-argcomplete
|
||||
|
||||
On RHEL and CentOS:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo yum install epel-release
|
||||
$ sudo yum install python-argcomplete
|
||||
|
||||
via apt
|
||||
-------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo apt install python-argcomplete
|
||||
|
||||
via pip
|
||||
-------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip install argcomplete
|
||||
|
||||
Configuring
|
||||
+++++++++++
|
||||
|
||||
There are 2 ways to configure argcomplete to allow shell completion of the Ansible command line utilities. Per command, or globally.
|
||||
|
||||
Globally
|
||||
--------
|
||||
|
||||
Global completion requires bash 4.2
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo activate-global-python-argcomplete
|
||||
|
||||
This will write a bash completion file to a global location, use ``--dest`` to change the location
|
||||
|
||||
Per Command
|
||||
-----------
|
||||
|
||||
If you do not have bash 4.2, you must register each script independently
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ eval $(register-python-argcomplete ansible)
|
||||
$ eval $(register-python-argcomplete ansible-config)
|
||||
$ eval $(register-python-argcomplete ansible-console)
|
||||
$ eval $(register-python-argcomplete ansible-doc)
|
||||
$ eval $(register-python-argcomplete ansible-galaxy)
|
||||
$ eval $(register-python-argcomplete ansible-inventory)
|
||||
$ eval $(register-python-argcomplete ansible-playbook)
|
||||
$ eval $(register-python-argcomplete ansible-pull)
|
||||
$ eval $(register-python-argcomplete ansible-vault)
|
||||
|
||||
It would be advisable to place the above commands, into your shells profile file such as ``~/.profile`` or ``~/.bash_profile``.
|
||||
|
||||
Zsh or tcsh
|
||||
-----------
|
||||
|
||||
See the `argcomplete documentation <https://argcomplete.readthedocs.io/en/latest/>_`.
|
||||
|
||||
.. _getting_ansible:
|
||||
|
||||
Ansible on GitHub
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue