Skip to contentSkip to conversation

git-completion.bash should not add a space after a ref

DISCUSSION Manlio Perillo 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi.

This is not really a bug, but a small usability problem.

When completing a reference, Bash will add a space after the reference name.

As an example in:

$git show master<TAB>

The problem is that an user may want to show a tree or blog object from master:

$git show master:git.c

A possible solution is to define a new __gitcomp_nospace function and use it where appropriate.

Probably the __gitcomp_nospace should be used when git_complete_file is called, and __gitcomp_nl should be used when __git_complete_revlist is called, but I'm not sure.

P.S.:
it seems that __gitcomp_nl is **never** called with 4 arguments.

Regards Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlDxrQ8ACgkQscQJ24LbaURHmACfRXoM+uEVDgFUtZFzUcPC5oSZ FGsAnAxQf+SN7GrNljxU1io4IuayHmed
=JRVU
-----END PGP SIGNATURE-----

#1 lore raw
Quoted 4 lines · Manlio Perillo

This is not really a bug, but a small usability problem.

When completing a reference, Bash will add a space after the reference name.

Quoted 8 lines

As an example in:

$git show master<TAB>

The problem is that an user may want to show a tree or blog object from master:

$git show master:git.c

Or the user may want to see only changes to the documentation, e.g.

	$ git show master Documentation/

so removing a SP is a regression in the other way around.

Given that "refer to an object in a tree" is a much less often used operation, I have a feeling that the current behaviour happens to make a good trade-off between these two conflicting purposes that cannot be satisfied both at the same time.