Add doc on adding support for other shells
This commit is contained in:
parent
84eaf20f9b
commit
a2dc1289a5
@ -54,3 +54,28 @@ The Bash completion script is generated (GNU make) by parsing output of `hledger
|
|||||||
`hledger -h`, and `hledger <cmd> -h`. The script also uses `hledger accounts` for
|
`hledger -h`, and `hledger <cmd> -h`. The script also uses `hledger accounts` for
|
||||||
account name completion. I propose that the Makefile is not run at every built
|
account name completion. I propose that the Makefile is not run at every built
|
||||||
but rather manually when the CLI changes.
|
but rather manually when the CLI changes.
|
||||||
|
|
||||||
|
Completion scripts for other shells (e.g. Fish or Zsh)
|
||||||
|
------------------------------------------------------
|
||||||
|
|
||||||
|
You're welcome to add completion scripts for other shells. It should not be too
|
||||||
|
hard! All available hledger options and commands are already there (generated by
|
||||||
|
the Makefile).
|
||||||
|
|
||||||
|
The generated text files with options and commands are: `commands.txt`,
|
||||||
|
`generic-options.txt`, and `options-*.txt` where `*` is the subcommand.
|
||||||
|
|
||||||
|
Instructions to add support for another shell:
|
||||||
|
|
||||||
|
1. Create e.g. `hledger-completion.fish.m4` as a template file.
|
||||||
|
|
||||||
|
2. Add a Make rule to transform it to `hledger-completion.fish`.
|
||||||
|
|
||||||
|
3. Use m4 commands to include hledger options and commands into your script
|
||||||
|
template. See `hledger-completion.bash.m4` as a reference.
|
||||||
|
|
||||||
|
4. Use `make` and then `make hledger-completion.fish` to create and test the
|
||||||
|
completion script.
|
||||||
|
|
||||||
|
5. Finally, if everything is working, also add the generated artifact
|
||||||
|
`hledger-completion.fish` to the repo so that people can use it directly.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user