git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 00/11] completion: general cleanups

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 27, 2013, 12:36 UTC
Message-ID
<CAMP44s1od7W0OufMhn2TCZTAo0aK9D+7VLzwVy7BSGNxAMuk6w@mail.gmail.com>
In-Reply-To
<517BB798.4070703@gmail.com>

On Sat, Apr 27, 2013 at 6:33 AM, Manlio Perillo <manlio.perillo@gmail.com> wrote:

Show 34 quoted lines
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Il 27/04/2013 12:19, Felipe Contreras ha scritto:
>> Hi,
>>
>> Basically while trying to understand the code for path completion, I found that
>> a lot of code was duplicated, and for not much gain.
>>
>> I also noticed that doing 'git add file' doesn't add the trailing space as
>> before. It's not clear if it should be possible to do that with -o filenames,
>> but after all, what do -o filenames gives us? Nothing we can't do ourselves,
>> apparently.
>>
>
> No, you can not do it yourself, as far as I know.
>
> I added the `compopt -o filenames` on Junio request for something like
> "It  would be nice if completion for real files would behave like
> builtin bash completion", if I remember correctly.
>
> Try `git rm contrib/completion/<TAB>`, in the git reporitory.
>
> Using the new feature, bash will suggest:
> "git-completion.bash  git-completion.tcsh  git-completion.zsh
> git-prompt.sh"
>
> Old behaviour, instead, was to suggest:
> "contrib/completion/git-completion.bash
> contrib/completion/git-completion.zsh
> contrib/completion/git-completion.tcsh  contrib/completion/git-prompt.sh"
>
> I tried several things, but I was unable to emulate Bash builtin file
> completion, whithout having to use `compopt -o filenames`.

I see. I'm not convinced it's such a great feature, but it would be nice to have.

Anyway, 'compopt -o filenames +o nospace' should restore the old behavior to add a space after the completion.

Show 17 quoted lines
> As far as the "double slash" problem with the
> __git_index_file_list_filter_bash function, please try
> `git rm contrib<TAB>`.
>
> With current code, Bash will suggest:
> "blameview/ diffall/ git-shell-commands/"
>
> If you remove the __git_index_file_list_filter_bash function and use
> __git_index_file_list_filter_compat instead, Bash will suggest:
>
> "blameview// diffall// git-shell-commands//"
>
> I can confirm this on my system, and it was confirmed by another user.
> It only happens when you use `compopt -o filenames`. I don't know if
> this is a bug or a feature, but I can try to ask to Bash mailing list,
> so that we can update the comment to make more clear why a separate
> function was needed.

I've managed to reproduce the issue. The slash doesn't appear in the completion, it appears on the list of completions.

I'll see what I can think to fix the issues while still keep the code simple.
Cheers.
-- 
Felipe Contreras
Previous: Manlio PerilloNext: Felipe Contreras
Message 14 of 19 in “completion: general cleanups”
  1. 00/11 completion: general cleanupsFelipe Contreras, Apr 27, 2013
  2. 01/11 completion: add file completion testsFelipe Contreras, Apr 27, 2013
  3. 02/11 completion: document tilde expansion failure in testsFelipe Contreras, Apr 27, 2013
  4. 03/11 completion; remove unuseful commentsFelipe Contreras, Apr 27, 2013
  5. 04/11 completion: use __gitcompadd for __gitcomp_fileFelipe Contreras, Apr 27, 2013
  6. 05/11 completion: refactor diff_index wrappersFelipe Contreras, Apr 27, 2013
  7. 06/11 completion: refactor __git_complete_index_file()Felipe Contreras, Apr 27, 2013
  8. 07/11 completion: avoid compopt -o filenamesFelipe Contreras, Apr 27, 2013
  9. 08/11 completion: get rid of __gitcomp_file()Felipe Contreras, Apr 27, 2013
  10. 09/11 completion: add space after completed filenameFelipe Contreras, Apr 27, 2013
  11. 10/11 completion: remove __git_index_file_list_filter()Felipe Contreras, Apr 27, 2013
  12. 11/11 completion: zsh: add proper file supportFelipe Contreras, Apr 27, 2013
  13. Manlio PerilloApr 27, 2013
  14. Felipe ContrerasApr 27, 2013
  15. Felipe ContrerasApr 27, 2013
  16. Manlio PerilloApr 27, 2013
  17. Felipe ContrerasApr 27, 2013
  18. Felipe ContrerasApr 27, 2013
  19. Manlio PerilloApr 27, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.