SZEDER Gábor <szeder@xxxxxxxxxx> writes: > Instead of having a huge hard-coded list of command-completion > function pairs (in _git()), the completion script will figure out > which completion function to call based on the command's name. That > is, when completing the options of 'git foo', the main completion > script will check whether the function '_git_foo' is declared, and if > declared, it will invoke that function to perform the completion. If > such a function is not declared, it will fall back to complete file > names. So, users will only need to provide this '_git_foo' completion > function in a separate file, source that file, and it will be used the > next time they press TAB after 'git foo '. I think the basic idea is sound, but I have a minor issue with the names. Admittedly, we have already taken over _git_foo (and "_git") namespace, and anybody who uses bash with the completion support cannot write their own shell function with these names for purposes that are unrelated to completion, so in that sense, the patch is not introducing a new problem, but making it a documented interface and casting it in stone will make the namespace contamination issue harder to rectify later. So if we were to go in the direction as the patch proposes (which I think is a good idea), we might want to rename them to __git_completion_foo or something that is less likely to collide with whatever names users might want to use. It is my understanding that the only published interface so far is __git_ps1. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html