function __fish_complete_cabal
        if type -q -f cabal
                set cmd (commandline -poc)
                if test (count $cmd) -gt 1
                        cabal $cmd[2..-1] --list-options
                else
                        cabal --list-options
                end
        end
end

complete -c cabal -a '(__fish_complete_cabal)'