mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-24 17:46:01 +08:00
d4ecea56df
Given "abbr foo something", the input sequence foo<space><ctrl-z><space> would re-expand the abbreviation on the second space which is surprising because the cursor is not at or inside the command token. This looks to be a regression from00432df42
(Trigger abbreviations after inserting process separators, 2024-04-13) Happily,69583f303
(Allow restricting abbreviations to specific commands (#10452), 2024-04-24) made some changes that mean the bad commit seems no longer necessary. Not sure why it works but I'll take it.
46 lines
1.3 KiB
Fish
46 lines
1.3 KiB
Fish
#RUN: %fish %s
|
|
#REQUIRES: command -v tmux
|
|
|
|
set -g isolated_tmux_fish_extra_args -C '
|
|
set -g fish_autosuggestion_enabled 0
|
|
function abbr-test
|
|
end
|
|
abbr -g abbr-test "abbr-test [expanded]"
|
|
'
|
|
isolated-tmux-start
|
|
|
|
# Expand abbreviations on space.
|
|
isolated-tmux send-keys abbr-test Space arg1 Enter
|
|
tmux-sleep
|
|
# CHECK: prompt {{\d+}}> abbr-test [expanded] arg1
|
|
|
|
# Expand abbreviations at the cursor when executing.
|
|
isolated-tmux send-keys abbr-test Enter
|
|
tmux-sleep
|
|
# CHECK: prompt {{\d+}}> abbr-test [expanded]
|
|
|
|
# Use Control+Z right after abbreviation expansion, to keep going without expanding.
|
|
isolated-tmux send-keys abbr-test Space C-z arg2 Enter
|
|
tmux-sleep
|
|
# CHECK: prompt {{\d+}}> abbr-test arg2
|
|
|
|
# Same with a redundant space; it does not expand abbreviations.
|
|
isolated-tmux send-keys C-u abbr-test Space C-z Space arg2 Enter
|
|
tmux-sleep
|
|
# CHECK: prompt {{\d+}}> abbr-test arg2
|
|
|
|
# Or use Control+Space ("bind -k nul") to the same effect.
|
|
isolated-tmux send-keys abbr-test C-Space arg3 Enter
|
|
tmux-sleep
|
|
# CHECK: prompt {{\d+}}> abbr-test arg3
|
|
|
|
# Do not expand abbrevation if the cursor is not at the command, even if it's just white space.
|
|
# This makes the behavior more consistent with the above two scenarios.
|
|
isolated-tmux send-keys abbr-test C-Space Enter
|
|
tmux-sleep
|
|
# CHECK: prompt {{\d+}}> abbr-test
|
|
|
|
# CHECK: prompt {{\d+}}>
|
|
|
|
isolated-tmux capture-pane -p
|