fish-shell/share/functions/down-or-search.fish
Johannes Altmanninger 49c5f96470 Use set -l to force use of a local variable
Bare set overwrites a global/universal variable if it exists.
2020-05-15 08:25:07 +02:00

28 lines
789 B
Fish

function down-or-search -d "Depending on cursor position and current mode, either search forward or move down one line"
# If we are already in search mode, continue
if commandline --search-mode
commandline -f history-search-forward
return
end
# If we are navigating the pager, then up always navigates
if commandline --paging-mode
commandline -f down-line
return
end
# We are not already in search mode.
# If we are on the bottom line, start search mode,
# otherwise move down
set -l lineno (commandline -L)
set -l line_count (count (commandline))
switch $lineno
case $line_count
commandline -f history-search-forward
case '*'
commandline -f down-line
end
end