In bash, it's easy enough to set up customized completion of command arguments using the `complete` built-in. For example, if, for a hypothetical command with a synopsis of `foo --a | --b | --c`, you could do `complete -W '--a --b --c' foo`

You can also customize the completion you get when you press <kbd>Tab</kbd> at an *empty* prompt using `complete -E`, e.g., `complete -E -W 'foo bar'`. Then pressing tab at the empty prompt would suggest only `foo` and `bar`.

**How do I customize command completion at a *non*-empty prompt?** E.g., if I'm sitting at:

 anthony@Zia:~$ f

how do customize completion so pressing tab would always complete to `foo`?

(The actual case I'd like is `loc`<kbd>TAB</kbd> → `localc`. And my brother, who prompted me to ask this, wants it with mplayer).