Add a simple bash completion helper
This commit is contained in:
parent
43a5970e1f
commit
0e82e53cee
2 changed files with 72 additions and 0 deletions
42
tools/bash_completion/README
Normal file
42
tools/bash_completion/README
Normal file
|
@ -0,0 +1,42 @@
|
|||
Bash Programmable Completion for Claws Mail
|
||||
-------------------------------------------
|
||||
|
||||
This directory contains a script which provides argument completion
|
||||
when using Claws Mail from the command line under the bash shell.
|
||||
This is usually triggered by pressing the tab key (↹).
|
||||
|
||||
See bash manual (https://www.gnu.org/software/bash/manual/) for more
|
||||
details about programmable completion.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Examples below assume current directory is the toplevel directory of
|
||||
either an extracted tarball or a git clone.
|
||||
|
||||
Single user
|
||||
----------
|
||||
|
||||
For a single user just make a directory (e.g. '.bash_completion.d')
|
||||
on your $HOME directory and copy the completion script there:
|
||||
|
||||
$ mkdir ~/.bash_completion.d
|
||||
$ cp tools/bash_completion/claws-mail ~/.bash_completion.d/
|
||||
|
||||
Then, source the script to enable it:
|
||||
|
||||
$ . ~/.bash_completion.d/claws-mail
|
||||
|
||||
To enable it permanently just add the command to the user's bashrc:
|
||||
|
||||
$ echo '. ~/.bash_completion.d/claws-mail' >> $HOME/.bashrc
|
||||
|
||||
All users
|
||||
---------
|
||||
|
||||
For system wide installation just copy the file to the system directory,
|
||||
which is usually located in /etc (you need to become root for that):
|
||||
|
||||
$ sudo cp tools/bash_completion/claws-mail /etc/bash_completion.d/
|
||||
|
||||
After login in again all users should be able to use completion.
|
30
tools/bash_completion/claws-mail
Normal file
30
tools/bash_completion/claws-mail
Normal file
|
@ -0,0 +1,30 @@
|
|||
# claws-mail(1) completion
|
||||
_claws-mail()
|
||||
{
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
case $prev in
|
||||
--help|-h|--version|-v|--version-full|-V)
|
||||
return
|
||||
;;
|
||||
--alternate-config-dir)
|
||||
COMPREPLY=( $( find . -maxdepth 2 -name clawsrc | sed 's,/clawsrc,,' ) )
|
||||
return
|
||||
;;
|
||||
--select|--status|--status-full)
|
||||
_filedir -d
|
||||
return
|
||||
;;
|
||||
--compose-from-file|--attach)
|
||||
_filedir
|
||||
return
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ $cur == -* ]]; then
|
||||
COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
|
||||
return
|
||||
fi
|
||||
} &&
|
||||
complete -F _claws-mail claws-mail
|
Loading…
Reference in a new issue