On Mon, Dec 28, 2020 at 1:23 PM Felipe Contreras <felipe.contreras@xxxxxxxxx> 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@xxxxxxxxx/ > [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