mirror of
https://github.com/simonmichael/hledger.git
synced 2025-01-04 00:07:29 +03:00
Update README
This commit is contained in:
parent
3c4025ae19
commit
3ab796fd9e
@ -15,8 +15,8 @@ The completions can handle hledger's CLI:
|
||||
|
||||
- commands and generic options
|
||||
- command-specific options
|
||||
- filenames for options that take a filename as argument
|
||||
- account names from journal files (but not yet for files named by `--file`)
|
||||
- most option arguments
|
||||
- account names, tags, payees, etc. from journal files
|
||||
- query filter keywords like `status:`, `tag:`, or `amt:`
|
||||
|
||||
Installation for end users
|
||||
@ -27,22 +27,45 @@ Completions are currently only implemented for the Bash shell.
|
||||
Please check first if the completions for hledger are already installed on your
|
||||
distribution. Refer to the last paragraph of this section for how to test that.
|
||||
|
||||
To install the completions manually, follow this steps:
|
||||
To install from the repository, do:
|
||||
|
||||
- Download or copy the file `shell-completion/hledger-completion.bash` and save
|
||||
it as `~/.hledger-completion.bash`.
|
||||
``` sh
|
||||
cd /path-to-repo/shell-completion
|
||||
make install
|
||||
```
|
||||
|
||||
- Add the command `source ~/.hledger-completion.bash` this to the end of your
|
||||
`~/.bashrc` file.
|
||||
Completions installed this way will be loaded dynamically after you use the hledger
|
||||
command. Upon the first invocation of a command that has no predefined completion
|
||||
bash looks for a file with the same name in a set of predefined locations in this order:
|
||||
|
||||
- Then, you have to start a new Bash, e.g. by typing `bash` on the current
|
||||
shell.
|
||||
- $BASH_COMPLETION_USER_DIR/completions
|
||||
- $XDG_DATA_HOME/bash-completion/completions
|
||||
- $HOME/.local/share/bash-completion/completions
|
||||
- etc.
|
||||
|
||||
Example installation script:
|
||||
You can manually achieve the effects of `make install` by copying
|
||||
`shell-completion/hledger-completion.bash` to one of the above, and renaming it
|
||||
to `hledger`, `_hledger` or `hledger.bash`. For the gory details, type this in a
|
||||
bash shell:
|
||||
|
||||
``` sh
|
||||
type __load_completion
|
||||
```
|
||||
|
||||
To install the completions manually, you can also just download and copy
|
||||
`shell-completion/hledger-completion.bash` to a directory of your choosing, and
|
||||
source it from your shell start up files. This way completions are loaded
|
||||
eagerly and that adds a delay to shell start up time.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
cp hledger-completion.bash ~/.hledger-completion.bash
|
||||
echo 'source ~/.hledger-completion.bash' >> ~/.bashrc
|
||||
cp hledger-completion.bash ~/.bash_completion.d/hledger
|
||||
echo 'source ~/.bash_completion.d/hledger' >> ~/.bashrc
|
||||
# Restart shell
|
||||
exec bash
|
||||
# Confirm that completion is loaded
|
||||
complete -p hledger
|
||||
```
|
||||
|
||||
Now, try it by typing `hledger` (with a space after the command) and press the
|
||||
|
Loading…
Reference in New Issue
Block a user