Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to copy the tab completion of a command for my linux function?

Let's say I have a bash shell function named magic. I want to define a tab completion function _magic which would allow magic to piggyback on the tab completion functions of any given command (if available). In other words, I want magic to be able to do something like this:

~ $ magic git ... <search for _git and use it if found>
~ $ magic cd ... <search for _cd and use it if found>
~ $ magic some-cmd ... <search for _some-cmd and use it if found>

I can't seem to find anything online that would help me achieve this using compgen, complete etc. Is this even possible? Thanks in advance.

like image 693
Joohwan Avatar asked Sep 20 '25 18:09

Joohwan


1 Answers

There are many such (pseudo?) commands, that need this. e.g. time, nice, strace etc.
They all use the same command completion: _command. So, don't re-invent the wheel. :)

Try running this in your bash terminal, if this work:

complete -F _command magic
like image 192
anishsane Avatar answered Sep 22 '25 09:09

anishsane