2007-09-21 14:11:21 +00:00
|
|
|
function down-or-search -d "Depending on cursor position and current mode, either search forward or move down one line"
|
2016-11-28 05:27:22 +00:00
|
|
|
# If we are already in search mode, continue
|
|
|
|
if commandline --search-mode
|
|
|
|
commandline -f history-search-forward
|
|
|
|
return
|
|
|
|
end
|
2007-09-21 14:05:49 +00:00
|
|
|
|
2016-11-28 05:27:22 +00:00
|
|
|
# If we are navigating the pager, then up always navigates
|
|
|
|
if commandline --paging-mode
|
|
|
|
commandline -f down-line
|
|
|
|
return
|
|
|
|
end
|
2014-01-25 23:32:13 +00:00
|
|
|
|
|
|
|
|
2016-11-28 05:27:22 +00:00
|
|
|
# We are not already in search mode.
|
|
|
|
# If we are on the bottom line, start search mode,
|
|
|
|
# otherwise move down
|
|
|
|
set lineno (commandline -L)
|
|
|
|
set line_count (count (commandline))
|
2007-09-21 14:05:49 +00:00
|
|
|
|
2016-11-28 05:27:22 +00:00
|
|
|
switch $lineno
|
|
|
|
case $line_count
|
|
|
|
commandline -f history-search-forward
|
2010-09-18 02:18:26 +00:00
|
|
|
|
2016-11-28 05:27:22 +00:00
|
|
|
case '*'
|
|
|
|
commandline -f down-line
|
|
|
|
end
|
2007-09-21 14:05:49 +00:00
|
|
|
end
|