mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-27 21:33:09 +00:00
2d545c651d
I have no idea why this kept one component in the one case and none in the other. Because we already aggressively shorten the command, we can keep the directory.
21 lines
901 B
Fish
21 lines
901 B
Fish
function fish_title
|
|
# emacs' "term" is basically the only term that can't handle it.
|
|
if not set -q INSIDE_EMACS; or string match -vq '*,term:*' -- $INSIDE_EMACS
|
|
# If we're connected via ssh, we print the hostname.
|
|
set -l ssh
|
|
set -q SSH_TTY
|
|
and set ssh "[$(prompt_hostname | string sub -l 10)]"
|
|
# An override for the current command is passed as the first parameter.
|
|
# This is used by `fg` to show the true process name, among others.
|
|
if set -q argv[1]
|
|
echo -- $ssh (string sub -l 20 -- $argv[1]) (prompt_pwd -d 1 -D 1)
|
|
else
|
|
# Don't print "fish" because it's redundant
|
|
set -l command (status current-command)
|
|
if test "$command" = fish
|
|
set command
|
|
end
|
|
echo -- $ssh (string sub -l 20 -- $command) (prompt_pwd -d 1 -D 1)
|
|
end
|
|
end
|
|
end
|