fish-shell/tests/checks
Johannes Altmanninger 04c9134275 Limit command line rendering to $LINES lines
Render the command line buffer only until the last line we can fit
on the screen.

If the cursor pushes the viewport such that neither the prompt nor
the first line of the command line buffer are visible, then we are
"scrolled". In this case we need to make sure to erase any leftover
prompt, so add a hack to disable the "shared_prefix" optimization
that tries to minimize redraws.

Down-arrow scrolls down only when on the last line, and up-arrow always
scrolls up as much as possible.  This is somewhat unconventional;
probably we should change the up-arrow behavior but I guess it's a
good idea to show the prompt whenever possible.  In future we could
solve that in a different way: we could keep the prompt visible even
if we're scrolled. This would work well because at least the left
prompt lives in a different column from the command line buffer.
However this assumption breaks when the first line in the command
line buffer is soft-wrapped, so keep this approach for now.

Note that we're still broken when complete-and-search or history-pager
try to draw a pager on top of an overfull screen.  Will try to fix
this later.

Closes #7296
2024-10-25 17:35:42 +02:00
..
broken-config/fish Port config tests to littlecheck 2019-06-25 22:31:06 +02:00
abbr.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
alias.fish Support quoted escaping also when ' or \ is present 2024-04-13 15:33:05 +02:00
andandoror.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
andor.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
argparse.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
bad-option.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
basic.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
bind.fish Escape nonprintable characters when reporting invalid key name 2024-04-18 23:27:05 +02:00
braces.fish Stop using comma from command substitution in brace expansion 2024-04-26 18:15:47 +02:00
broken-config.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
builtinbuiltin.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
caller-exit.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
caller-observer.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
cd.fish Skip cd-without-read tests on NetBSD 2024-08-15 17:38:04 +02:00
check-all-fish-files.fish tests: Disable some slow tests under ASAN 2024-04-25 21:52:13 +02:00
check-completions.fish tests: Disable some slow tests under ASAN 2024-04-25 21:52:13 +02:00
check-translations.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
cmdsub-limit.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
cmdsub.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
colon-delimited-var.fish Clean up how PATH and CDPATH munging occurs 2019-11-02 16:48:08 -07:00
command-1.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
command-2.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
command-not-found.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
command-vars-persist.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
commandline.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
complete-group-order.fish complete: Sort --keep-order completions smaller 2024-10-05 13:53:02 +02:00
complete.fish __fish_seen_subcommand_from: Fix error when there's no second token 2024-08-08 21:20:07 +02:00
complete_directories.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
completion-autoload-tombstone.fish Make "complete -e" prevent completion autoloading 2024-08-24 08:30:52 +02:00
contains_opt.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
count.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
deep-cmdsub.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
default-setup-path.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
directory-redirect.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
disown-parent.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
empty.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
env.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
eval.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
exec.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
exit-status-with-closing-stderr.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
expansion.fish Expand tilde after brace expansion 2024-07-23 11:47:58 +02:00
fds.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-ampersand-nobg-in-token1.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-nocaret1.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-nocaret2.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-nocaret3.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-nocaret4.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-percent-self1.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-percent-self2.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-qmark1.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-qmark2.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-string-backslashes-off.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
features-string-backslashes.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
fish_add_path.fish fish_add_path: Be more informative in verbose mode 2024-06-06 16:47:39 +02:00
fish_exit.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
fish_user_paths.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
for.fish Push and pop for-block every run through the loop 2024-05-25 13:20:05 +02:00
function-definition.fish functions: Fix --argument-names display 2024-05-06 17:00:45 +02:00
function.fish function: Check if --argument-names gets a valid variable name 2024-05-06 17:00:45 +02:00
functions.fish Fix test_functions.fish for Ubuntu Noble Numbat Docker build 2024-04-28 10:38:26 +02:00
git.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
glob.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
history.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
indent.fish fish_indent: Truncate file to the size of the text 2024-09-16 21:08:53 +02:00
init-command-2.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
init-command-mix-ordering.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
init-command-mix.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
init-command.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
init-unreadable-cwd.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
invocation.fish Remove errant profiling enabling 2024-05-26 10:32:28 +02:00
job-control-noninteractive.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
job-control-not-a-tty.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
job-ids.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
jobs-are-escaped.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
jobs.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
line-continuation.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
line-number.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
locale-numeric.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
locale.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
loops.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
math.fish math: Nicer error for non-ascii-lowercase identifiers 2024-09-18 22:27:00 +02:00
no-config.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
no-execute.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
noshebang.fish tests: Fix noshebang test 2024-04-25 21:52:56 +02:00
not.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
nuls.fish Support quoted escaping also when ' or \ is present 2024-04-13 15:33:05 +02:00
path.fish Add path basename -E tests 2024-05-26 22:06:11 -05:00
pipeline-pgroup.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
pipestatus.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
print-help.fish tests: Remove skipped tests hack for Cmake < 3.9.0 2024-06-11 16:55:11 +02:00
printf.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
prompt.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
psub.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
random.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
rc-returned.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
read.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
realpath.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
redirect.fish Add <? input redirection 2024-04-21 14:35:13 +02:00
regex-import.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
return.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
scoping.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
self-signal-usr1.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
set.fish Remove usage of env -u 2024-05-30 12:14:43 -05:00
setenv.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
sigint.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
sigint2.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
signal.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
slices.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
source.fish Allow builtin source to read from non-regular files 2024-10-13 10:44:38 +02:00
stack-overflow.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
status-command.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
status-value.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
status.fish Deprecate builtin test's one- and zero-argument modes (#10365) 2024-04-21 14:25:54 +02:00
string-advanced.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
string.fish string: Also escape new lines with --style=regex 2024-07-16 17:05:11 -05:00
switch.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
symlinks-not-overwritten.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
syntax-error-location.fish Check for unsupported "time &" in the proper place 2024-05-03 09:37:56 +02:00
test-posix.fish Deprecate builtin test's one- and zero-argument modes (#10365) 2024-04-21 14:25:54 +02:00
test.fish Deprecate builtin test's one- and zero-argument modes (#10365) 2024-04-21 14:25:54 +02:00
threads.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
time.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
tmux-abbr.fish Fix regression spuriously expanding abbr with cursor outside token 2024-05-03 08:39:05 +02:00
tmux-bind.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
tmux-bind2.fish Update commandline state snapshot lazily 2024-04-13 14:36:11 +02:00
tmux-commandline.fish Limit command line rendering to $LINES lines 2024-10-25 17:35:42 +02:00
tmux-complete.fish Fix completion failing on unclosed brace with wildcard 2024-10-19 22:04:54 +02:00
tmux-history-search.fish shift-delete to delete current history search match 2024-04-13 20:23:51 +02:00
tmux-job.fish Work around more spurious test failures 2024-05-07 17:55:29 +02:00
tmux-multiline-prompt.fish Also refresh TTY timestamps after external commands from bindings 2024-10-21 12:13:00 +02:00
tmux-prompt.fish Mention in changelog that universal notifiers are not yet supported on BSD 2024-08-05 10:41:17 +02:00
tmux-signal.fish Send repaint requests through the input queue again 2024-04-19 12:05:27 +02:00
tmux-transient.fish Prevent out-of-order execution following repaint 2024-05-13 10:44:12 +02:00
trace.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
trap.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
trap_print.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
type.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
ulimit.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
umask.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
variable-assignment.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
vars_as_commands.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
version.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
wait.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
wildcard.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
wraps.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00
zero_based_array.fish tests: filter control sequences only when interactive 2024-04-12 12:28:22 +02:00