Some `fish` completions are broken

I’ve layered fish with rpm-ostree, I’ve rebooted, and I ran fish_update_completions, but my completions don’t appear to be working properly.

I’ll go rpm-ostree <tab>, and I’d like it to have compose, apply-live, etc. in the menu, but instead it just has the files/directories in my current directory. It doesn’t work for distrobox either, but it does work for chezmoi (which I’ve layered locally), and ls.

Another thing, once I type something like distrobox enter <tab> it does list all of the flags, but they’re all messed up. When I <tab> to one of them, it completes as something like --additional-flags/-a instead of just --additonal-flags.

I think it will be easier to illustrate in a video.

I have the same issue, did you find any fixes?

This is the result of tab-completion that tells you that you may use either -a (short form) or --additional-flags (long form) options.

what about the first part of the issue

I’ll go rpm-ostree <tab>, and I’d like it to have compose, apply-live, etc. in the menu, but instead it just has the files/directories in my current directory.

is this a fish issue or a silverblue issue?

I think it’s a fish issue, the default bash completion works:

[jorge@tien:0 ~]$ rpm-ostree 
apply-live     deploy         kargs          reset          usroverlay
cancel         --help         override       rollback       --version
cleanup        initramfs      rebase         status         
compose        initramfs-etc  refresh-md     uninstall      
db             install        reload         upgrade 

That’s what I thought too, are there anyways to fallback to bash completions from fish?