Hello folks, I've been using TRAMP for quite a while, and everything was
fine, until I switch my main shell to Fish (it was Bash previously).

After entering:

    /ssh:the-host:<TAB>

in Emacs find-file, TRAMP prompts for the password, and I enter the
password accordingly, then TRAMP just hangs indifinitely.

I have dumb terminal check in my fish config file like so:

    if test "$TERM" = "dumb"
        function fish_prompt
            printf '$ '
        end
    
        function fish_right_prompt; end
        function fish_greeting; end
        function fish_title; end
    else
        ...fancy prompts...
    end

and according to the manual, setting these functions should be enough for TRAMP
to work, am I missing something?

I've attached my full fish config if this helps. Any help is
appreciated, thanks in advance!

# Prompt and welcome message customization.
if test "$TERM" = "dumb"
    function fish_prompt
        printf '$ '
    end

    function fish_right_prompt; end
    function fish_greeting; end
    function fish_title; end
else
    function fish_prompt -d "ID's custom prompt."
        set_color cyan
        printf "%s" "$USER"
        set_color normal

        printf " at "

        set_color green
        printf "%s" "$hostname"
        set_color normal

        printf " in "

        set_color blue
        printf "%s" "$(prompt_pwd --dir-length=5)"
        set_color normal

        printf "\n|-"

        set_color yellow
        printf "%s" "$(date +%H:%M)"
        set_color normal

        printf " "
    end

    function fish_greeting -d "ID's custom welcome message."
        set_color blue
        printf ">"
        set_color green
        printf "<>"
        set_color normal

        printf " You're now at machine "

        set_color red
        printf "%s" "$hostname"
        set_color normal

        printf ". "

        set_color green
        printf "<>"
        set_color blue
        printf "<"
        set_color normal

        printf "\n"
    end
end

# Aliases.
function ls -w /usr/bin/ls -d "ls with some custom options."
    /usr/bin/ls -Alh --color=auto $argv
end

function grep -w /usr/bin/grep -d "grep with color."
    /usr/bin/grep --color=auto $argv
end

function kssh -w /usr/bin/ssh -d "ssh over kitten."
    kitten ssh $argv
end

# Environmental variables.
set -gx VISUAL nvim
set -gx XAPIAN_CJK_NGRAM 1

# Emacs vterm configuration.
# Placed in here because files from conf.d is read before this file,
# and the prompt defined in there will be overwritten.
set -l vterm_fish_location "$(status dirname)/emacs-vterm.fish"
if test "$INSIDE_EMACS" = "vterm"; and test -f "$vterm_fish_location"
    . "$vterm_fish_location"
end

-- 
Best,
ID

Reply via email to