0.1.4 • Published 10 months ago

bash-autocompleter v0.1.4

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

Bash Autocompleter

Bash autocompleter is a command line utility to generate autocomplete scripts for bash.

The syntax for schemas is loosely based on completely.

Install

npm i -g bash-autocompleter

Using bash-autocompleter command line

Bash autocompleter will generate shell script either to a file or stdout based on json or yaml schema.

bash-autocompleter schema.yaml -o autocomplete.sh

An example yaml schema:

mygit:
- --help
- --version
- status
- init
- commit

mygit status:
- --help
- --verbose
- --branch
- $(git branch 2> /dev/null)

mygit init:
- --bare
- <directory>

mygit commit:
- <file>
- --help
- --message
- --all
- -a
- --quiet
- -q

Order of precedence in the schema file is top to bottom. If there are conflicts, the topmost schema will be taken first.

OSX and Bash 3

If you're running on OSX or a very old version of bash you can use:

bash-autocompleter schema.yaml --bash3 -o autocomplete.sh

This will generate bash3 compatible scripts.

Wildcards

It's possible to use wildcards to signify what longer commands would look like. For example, below you can see what the autocomplete command for bash-autocompleter schema.yml -o<tab> would look like in the bash-autocompleter*-o section.

bash-autocompleter:
- <file>
- -o
- --bash3

bash-autocompleter*-o:
- <file>

Empty arguments

If you have an argument that has no suggestion, use <empty>. For example, in git, the force flag doesn't have any followup options so would use <empty>.

git*--force: <empty>

git*-f:
  - <empty>

References

Sometimes it's a lot of effort to duplicate flags that have the same content. For these, you can use references.

build*--config: &build-test
  - debug
  - release

build*-c: &build-test

The above code will make build -c<tab> and build --config<tab> identical.

0.1.4

10 months ago

0.1.3

12 months ago

0.1.2

12 months ago

0.1.1

12 months ago

0.1.0

12 months ago