Metadata-Version: 2.1
Name: bash-completion
Version: 0.2.8
Summary: Python interface for bash completion
Home-page: https://github.com/xonsh/py-bash-completion
Author: The xonsh developers
Author-email: xonsh@googlegroups.com
License: BSD 3-clause
Download-URL: https://github.com/xonsh/py-bash-completion/zipball/0.2.8
Platform: UNKNOWN
Classifier: License :: OSI Approved
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Topic :: Utilities
License-File: LICENSE

==================
py-bash-completion
==================
A package that provides python interface for bash completion

Usage example
*************
In the simplest case, we can just complete from the end of the line using, ``bash_complete_line()``:

.. code-block:: python

    from bash_completion import bash_complete_line

    In [1]: bash_complete_line('git s', return_line=True)
    Out[1]:
    {'git shortlog',
    'git show',
    'git show-branch',
    'git stage',
    'git stash',
    'git status',
    'git submodule',
    'git subtree'}


However, there is also a lower-level API that more closely matches the actual Bash completion
interface, for those who need it!

.. code-block:: python

    from bash_completion import bash_completions

    def get_completions(line):
        split = line.split()
        if len(split) > 1 and not line.endswith(' '):
            prefix = split[-1]
            begidx = len(line.rsplit(prefix)[0])
        else:
            prefix = ''
            begidx = len(line)

        endidx = len(line)
        return bash_completions(prefix, line, begidx, endidx)

    In [1]: get_completions('git s')
    Out[1]:
    ({'shortlog',
    'show',
    'show-branch',
    'stage',
    'stash',
    'status',
    'submodule',
    'subtree'},
    1)


You may also use this as a simple command line utility:

.. code-block:: sh

    $ python -m bash_completion "ls --s"
    ls --show-control-chars
    ls --si
    ls --size
    ls --sort
    ls --sort=


