[Bash-completion-devel] bash multi-word completion with read
Raphaël
raphael.droz+floss at gmail.com
Thu Aug 18 18:31:44 UTC 2011
On Thu, Aug 18, 2011 at 05:19:32AM -0400, Fozzy C. Dressel wrote:
> hi.
>
> I'm trying since weeks to realize a multiword completion with the bash
> builtin "read". The only success I get is with single-word completion
> an the "history -l/-s" trick.
I would advise you to attach your completion as it will ease the
understanding of your issue.
I think the "multi-word" expression may be misleading: you're looking to
write a completion script which handle more than 1 argument isn't ?
>
> I wrote a menusystem to let users create/enter/delete project-folder,
> run/edit/remove plugins in ths folders.
>
> For a better understanding, a small example:
>
> multicheck> <TAB><TAB>
the default completion for the empty string is to complete with commands
available in $PATH
> multicheck>
> project login logout cd view ....
> multicheck> pr<TAB>
> multicheck> project
> multicheck> project <TAB><TAB>
> multicheck> project
> project login cd view ...
>
> It get the same list again, here now it should return the list of
> available project-folders ...
so you're looking to complete the "project" command ?
So create the _project() function then test $prev (if needed), $cur, ...
and in the default case (this one above), complete with the least of
available project-folders as you wish.
>
> multicheck> project <TAB><TAB>
> multickeck> project
> mpathcheck sysadmin ...
function _project() {
# default behavior
COMPREPLY=( $(compgen -W "mpathcheck sysadmin" -- $cur) )
return 0;
}
complete -F _project project
> Calling multicheck in bash as cmd, die BComp. works fine as expected, so
> it seems that I've understoud BC ... but I'm not able to do this with
> the read-statement inside a bash-script.
I don't know what "multicheck" is. What "die" ? how is the "read"
statement related ?
again, you should attach some code so we can figure out what your
problem is.
Raph
More information about the Bash-completion-devel
mailing list