Disable extension filtering in bash-completion
Sun, 19 Nov 2023
Disable extension filtering in bash-completion
Quick tip,
I’m a fan of the bash-completion collection except for one thing, the file extension based filtering that limits, for example, file name completion to .pdf files for various PDF readers. The bash-completion people do a great job of maintaining the filters - for instance, the “unzip” filter will expand extensions like .epub and .odt, but I often encounter or work with files with missing, incorrect, or custom file extensions.
I had been laboriously restoring the default completion for the various programs I’d
had problems with (E.g., complete -o default -o bashdefault unzip
), but finally had
enough and submitted a feature
request. Turns out the solution
is easy and I can fully disable extension-based filtering for all commands without
having to continually update my list of exceptions by adding the following to my
.bashrc (after loading bash-completion):
# Disable bash-completion extension-based filtering
declare -gA _comp_xspecs=() _xspecs=()