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

From: Oleg Pykhalov <[email-masked]>
Date: Sat, 17 Feb 2018 22:25:11 +0300

Marius Bakke <[email-masked]> writes:

> 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 ;-)

Ouch, thank you for reminding.

Pushed as f5f916792c7069a22d95c5b7c68bcf3bbb86e451

I'll close the bug report.

Thanks,
Oleg.