3

I have a program that is similar to git in that git foo and git-foo are both valid ways to invoke it. I have rudimentary tab completion written for the git foo version, and I would like to use it for git-*. But for various reasons, it's non-trivial (in fact, impossible since I can add new commands at any time) to know the list of all git-* commands before hand, so I need a way to run something like

complete -F _my_git_completion git-*

But that line doesn't work since expands git-* at the time of invocation with files that are in the current directory. This isn't helpful since my files aren't in the current directory.

I vaguely remember a hook that's called the first time completion is tried for a new executable, but I can't find it now. Is there such a thing?

Ivan Andrus
  • 5,221
  • 24
  • 31

1 Answers1

0

Well, it turns out there is this older question: bash-completion - completion function defined the first time a command is invoked so I should have searched harder.

Ivan Andrus
  • 5,221
  • 24
  • 31