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.
`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
File details
Details for the file python-bashcomplete-1.2-0.tar.gz
.
File metadata
- Download URL: python-bashcomplete-1.2-0.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4e6350d4a2144b2f61e154b527af2d4e581a8eab305979e96dc09378c3a5dc2 |
|
MD5 | 3c60ffcd9f81789bdee0674548d94d1b |
|
BLAKE2b-256 | 5d59b141a9f1e730291261b292c642b3c8919983010509a695178fb349d0b2bc |