fish-shell/share/functions
ridiculousfish a77bc70def fish_git_prompt: be careful about invoking git on macOS
git on macOS has two hazards:

1. It comes "preinstalled" as a stub which pops a dialog to install
   command line developer tools.

2. It may populate the xcrun cache when run for the first time, which
   may take several seconds.

We fix these as follows, both fixes limited to Darwin:

1. If git is `/usr/bin/git` and `xcode-select --print-path` fails,
   then do not run git automatically.

2. Second, if there is no file at `xcrun --show-cache-path`, we take it
   as an indication that the cache is not yet populated. In this case we
   run `git` in the background to populate the cache.

Credit to @floam for the idea.

Fixes #9343. Fixes #6625.
2022-12-27 11:48:58 -08:00
..
__fish_any_arg_in.fish completions/git: some improvements 2019-10-29 19:13:31 +01:00
__fish_anypython.fish anypython: Try supported numbered python3 versions 2020-05-10 22:49:25 +02:00
__fish_append.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_apropos.fish Fix apropos completions 2022-10-28 10:01:35 -07:00
__fish_argcomplete_complete.fish Run fish_indent on share/**.fish 2021-08-01 18:59:45 +02:00
__fish_cancel_commandline.fish Speed up default ^C action considerably 2020-06-29 19:41:33 -05:00
__fish_commandline_is_singlequoted.fish Also fix tokenizer_state in bracketed paste path 2021-04-20 15:29:28 +02:00
__fish_complete_atool_archive_contents.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_complete_bittorrent.fish added descriptions to __fish_print_addresses 2021-03-08 17:47:29 +01:00
__fish_complete_blockdevice.fish Three more of the same test -z thing. 2022-08-02 00:42:37 -07:00
__fish_complete_cd.fish Revert "Fix cd completions if a directory exists in $CDPATH and $PWD" 2017-10-16 19:33:38 +02:00
__fish_complete_clang.fish Run fish_indent on share/**.fish 2020-08-17 17:40:28 +02:00
__fish_complete_command.fish Complete empty subcomands consistently 2019-11-05 09:05:46 +01:00
__fish_complete_convert_options.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_complete_directories.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_complete_docutils.fish Use complete --keep-order with __fish_complete_suffix to prioritize files with matching suffixes 2020-12-23 19:14:10 +01:00
__fish_complete_ftp.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_complete_gpg.fish completions/gpg: list only secret for gpg options that manage secret keys 2022-02-19 13:48:20 +01:00
__fish_complete_gpg_key_id.fish Restyle codebase 2022-06-16 18:43:28 +02:00
__fish_complete_gpg_user_id.fish completions/gpg: list only secret for gpg options that manage secret keys 2022-02-19 13:48:20 +01:00
__fish_complete_group_ids.fish Complete IDs for unix users and groups that start with _ 2020-03-10 20:56:45 +01:00
__fish_complete_groups.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_complete_job_pids.fish Add a function to complete job PIDs. 2015-11-27 16:07:16 -08:00
__fish_complete_list.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_complete_lpr.fish Ensure short option description is not overridden 2022-02-02 18:19:15 -08:00
__fish_complete_lpr_option.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_complete_man.fish Fix apropos completions 2022-10-28 10:01:35 -07:00
__fish_complete_mount_opts.fish Run fish_indent on all non-test .fish files 2021-11-23 09:49:45 +01:00
__fish_complete_mysql.fish Use test command instead of bracket command 2021-11-26 16:55:50 -08:00
__fish_complete_netcat.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_complete_path.fish __fish_complete_path: guard against non-matching input 2020-12-12 08:22:45 +01:00
__fish_complete_pg_database.fish Improve psql completions and add some related commands (#6620) 2020-02-28 11:16:41 +01:00
__fish_complete_pg_user.fish Improve psql completions and add some related commands (#6620) 2020-02-28 11:16:41 +01:00
__fish_complete_pgrep.fish Rewrite __fish_complete_proc 2018-11-22 15:23:05 +01:00
__fish_complete_pids.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_complete_ppp_peer.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_complete_proc.fish Remove unused --inherit-variable 2020-04-21 21:11:26 +02:00
__fish_complete_ssh.fish improved SSH completions 2021-03-20 21:17:53 +01:00
__fish_complete_subcommand.fish __fish_complete_subcommand: (re)move confusing comment 2021-08-10 21:01:39 +02:00
__fish_complete_suffix.fish __fish_complete_suffix: complete all files, but sort files with matching suffix first 2020-12-23 19:14:10 +01:00
__fish_complete_user_at_hosts.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_complete_user_ids.fish Complete IDs for unix users and groups that start with _ 2020-03-10 20:56:45 +01:00
__fish_complete_users.fish Use the new string split --fields feature 2020-04-12 14:01:21 -07:00
__fish_complete_wireshark.fish Fix completion errors for tshark when running as root (#7858) 2021-03-23 20:40:44 +01:00
__fish_complete_zfs_mountpoint_properties.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_complete_zfs_pools.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_complete_zfs_ro_properties.fish completion helper functions: do not use gettext 2020-03-06 22:23:50 +01:00
__fish_complete_zfs_rw_properties.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_complete_zfs_write_once_properties.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_config_interactive.fish I ommitted a newline here 2022-08-31 22:15:56 -07:00
__fish_contains_opt.fish use the new set -a and set -p in our scripts 2017-08-04 18:02:24 -07:00
__fish_crux_packages.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_cursor_konsole.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_cursor_xterm.fish Revert "Switch to bare vars in our math invocations" 2017-09-09 23:35:47 -07:00
__fish_describe_command.fish Fix apropos completions 2022-10-28 10:01:35 -07:00
__fish_first_token.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_git_prompt.fish Move __fish_git_prompt -> fish_git_prompt 2019-02-10 14:44:50 +01:00
__fish_gnu_complete.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_hg_prompt.fish Rename __fish_hg_prompt -> fish_hg_prompt 2019-02-10 14:44:50 +01:00
__fish_is_first_arg.fish __fish_is_first_arg: only look at current process 2021-06-15 03:38:52 +02:00
__fish_is_first_token.fish Make __fish_is_nth_token and __fish_nth_token private again 2022-02-13 10:45:38 +01:00
__fish_is_git_repository.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_is_nth_token.fish Make __fish_is_nth_token and __fish_nth_token private again 2022-02-13 10:45:38 +01:00
__fish_is_switch.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_is_token_n.fish Make __fish_is_nth_token and __fish_nth_token private again 2022-02-13 10:45:38 +01:00
__fish_is_zfs_feature_enabled.fish Silence zpool errors 2022-07-24 17:45:46 +02:00
__fish_list_current_token.fish Stop printing extra newline when Alt-W or Alt-L is used with a multiline prompt 2022-07-06 16:31:17 +02:00
__fish_make_cache_dir.fish Run fish_indent on share/**.fish 2021-02-08 07:31:33 +01:00
__fish_make_completion_signals.fish Silence kill completions harder 2022-04-26 17:27:31 +02:00
__fish_man_page.fish Show manpage for command under cursor 2022-06-17 07:21:25 +02:00
__fish_md5.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
__fish_move_last.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_no_arguments.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_not_contain_opt.fish fix typo in error message 2017-06-09 12:12:36 -07:00
__fish_npm_helper.fish [npm/yarn] Add support for namespaced packages 2020-10-21 22:26:52 -05:00
__fish_nth_token.fish Make __fish_is_nth_token and __fish_nth_token private again 2022-02-13 10:45:38 +01:00
__fish_number_of_cmd_args_wo_opts.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_paginate.fish Provide functions to toggle commandline prefix/suffix 2021-06-23 20:51:20 +02:00
__fish_parent_directories.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_prepend_sudo.fish Provide functions to toggle commandline prefix/suffix 2021-06-23 20:51:20 +02:00
__fish_prev_arg_in.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_preview_current_file.fish new function __fish_preview_current_file to open file at the cursor in pager 2020-04-07 22:30:05 +02:00
__fish_print_addresses.fish added descriptions to __fish_print_addresses 2021-03-08 17:47:29 +01:00
__fish_print_apt_packages.fish Completions: Adjust apt-cache output limit 2022-10-03 18:31:40 -05:00
__fish_print_cmd_args.fish Add eselect, rc-update and rc-service completions. (These are utilities used by Gentoo Linux) 2013-11-27 18:36:05 +08:00
__fish_print_cmd_args_without_options.fish functions/__fish_print_cmd_args_without_options: Stringify 2019-01-26 19:20:16 +01:00
__fish_print_commands.fish Fix help thinking some docs are commands 2021-11-25 21:25:46 +01:00
__fish_print_debian_apache_confs.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_print_debian_apache_mods.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_print_debian_apache_sites.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_print_encodings.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_print_eopkg_packages.fish Add path mtime (#9057) 2022-07-18 20:39:01 +02:00
__fish_print_filesystems.fish feat: more completion for umount (#8908) 2022-04-26 21:11:54 +02:00
__fish_print_gpg_algo.fish refactor gpg.fish completions 2019-10-29 19:07:35 +01:00
__fish_print_groups.fish Added completions/translations for zfs and zpool 2017-12-21 16:39:06 +01:00
__fish_print_help.fish Check for less before calling it 2022-10-18 18:05:16 +02:00
__fish_print_hostnames.fish fix trailing comments in __fish_print_hostnames 2022-07-17 17:39:58 -05:00
__fish_print_interfaces.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_print_lpr_options.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_print_lpr_printers.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_print_modules.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_print_mounted.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_print_opkg_packages.fish __fish_print_packages: Extract the rest 2020-12-22 17:10:02 +01:00
__fish_print_packages.fish __fish_print_packages: Extract the rest 2020-12-22 17:10:02 +01:00
__fish_print_pacman_packages.fish Add path mtime (#9057) 2022-07-18 20:39:01 +02:00
__fish_print_pacman_repos.fish functions/__fish_print_pacman_repos.fish: fix 2019-10-26 18:11:29 +02:00
__fish_print_pipestatus.fish Fix typo in __fish_print_pipestatus 2021-03-07 12:51:57 +01:00
__fish_print_pkg_add_packages.fish __fish_print_packages: Break apart 2020-12-22 17:10:02 +01:00
__fish_print_pkg_packages.fish Run fish_indent on share/**.fish 2021-02-08 07:31:33 +01:00
__fish_print_port_packages.fish Add path mtime (#9057) 2022-07-18 20:39:01 +02:00
__fish_print_portage_available_pkgs.fish Rename functions to match others 2020-02-17 09:55:05 +01:00
__fish_print_portage_installed_pkgs.fish Rename functions to match others 2020-02-17 09:55:05 +01:00
__fish_print_portage_packages.fish __fish_print_packages: Extract the rest 2020-12-22 17:10:02 +01:00
__fish_print_portage_repository_paths.fish updated function __fish_print_portage_repository_paths.fish (#9012) 2022-06-16 00:27:42 +02:00
__fish_print_rpm_packages.fish Add path mtime (#9057) 2022-07-18 20:39:01 +02:00
__fish_print_service_names.fish Remove use of caret redirection from share/* 2018-04-01 13:42:38 -07:00
__fish_print_svn_rev.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_print_users.fish refactor the __*_users functions 2017-04-23 20:08:40 -07:00
__fish_print_VBox_vms.fish Add __fish_print_VBox_vms function 2016-12-21 14:51:48 +01:00
__fish_print_windows_drives.fish Run fish_indent over new Windows completions 2022-01-26 22:02:23 -08:00
__fish_print_windows_users.fish Run fish_indent over new Windows completions 2022-01-26 22:02:23 -08:00
__fish_print_xbps_packages.fish Add path mtime (#9057) 2022-07-18 20:39:01 +02:00
__fish_print_xdg_applications_directories.fish Fix xdg mimetype completion 2020-01-22 16:33:56 +01:00
__fish_print_xdg_mimetypes.fish Fix xdg mimetype completion 2020-01-22 16:33:56 +01:00
__fish_print_xwindows.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_print_zfs_snapshots.fish Reformat 2020-11-22 14:39:48 +01:00
__fish_ps.fish __fish_ps: Use builtin realpath 2020-04-21 21:11:26 +02:00
__fish_pwd.fish __fish_pwd: Just always define the cygwin version 2021-04-19 18:58:00 +02:00
__fish_seen_argument.fish Extend __fish_seen_argument to support raw arguments 2022-09-27 14:19:37 -05:00
__fish_seen_subcommand_from.fish Drop unneeded '--' when using set builtin in various places 2006-12-13 06:37:27 +10:00
__fish_set_locale.fish Also read /etc/default/locale for the locale 2021-12-18 08:57:22 +01:00
__fish_shared_key_bindings.fish Bind Shift+Return CSI u sequence to Return 2022-12-17 11:12:40 +01:00
__fish_should_complete_switches.fish Reformat all files 2019-05-05 12:09:25 +02:00
__fish_svn_prompt.fish Rename __fish_svn_prompt -> fish_svn_prompt 2019-02-10 14:44:50 +01:00
__fish_systemctl.fish systemctl completions: Use --plain where appropriate 2020-04-18 11:11:27 +02:00
__fish_systemctl_services.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_systemd_machine_images.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
__fish_systemd_machines.fish Revert "Move __fish_systemd_machines into machinectl completion script" 2019-12-09 21:07:21 +01:00
__fish_toggle_comment_commandline.fish fish_toggle_commandline: minor test cleanup 2022-08-02 00:30:06 -07:00
__fish_tokenizer_state.fish __fish_tokenizer_state: replace "str" with "state" (#8550) 2021-12-13 02:42:16 -08:00
__fish_use_subcommand.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_vcs_prompt.fish Rename __fish_vcs_prompt -> fish_vcs_prompt 2019-02-10 14:44:50 +01:00
__fish_whatis.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__fish_whatis_current_token.fish Stop printing extra newline when Alt-W or Alt-L is used with a multiline prompt 2022-07-06 16:31:17 +02:00
__terlar_git_prompt.fish Fix format string 2022-06-08 21:23:43 +02:00
_validate_int.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
abbr.fish Re-implement abbreviations as a built-in 2022-12-10 15:29:03 -08:00
alias.fish Add the possibility to ignore arguments in alliases (#9199) 2022-09-11 09:55:11 +02:00
cd.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
cdh.fish Three more of the same test -z thing. 2022-08-02 00:42:37 -07:00
contains_seq.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
diff.fish Colourise diff(1) output, if supported (#7308) 2020-09-04 18:43:09 +02:00
dirh.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
dirs.fish Fix dirs returns false when $dirstack is empty 2021-08-09 12:43:03 +02:00
down-or-search.fish Shorten more. 2022-01-27 16:21:22 -08:00
edit_command_buffer.fish edit_command_buffer: ignore user remappings for vim 2022-05-26 13:15:15 +02:00
export.fish Fix export returning 1 on success 2017-10-01 01:11:17 -07:00
fish_add_path.fish Restyle codebase 2022-06-16 18:43:28 +02:00
fish_breakpoint_prompt.fish Revert "Switch to bare vars in our math invocations" 2017-09-09 23:35:47 -07:00
fish_clipboard_copy.fish fish_clipboard_copy: bypass tmux, write OSC 52 to the underlying terminal 2022-10-24 22:45:45 +02:00
fish_clipboard_paste.fish fish_clipboard_copy/paste: Handle redirected stdout/stdin 2022-10-19 20:10:26 +02:00
fish_command_not_found.fish Move executable-check to C++ 2022-03-31 15:16:01 +02:00
fish_commandline_append.fish Provide functions to toggle commandline prefix/suffix 2021-06-23 20:51:20 +02:00
fish_commandline_prepend.fish Add feature to fish_commandline_prepend and fix minor issue (#9261) 2022-10-06 14:27:28 -05:00
fish_config.fish fish_config: Pluralize $dir -> $dirs 2022-10-22 13:23:44 -05:00
fish_default_key_bindings.fish Update $fish_cursor_selection_mode in vi/default bindings 2022-11-01 19:04:55 +01:00
fish_default_mode_prompt.fish Shorten more. 2022-01-27 16:21:22 -08:00
fish_delta.fish Add a fish_delta helper function 2022-10-19 20:06:35 +02:00
fish_git_prompt.fish fish_git_prompt: be careful about invoking git on macOS 2022-12-27 11:48:58 -08:00
fish_greeting.fish fish_greeting: show private mode message if $fish_greeting is empty list 2021-05-05 18:53:51 +02:00
fish_hg_prompt.fish fish_hg_prompt should return 1 when not in a mercurial directory 2020-04-19 04:24:28 +02:00
fish_hybrid_key_bindings.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
fish_is_root_user.fish Add $EUID and use it in fish_is_root_user 2022-04-15 15:58:39 +02:00
fish_job_summary.fish git completions: undo mistaken set -f usage 2022-10-28 01:14:45 -07:00
fish_mode_prompt.fish Added default mode prompt function (#3727) 2017-01-12 16:07:41 +01:00
fish_opt.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
fish_print_git_action.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
fish_print_hg_root.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
fish_prompt.fish default prompt: Use same status color as default theme 2022-07-19 17:05:48 +02:00
fish_status_to_signal.fish Shorten more. 2022-01-27 16:21:22 -08:00
fish_svn_prompt.fish Use test command instead of bracket command 2021-11-26 16:55:50 -08:00
fish_title.fish Use old-school "()" command substitution in fish_title 2022-03-14 18:15:06 +01:00
fish_update_completions.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
fish_vcs_prompt.fish Shorten more. 2022-01-27 16:21:22 -08:00
fish_vi_cursor.fish fish_vi_cursor: Use xterm sequence for iterm 2022-09-26 17:06:14 +02:00
fish_vi_key_bindings.fish Update $fish_cursor_selection_mode in vi/default bindings 2022-11-01 19:04:55 +01:00
funced.fish funced: skip indent step if fish_indent not installed 2022-10-30 22:27:34 -07:00
funcsave.fish Put funcsave long option back 2022-03-24 20:11:39 +01:00
grep.fish reformat all fish scripts 2016-11-27 21:27:22 -08:00
help.fish help: Handle the missing builtin aliases : and [ 2022-08-12 20:45:20 +02:00
history.fish Check for less before calling it 2022-10-18 18:05:16 +02:00
isatty.fish Use the newly fixed test -t in isatty 2020-09-16 21:02:59 +02:00
la.fish Use --almost-all in la function 2021-12-02 02:22:40 -08:00
ll.fish Remove completion files for ls aliases; just use function --wraps 2021-04-16 17:40:55 +02:00
ls.fish Reapply -F 2021-09-24 18:25:27 +02:00
man.fish man: Remove useless dirname call 2021-05-14 21:49:53 +02:00
N_.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
nextd.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
open.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
popd.fish Revert "convert popd and pushd to use argparse" 2017-09-14 12:36:37 +08:00
prevd.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
prompt_hostname.fish prompt_* functions: shorten their descriptions 2022-01-22 20:06:37 -08:00
prompt_login.fish prompt_* functions: shorten their descriptions 2022-01-22 20:06:37 -08:00
prompt_pwd.fish prompt_pwd: Escape $HOME 2022-09-04 09:18:57 +02:00
psub.fish share/functions: account for the possibility of mktemp failure. 2020-11-14 15:57:42 +01:00
pushd.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
realpath.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
seq.fish Make more of the functions in share/functions print error messages to stderr 2022-04-04 18:26:14 +02:00
setenv.fish fix setenv and add unit tests 2017-04-05 15:31:13 -07:00
suspend.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
trap.fish Add new line between each trap -p output function 2022-10-24 15:36:02 -05:00
umask.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
up-or-search.fish Shorten more. 2022-01-27 16:21:22 -08:00
vared.fish Fix vared of indexed value 2022-04-23 16:35:52 -07:00