Subject: Re: [bug#30495] [PATCH] bash completion: Complete files names after 'guix package -m'.

From: Marius Bakke <[email-masked]>
Date: Sat, 17 Feb 2018 17:14:48 +0100

Oleg Pykhalov <[email-masked]> writes:

> Marius Bakke <[email-masked]> writes:
>
>> Oleg Pykhalov <[email-masked]> writes:
>>
>>> * etc/completion/bash/guix (_guix_is_dash_L): Replace with
>>> ‘_guix_is_dash_L_or_m’.
>>> (_guix_complete): Add this.
>>
>> [...]
>>
>>> diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix
>>> index 6b84193db..286c4f1c5 100644
>>> --- a/etc/completion/bash/guix
>>> +++ b/etc/completion/bash/guix
>>> @@ -97,9 +97,10 @@ _guix_is_removing ()
>>>      $result
>>>  }
>>>  
>>> -_guix_is_dash_L ()
>>> +_guix_is_dash_L_or_m ()
>>>  {
>>> -    [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-L" ] \
>>> +    comp_words_minus_1="${COMP_WORDS[$COMP_CWORD - 1]}"
>>> +    [ "$comp_words_minus_1" = "-L" ] || [ "$comp_words_minus_1" = "-m" ] \
>>>  	|| { case "${COMP_WORDS[$COMP_CWORD]}" in
>>>  		 --load-path=*) true;;
>>>  		 *)             false;;
>>
>> I think this fails to account for the long form "--manifest".  Perhaps
>> it's better to add a new "_guix_is_dash_m" and use
>>
>> "if _guix_is_dash_L || _guix_is_dash_m"
>>
>> below.  WDYT?
>
> Nice catch!  Thanks.
>
> But I don't know how to implement a file completion for ‘--manifest=’.
> ‘--load-path=’ doesn't have a file completion too.  Only completion for
> equal sign before.

Oh, OK.  That's another issue I guess.  The patch below LGTM, but the
commit message needs adjusting ;-)

Thank you!