fish-shell/share/functions
Johannes Altmanninger 789a280ee8 Fix {Alt,Shift}-Return bindings not expanding abbreviations
Today,

    bind foo "commandline -f expand-abbr; commandline -i \n"

does not work because this
1. enqueues an expand-abbr readline event
2. "commandline -i" inserts \n
3. processes the expand-abbr readline event

Since there is no abbreviation on the new line, this doesn't do anything.

PR https://github.com/fish-shell/fish-shell/pull/9398 would fix this
particular instance however it does not fix the issue that "commandline -i"
is run before the expand-abbr is processed by the reader. This is harmless
here but there would be a problem if "commandline" tried to read commandline
state that was created by a preceding command.

It's not super clear to me whether the above binding should work as one
would naively expect. That would imply that "commandline" would need to
drain all input events (at least all synthetic ones) from the input queue,
to ensure it sees the current state.

Fortunately the parent commit makes it so if we separate them

    bind foo "commandline -f expand-abbr" "commandline -i \n"

both will be separate events and the commandline state will be synced after
each of them. This fixes abbreviation expansion here.

Also, we can now mix readline cmds and shell commands, which makes it shorter.
2024-03-23 10:06:11 +01:00
..
__fish_any_arg_in.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_anyeditor.fish Open command script in external editor on Alt+o 2024-02-07 00:07:47 +01:00
__fish_anypager.fish __fish_anypager: prefer less over other pagers 2023-12-17 17:12:13 +01:00
__fish_anypython.fish anypython: Add more versions 2024-01-27 18:47:38 +01:00
__fish_append.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_apropos.fish Force use of macOS's builtin manpath 2023-06-06 13:12:30 -05:00
__fish_argcomplete_complete.fish Run fish_indent on share/**.fish 2021-08-01 18:59:45 +02:00
__fish_cache_sourced_completions.fish Format __fish_cache_sourced_completions 2024-02-26 16:17:47 +01: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 completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01: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
__fish_complete_clang.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_complete_command.fish __fish_complete_command: Fix --foo= logic 2023-09-10 18:16:41 +02:00
__fish_complete_convert_options.fish Don't use abbreviated long options 2020-09-19 11:47:41 +02:00
__fish_complete_directories.fish __fish_complete_directories: Remove --foo= from token 2023-03-27 22:57:34 +02:00
__fish_complete_docutils.fish Fixes #8924 via __fish_complete_suffix overhaul 2023-03-12 22:07:44 -05:00
__fish_complete_ftp.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +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_gpg.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +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 Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_complete_job_pids.fish
__fish_complete_list.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_complete_lpr_option.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_complete_lpr.fish Ensure short option description is not overridden 2022-02-02 18:19:15 -08:00
__fish_complete_man.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01: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 completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01: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: Also use an empty command 2023-02-14 17:09:58 +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 Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +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
__fish_complete_proc.fish Remove unused --inherit-variable 2020-04-21 21:11:26 +02:00
__fish_complete_ssh.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_complete_subcommand.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_complete_suffix.fish Fixes #8924 via __fish_complete_suffix overhaul 2023-03-12 22:07:44 -05: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 Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +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
__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 Disable reflow handling for WezTerm too 2023-09-22 17:13:28 +02:00
__fish_contains_opt.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_crux_packages.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_cursor_konsole.fish
__fish_cursor_xterm.fish __fish_cursor_xterm: Ignore unknown cursor settings 2023-03-31 20:07:54 +02:00
__fish_describe_command.fish Fix apropos completions 2022-10-28 10:01:35 -07:00
__fish_edit_command_if_at_cursor.fish Open command script in external editor on Alt+o 2024-02-07 00:07:47 +01:00
__fish_first_token.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_git_prompt.fish
__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
__fish_is_first_arg.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_is_first_token.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_is_git_repository.fish
__fish_is_nth_token.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_is_switch.fish
__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 Simplify and fix __fish_is_zfs_feature_enabled (#9939) 2023-08-09 17:28:01 +02:00
__fish_list_current_token.fish fix __fish_list_current_token not recognizing ~ as $HOME (#9954) 2023-08-16 22:05:59 +02:00
__fish_make_cache_dir.fish __fish_make_cache_dir: Create fish subdir and optionally deeper 2024-01-21 14:18:50 +01:00
__fish_make_completion_signals.fish __fish_make_completion_signals: Check for "kill" 2023-01-29 14:44:59 +01:00
__fish_man_page.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01: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 Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_not_contain_opt.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_npm_helper.fish Restyle fishscript and python 2023-06-01 18:20:19 +02:00
__fish_nth_token.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +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 Add __fish_anypager helper 2023-11-20 17:16:35 +01:00
__fish_parent_directories.fish
__fish_prepend_sudo.fish Provide functions to toggle commandline prefix/suffix 2021-06-23 20:51:20 +02:00
__fish_prev_arg_in.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_preview_current_file.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_print_addresses.fish added descriptions to __fish_print_addresses 2021-03-08 17:47:29 +01:00
__fish_print_apt_packages.fish print_apt_packages: Go back to apt-cache for non-installed packages 2023-08-22 22:17:22 +02:00
__fish_print_cmd_args_without_options.fish
__fish_print_cmd_args.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +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
__fish_print_debian_apache_mods.fish
__fish_print_debian_apache_sites.fish
__fish_print_encodings.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
__fish_print_eopkg_packages.fish Rename existing cache files 2024-01-21 14:18:50 +01: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
__fish_print_help.fish Add __fish_anypager helper 2023-11-20 17:16:35 +01:00
__fish_print_hostnames.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_print_interfaces.fish Use path basename 2023-04-26 19:38:10 +02:00
__fish_print_lpr_options.fish
__fish_print_lpr_printers.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_print_modules.fish
__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 Rename existing cache files 2024-01-21 14:18:50 +01: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 Rename existing cache files 2024-01-21 14:18:50 +01:00
__fish_print_portage_available_pkgs.fish completions/portage: Fix errors with unreadable files 2023-01-19 17:13:13 +01:00
__fish_print_portage_installed_pkgs.fish completions/portage: Fix errors with unreadable files 2023-01-19 17:13:13 +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 completions/portage: Fix errors with unreadable files 2023-01-19 17:13:13 +01:00
__fish_print_rpm_packages.fish Rename existing cache files 2024-01-21 14:18:50 +01:00
__fish_print_service_names.fish
__fish_print_svn_rev.fish
__fish_print_users.fish
__fish_print_VBox_vms.fish
__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 Rename existing cache files 2024-01-21 14:18:50 +01: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
__fish_print_zfs_snapshots.fish Reformat 2020-11-22 14:39:48 +01:00
__fish_ps.fish Remove two calls to builtin realpath 2023-09-29 16:47:00 +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 Fix stale name of --tokens-expand option 2024-01-27 20:09:33 +01:00
__fish_seen_subcommand_from.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01: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 Fix {Alt,Shift}-Return bindings not expanding abbreviations 2024-03-23 10:06:11 +01:00
__fish_should_complete_switches.fish
__fish_svn_prompt.fish
__fish_systemctl_services.fish dogfood string split -f 2020-04-20 22:39:48 +02:00
__fish_systemctl.fish completion: adopt commandline -x replacing deprecated -o 2024-01-27 09:28:06 +01:00
__fish_systemd_machine_images.fish
__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 Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
__fish_vcs_prompt.fish
__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
__fish_whatis.fish Fix extra or missing newlines at end of file in our fish scripts 2020-08-09 23:53:46 +02:00
__ssh_history_completions.fish completion/ssh-copy-id: add completion (#9675) 2023-03-22 12:24:18 -05: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 alias: Escape the function name when replacing 2023-06-17 07:46:07 +02:00
cd.fish functions/cd: Optimize check for too many args 2023-07-11 18:01:29 +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 Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
edit_command_buffer.fish edit_command_buffer: preserve external editor's cursor position 2024-03-10 11:08:12 +01:00
export.fish
fish_add_path.fish Restyle codebase 2022-06-16 18:43:28 +02:00
fish_breakpoint_prompt.fish
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 remove repetitive words (#10348) 2024-03-07 18:35:41 -06:00
fish_default_key_bindings.fish history pager: delete selected history entry with Shift-Delete 2023-07-04 18:42:11 +02:00
fish_default_mode_prompt.fish Shorten more. 2022-01-27 16:21:22 -08:00
fish_delta.fish Add __fish_anypager helper 2023-11-20 17:16:35 +01:00
fish_fossil_prompt.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
fish_git_prompt.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01: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
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 Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01: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 feat: add support for fossil-scm in prompt (#9500) 2023-01-29 16:54:39 +01:00
fish_vi_cursor.fish Call fish_vi_cursor_handle also for interactive read 2024-01-27 20:13:47 +01:00
fish_vi_key_bindings.fish Vi bindings: Control-N to accept autosuggestion 2024-03-09 11:03:57 +01:00
funced.fish Always source file after funced (#10318) 2024-02-22 12:45:20 -06:00
funcsave.fish funcsave: Always use local $funcdir 2023-10-19 22:36:58 +02:00
grep.fish
help.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01:00
history.fish history: fix deleting last entry 2024-01-04 16:10:08 +01: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 Additional checks for -F support 2023-11-07 17:45:45 +01:00
man.fish man: Reroute ".",":","[" to the proper names 2023-02-07 19:23:26 +01:00
N_.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01: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 open: Don't run xdg-open in the background 2023-10-04 15:57:32 +02:00
popd.fish Reformat share/**.fish with newlines collapsed 2024-02-27 16:25:01 +01: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 functions: handle hostname starting with dash 2024-02-22 21:21:31 +08:00
prompt_login.fish prompt_* functions: shorten their descriptions 2022-01-22 20:06:37 -08:00
prompt_pwd.fish prompt_pwd: Fix missing -- 2023-12-25 18:46:23 +01: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
suspend.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
trap.fish Restyle fishscript and python 2023-06-01 18:20:19 +02:00
umask.fish umask: Correctly handle empty symbolic value 2023-12-31 19:39:23 +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