diff --git a/home/.config/fish/config.fish b/home/.config/fish/config.fish index 131313c..965e1cb 100644 --- a/home/.config/fish/config.fish +++ b/home/.config/fish/config.fish @@ -15,25 +15,6 @@ if set -q TERM && test $TERM = alacritty && ! set -q COLORTERM end if status is-interactive - function fish_title - # 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 20 | string collect)"]" - # 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 4) - 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 4) - end - end - alias rsync 'rsync --preallocate' alias diff 'diff --color=auto' alias grep 'grep --color=auto' diff --git a/home/.config/fish/functions/fish_title.fish b/home/.config/fish/functions/fish_title.fish new file mode 100644 index 0000000..bbcbb47 --- /dev/null +++ b/home/.config/fish/functions/fish_title.fish @@ -0,0 +1,18 @@ +function fish_title + # 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 20 | string collect)"]" + # 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 4) + 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 4) + end +end