mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-03 08:23:51 +08:00
64dddfc6ce
On a commandline like "ls arg" (cursor at end) we do not expand abbrevations on enter. OTOH, on "ls " we do expand. This can be frustrating because it means that the two obvious ways to suppress abbrevation expansion (C-Space or post-expansion C-Z) cannot be used to suppress expansion of a command without arguments. (One workaround is "ls #".) Only expand-on-execute if the cursor is at the command name (no space in between). This is a strict improvement for realistic scenarios, because if there is a space, the user has already expressed the intent to not expand the abbreviation. (I hope no one is using recursive abbreviations.) Closes #8423
41 lines
1.2 KiB
Fish
41 lines
1.2 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
|
|
|
|
# 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
|