Skip to main content

bashcomplete creation from python lists and dictionaries.

Project description

# Overview

`python-bashcomplete` takes:

* Lists of strings and dictionaries, or
* Nested dictionaries

and compiles simple, yet functional bashcomplete code for any program that
invokes bashcomplete.BashComplete() with a list or dictionary.

# Setup

pip install python-bashcomplete

# Example structures

Autocompletes one level:

test = ['level1a', 'level1b']

Autocompletes two possibilities, both of which have sublevels:

test = {
'level1a': ['1', '2', '3'],
'level1b': ['4', '5', '6']
}

Autocompletes three possibilities, only two of which have sublevels:

test = [
{
'level1a': ['1', '2', '3']
},
{
'level1b': ['4', '5', '6']
},
'level1c'
]

Autocompletes only one level. Final string values are ignored:

test = {
'level1a':{'a'},
'level1b':{'b'}
}

Autocomplete with autogenerated words:

test = {
'files': ['`ls -1`'],
'devices': ['`ls -1 /dev`']
}

# Generation

Add the following lines to your command-line program:

import bashcomplete
bashcomplete.BashComplete(test)

where `test` is your data structure. This will generate
`<filename>.bash_complete` in your current folder using the filename of the
executing program.

If you wish to constrain the autocomplete words to only what has been defined,
use:

bashcomplete.BashComplete(test, constrain=True)

If you wish to create a .bash_complete file with another name use:

bashcomplete.BashComplete(test, filename='myprogram.py', output_filename='myprogram_py_cloudversion')

# Usage

Use the generated `<filename>.bash_complete` by adding:

. /path/to/<filename>.bash_complete

to your `.profile`. From this point on, any run of `<filename>` will use the
generated bash completion.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-bashcomplete-1.2-0.tar.gz (3.8 kB view details)

Uploaded Source

File details

Details for the file python-bashcomplete-1.2-0.tar.gz.

File metadata

File hashes

Hashes for python-bashcomplete-1.2-0.tar.gz
Algorithm Hash digest
SHA256 b4e6350d4a2144b2f61e154b527af2d4e581a8eab305979e96dc09378c3a5dc2
MD5 3c60ffcd9f81789bdee0674548d94d1b
BLAKE2b-256 5d59b141a9f1e730291261b292c642b3c8919983010509a695178fb349d0b2bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page