[Bash-completion-devel] using external helpers for completion

Ville Skyttä ville.skytta at iki.fi
Sun Nov 7 09:02:50 UTC 2010


On Sunday 07 November 2010, Guillaume Rousse wrote:
> Le 31/10/2010 23:59, Freddy Vulto a écrit :
> > The remaining error reported by the test suite however, was that perldoc
> > option-completion is now missing; it's not in the pure perl perldoc
> > completion helper, whereas the code underneath was in the bash perldoc
> > completion:
> > 
> > -    if [[ "$cur" == -* ]]; then
> > -        COMPREPLY=( $( compgen -W '-C -s -T -u -U -W -X -h -v -V -c -w
> > -d \ -            -D -p -n -a -F -l -0 -I -m -M -P -S -x -i -e ' --
> > "$cur" ) )
> > 
> > Are you aware of that?  Anyway, I removed the test case from the test
> > suite for now.
> 
> Good catch, I didn't notice.
> 
> I just fixed this,

Shouldn't the perldoc test case be re-enabled now then?

> and also generalized the helper to be used for perl
> command also. Now we have 100% pure perl completions for those commands,
> allowing to get rid of ugly perl oneliners embedded in shell functions
> for listing perl modules. However, we also have to reimplement compgen
> -d, and filedirs, with no garanty of providing a consistent behaviour :/
> 
> I wonder if the correct solution would be to keep a shell completion
> functions, and only delegate the specialized parts (modules and function
> completions) to external perl code.

Sounds like a plan to me (offhand).

BTW after this change we now have the perl testcase in a fairly bad shape.

$ ./runCompletion perl.exp                                                                                                                                                                       
[...]
# of expected passes            3
# of unexpected failures        2
# of unresolved testcases       3



More information about the Bash-completion-devel mailing list