Freddy Vulto a écrit :
> On Thu, Feb 26, 2009 at 12:33 PM, David Paleino <d.pale...@gmail.com> wrote:
>> On Wed, 25 Feb 2009 23:05:33 +0100, Freddy Vulto wrote:
>>> Do we have a standardized way in bash-completion for selecting alternative
>>> completions?
>> No :/
>>
>> I believe we could do something a _get_alternative() function
> 
> Guillaume, does the command underneath work on your distribution?  And
> if so, what's the output?
> 
>   $ readlink -f "$(which vncviewer)"
/usr/bin/vncviewer

> Maybe this command is enough to detect the used alternative on any
> distribution, i.e. _get_alternative()?  If we do this from within the
> completion it's not slowing down completion-installation:
> 
> have vncviewer && {
>   _vncviewer_bootstrap() {
>      case "$(readlink -f "$(which vncviewer)")" in
>         *xvnc4viewer) fname=_xnvc4viewer ;;
>         *tightvncviewer|*) fname=_tightvncviewer ;;
           vncviewer) fname=_vncviewer
>      esac
> 
>      # Install real completion for subsequent completions
>      complete -F $fname vncviewer
>      $fname  # Generate completions once for now
>   }
> } && complete -F _vncviewer_bootstrap vncviewer
This only works in this case, but assume we can distinguish between case 
using executable name.

We'll have the same issue for command having exactly the same name, but 
implemented differently across distributions, such as mkinitrd, for 
instance.


-- 
BOFH excuse #66:

bit bucket overflow

_______________________________________________
Bash-completion-devel mailing list
Bash-completion-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/bash-completion-devel

Reply via email to