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

Re: [PATCH v3 2/2] completion: add git status

From
Jeff King <peff@peff.net>
Date
Jun 3, 2016, 17:17 UTC
Message-ID
<20160603171711.GC3858@sigill.intra.peff.net>
In-Reply-To
<xmqqzir2p6yv.fsf@gitster.mtv.corp.google.com>
On Fri, Jun 03, 2016 at 09:34:00AM -0700, Junio C Hamano wrote:
Show 15 quoted lines
> Thomas Braun <thomas.braun@virtuell-zuhause.de> writes:
> 
> >>> +			if [ -n "$(__git_find_on_cmdline "--ignored")" ]; then
> >> 
> >> Same question as the "--untracked-files=no vs -uno" applies here.
> >
> > Is there a short version of --ignored? I could not find one in the help,
> > and from a look into cmd_status in commit.c I would say there is none.
> 
> I was primarily wondering about the effect of parse-options have.
> It lets you truncate a long option to its unique prefix (e.g.
> "--untracked-files=all" can be spelled as "--unt=all").  It seems
> that "--ignored" must be spelled in full, which means the use of
> find-on-cmdline we see above is OK, but the reason why it is so is a
> bit subtle.  It may deserve a comment there, perhaps.

I don't think we handle arguments to unique-prefix options throughout the completion. There's lots of:

  case "${words[c]}" in
  --foo) ...
  --bar) ...
  --etc) ...

I suspect trying to support them everywhere would be a moderate pain, and I doubt it is all that useful. We already know the person is using tab-completion, so the natural thing to do after typing "--unt" is to hit "<Tab>" rather than "=". That gives you the same effect, with the added feedback that you're using a recognized action.

I know not everybody will the "natural thing" I claim, and if it were easy to support everywhere, I don't mind doing it. But I suspect (without thinking very hard on it) that it would make those case statements a bit harder to read and maintain.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 16 of 33 in “completion: create variable for untracked file modes”
  1. 1/2 completion: create variable for untracked file modesThomas Braun, May 31, 2016
  2. Jeff KingJun 1, 2016
  3. Junio C HamanoJun 1, 2016
  4. Thomas BraunJun 1, 2016
  5. 1/2 completion: create variable for untracked file modesThomas Braun, Jun 1, 2016
  6. SZEDER GáborJun 1, 2016
  7. Thomas BraunJun 2, 2016
  8. 2/2 completion: add git statusThomas Braun, Jun 1, 2016
  9. SZEDER GáborJun 1, 2016
  10. Thomas BraunJun 2, 2016
  11. 1/2 completion: factor out untracked file modes into a variableThomas Braun, Jun 2, 2016
  12. 2/2 completion: add git statusThomas Braun, Jun 2, 2016
  13. Junio C HamanoJun 2, 2016
  14. Thomas BraunJun 3, 2016
  15. Junio C HamanoJun 3, 2016
  16. Jeff KingJun 3, 2016
  17. Junio C HamanoJun 3, 2016
  18. Thomas BraunJun 3, 2016
  19. 0/3 support completion for git statusThomas Braun, Jun 3, 2016
  20. 1/3 completion: factor out untracked file modes into a variableThomas Braun, Jun 3, 2016
  21. 2/3 completion: add __git_get_option_value helperThomas Braun, Jun 3, 2016
  22. SZEDER GáborJun 10, 2016
  23. Thomas BraunJun 25, 2016
  24. 3/3 completion: add git statusThomas Braun, Jun 3, 2016
  25. Junio C HamanoJun 6, 2016
  26. Thomas BraunJun 7, 2016
  27. Junio C HamanoJun 6, 2016
  28. 0/3 completion: add git statusThomas Braun, Jun 10, 2016
  29. 2/3 completion: add __git_get_option_value helperThomas Braun, Jun 10, 2016
  30. 1/3 completion: factor out untracked file modes into a variableThomas Braun, Jun 10, 2016
  31. 3/3 completion: add git statusThomas Braun, Jun 10, 2016
  32. 1/3 completion: factor out untracked file modes into a variableThomas Braun, Jun 10, 2016
  33. 3/3 completion: add git statusThomas Braun, Jun 10, 2016

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.