mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-05 09:43:42 +08:00
6742d11a0e
macOS ships with a stub `/usr/bin/python3` which by default opens a dialog to install the command line tools. As we run `python3` initially at launch, this causes the dialog to appear on first run of fish, if the command line tools are not installed. Fix this by detecting the case of `/usr/bin/python3` on Darwin without the command line tools installed, and do not offer that as a viable python.
20 lines
723 B
Fish
20 lines
723 B
Fish
function __fish_anypython
|
|
# Try python3 first, because that's usually faster and generally nicer.
|
|
# Do not consider the stub /usr/bin/python3 that comes installed on Darwin to be Python
|
|
# unless Xcode reports a real directory path.
|
|
for py in python3 python3.{9,8,7,6,5,4,3} python2 python2.7 python
|
|
if set -l py_path (command -s $py)
|
|
if string match -q /usr/bin/python3 -- $py_path
|
|
and string match -q Darwin -- "$(uname)"
|
|
and type -q xcode-select
|
|
and not xcode-select --print-path &>/dev/null
|
|
continue
|
|
end
|
|
echo $py
|
|
return 0
|
|
end
|
|
end
|
|
# We have no python.
|
|
return 1
|
|
end
|