function __fish_complete_command --description 'Complete using all available commands'
    set -l ctoken (commandline -ct)
    switch $ctoken
        case '*=*'
            set ctoken (string split "=" -- $ctoken)
            printf '%s\n' $ctoken[1]=(complete -C "$ctoken[2]")
        case '-*' # do not try to complete options as commands
            return
        case '*'
            complete -C "$ctoken"
    end
end