mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-12 21:18:53 +00:00
0e512f8033
The result of
commandline -i ": '$(seq $LINES)"\n"first scrolled line'"
is a commandline that is scrolled by one line.
Before executing that commandline, we move the cursor down by one
too many line. This is a regression from 610338cc70
(On undo after
execute, restore the cursor position, 2024-12-21). Fix that.
The test also demonstrates an unrelated problem, probably specific
to tmux.
66 lines
1.7 KiB
Fish
66 lines
1.7 KiB
Fish
#RUN: %fish %s
|
|
#REQUIRES: command -v tmux
|
|
# Somehow $LINES is borked on NetBSD?
|
|
#REQUIRES: test $(uname) != NetBSD
|
|
|
|
isolated-tmux-start
|
|
|
|
isolated-tmux send-keys 'echo LINES $LINES' Enter
|
|
tmux-sleep
|
|
isolated-tmux capture-pane -p
|
|
# CHECK: prompt 0> echo LINES $LINES
|
|
# CHECK: LINES 10
|
|
# CHECK: prompt 1>
|
|
|
|
isolated-tmux send-keys 'bind alt-g "commandline -p -C -- -4"' Enter C-l
|
|
isolated-tmux send-keys 'echo bar|cat' \eg foo
|
|
tmux-sleep
|
|
isolated-tmux capture-pane -p
|
|
# CHECK: prompt 2> echo foobar|cat
|
|
|
|
isolated-tmux send-keys C-k C-u C-l 'commandline -i "\'$(seq $LINES)" scroll_here' Enter
|
|
tmux-sleep
|
|
isolated-tmux capture-pane -p
|
|
# CHECK: 2
|
|
# CHECK: 3
|
|
# CHECK: 4
|
|
# CHECK: 5
|
|
# CHECK: 6
|
|
# CHECK: 7
|
|
# CHECK: 8
|
|
# CHECK: 9
|
|
# CHECK: 10
|
|
# CHECK: scroll_here
|
|
|
|
# The output is broken here (seems tmux specific).
|
|
isolated-tmux send-keys C-c
|
|
tmux-sleep
|
|
isolated-tmux send-keys C-l 'commandline -i ": \'$(seq $LINES)" A B "C\'"' Enter Enter
|
|
tmux-sleep
|
|
isolated-tmux capture-pane -p
|
|
# CHECK: 4
|
|
# CHECK: 5
|
|
# CHECK: 6
|
|
# CHECK: 7
|
|
# CHECK: 8
|
|
# CHECK: 9
|
|
# CHECK: 10
|
|
# CHECK: prompt 5>
|
|
# CHECK: B
|
|
# CHECK: C'
|
|
|
|
# Soft-wrapped commandline with omitted right prompt.
|
|
isolated-tmux send-keys C-c
|
|
tmux-sleep
|
|
isolated-tmux send-keys C-l '
|
|
function fish_right_prompt
|
|
echo right-prompt
|
|
end
|
|
commandline -i "echo $(printf %0"$COLUMNS"d)"
|
|
' Enter
|
|
tmux-sleep
|
|
isolated-tmux capture-pane -p | sed 1,5d
|
|
# CHECK: prompt {{\d+}}> echo 00000000000000000000000000000000000000000000000000000000000000000
|
|
# CHECK: 000000000000000
|
|
# CHECK: 00000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|
# CHECK: prompt {{\d+}}> right-prompt
|