A relatively new feature in bash is programmable completion, which has been available since the beta version of 2.04. Programmable completion will be familiar to you if you are a zsh user. It also exists, albeit in a much less usable form, in tcsh. Standard completion bash has offered many forms of completion since its inception, including path, file, user, host and variable completion. * Path-name completion * File-name completion * User-name completion * Host-name completion * Variable-name completion Programmable completion indefinitely extends the type of completion you can perform. This package contains a variety of completions for various programs.