mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-28 13:53:10 +00:00
Restyle detection of terminals that support OSC 7
We detect one terminal (foot) with a "string match" command, and all others in a long "test" command. Let's put the detection of each terminal on a new line. This should be easier to read and change. It also allows to lose one level of indentation.
This commit is contained in:
parent
065b769c1d
commit
348a5b6baf
1 changed files with 12 additions and 9 deletions
|
@ -257,16 +257,19 @@ function __fish_config_interactive -d "Initializations that should be performed
|
||||||
# Notify terminals when $PWD changes (issue #906).
|
# Notify terminals when $PWD changes (issue #906).
|
||||||
# VTE based terminals, Terminal.app, iTerm.app (TODO), and foot support this.
|
# VTE based terminals, Terminal.app, iTerm.app (TODO), and foot support this.
|
||||||
if not set -q FISH_UNIT_TESTS_RUNNING
|
if not set -q FISH_UNIT_TESTS_RUNNING
|
||||||
if string match -q -- 'foot*' $TERM
|
and begin
|
||||||
or test 0"$VTE_VERSION" -ge 3405 -o "$TERM_PROGRAM" = Apple_Terminal -a (string match -r '\d+' 0"$TERM_PROGRAM_VERSION") -ge 309 -o "$TERM_PROGRAM" = WezTerm
|
string match -q -- 'foot*' $TERM
|
||||||
function __update_cwd_osc --on-variable PWD --description 'Notify capable terminals when $PWD changes'
|
or test 0"$VTE_VERSION" -ge 3405
|
||||||
if status --is-command-substitution || set -q INSIDE_EMACS
|
or test "$TERM_PROGRAM" = Apple_Terminal && test (string match -r '\d+' 0"$TERM_PROGRAM_VERSION") -ge 309
|
||||||
return
|
or test "$TERM_PROGRAM" = WezTerm
|
||||||
end
|
|
||||||
printf \e\]7\;file://%s%s\a $hostname (string escape --style=url $PWD)
|
|
||||||
end
|
|
||||||
__update_cwd_osc # Run once because we might have already inherited a PWD from an old tab
|
|
||||||
end
|
end
|
||||||
|
function __update_cwd_osc --on-variable PWD --description 'Notify capable terminals when $PWD changes'
|
||||||
|
if status --is-command-substitution || set -q INSIDE_EMACS
|
||||||
|
return
|
||||||
|
end
|
||||||
|
printf \e\]7\;file://%s%s\a $hostname (string escape --style=url $PWD)
|
||||||
|
end
|
||||||
|
__update_cwd_osc # Run once because we might have already inherited a PWD from an old tab
|
||||||
end
|
end
|
||||||
|
|
||||||
# Create empty configuration directores if they do not already exist
|
# Create empty configuration directores if they do not already exist
|
||||||
|
|
Loading…
Reference in a new issue