Re: [PATCH 2/2] completion: add proper public __git_complete
From: Felipe Contreras <hidden>
Date: 2020-12-28 19:27:19
On Mon, Dec 28, 2020 at 1:23 PM Felipe Contreras [off-list ref] wrote:
Back in 2012 I argued [1] for the introduction of a helper that would allow users to specify aliases like: git_complete gf git_fetch Back then there was pushback because there was no clear guideline for public functions (git_complete vs _git_complete vs _GIT_complete), and some aliases didn't actually work. Fast-forward to 2020 and there's still no guideline for public functions, and those aliases still don't work (even though I sent the fixes). This has not prevented people from using this function that is clearly needed to setup custom aliases [2], and in fact it's the recommended way. But it is cumbersome that the user must type: __git_complete gf _git_fetch Or worse: __git_complete gk __gitk_main 8 years is more than enough time to stop waiting for the perfect to come; let's define a public function (with the same name) that is actually user-friendly: __git_complete gf git_fetch __git_complete gk gitk While also maintaining backwards compatibility. The logic is: 1. If $2 exists, use it directly 2. If not, check if __$2_main exists 3. If not, check if _$2 exists 4. If not, fail [1] https://lore.kernel.org/git/1334524814-13581-1-git-send-email-felipe.contreras@gmail.com/ (local) [2] https://stackoverflow.com/questions/342969/how-do-i-get-bash-completion-to-work-with-aliases
Fixed wrong address of SZEDER Gábor. -- Felipe Contreras