Work around https://github.com/pcapriotti/optparse-applicative/issues/146
by not using action "file" and instead passing -o bashdefault -o default
to complete. This way, when optparse fails to complete a filename, bash
will fall back to regular filename completion.
Unfortunately, optparse-applicative does not provide a way to control the
options passed to complete, so I had to modify its generated completion script.
Note that for "git annex" command completion, git's completion script already
used -o bashdefault -o default, so that works too.
This needs a patch to git to cause the git-annex completion to be
auto-loaded when completing "git annex <tab>". Otherwise, it will only
load when "git-annex" is tab completed. Once loaded, it works for both
uses. I've submitted the git patch to the git mailing list.