Consolidate some calls to uname(1) around shell startup

Most versions of fish don't run any external processes at startup, except
maybe fish_vcs_prompt.  This changed recently with a couple additions of uname.
This is probably fine but I guess we can reduce it down to one.

This change feels somewhat wrong. Not sure.  I guess we can remove it once
we provide $OSTYPE.

Note that this is also the reason why bindings don't use

	bind alt-backspace 'if test "$(uname)" = Darwin ...'

We don't want to expose a private interface in "bind" output.
This commit is contained in:
Johannes Altmanninger
2025-03-05 00:35:54 +01:00
parent ce40229da6
commit 49023adec7
5 changed files with 13 additions and 10 deletions

View File

@@ -55,7 +55,7 @@ function fish_default_key_bindings -d "emacs-like key binds"
bind --preset $argv alt-u upcase-word
bind --preset $argv alt-c capitalize-word
if set -q XPC_FLAGS || set -q __CFBundleIdentifier || test (uname) = Darwin
if test (__fish_uname) = Darwin
bind --preset $argv alt-backspace backward-kill-word
bind --preset $argv ctrl-backspace backward-kill-token
bind --preset $argv alt-delete kill-word