Colocar isso no seu ~ / .config / fish / config.fish deve fazer o truque
if test $TERM_PROGRAM = iTerm.app
test -e {$HOME}/.iterm2_shell_integration.fish ; and source {$HOME}/.iterm2_shell_integration.fish
end
O iTerm tem um script de integração de shell que habilita alguns recursos sofisticados, como ter a capacidade de rolar até o último prompt (no caso, se houvesse uma grande quantidade de stdout, ou seja, ao compilar algum código). No entanto, se o terminal não for iTerm, esse script falhará e poluirá o prompt.
Eu estou tentando limpá-lo como em apenas executar a integração shell se o terminal for iTerm.
Colocar isso no seu ~/.config/fish/config.fish
deve fazer o truque e verificar se $TERM_PROGRAM
foi definido.
test -n "$TERM_PROGRAM"
and test $TERM_PROGRAM = iTerm.app
and test -e {$HOME}/.iterm2_shell_integration.fish
and source {$HOME}/.iterm2_shell_integration.fish