2022-01-27 15:53:56 -08:00
|
|
|
# Depending on cursor position and current mode, either search backward or move up one line"
|
2022-01-27 16:21:22 -08:00
|
|
|
function up-or-search -d "Search back or move cursor up 1 line"
|
2016-11-27 21:27:22 -08:00
|
|
|
# If we are already in search mode, continue
|
|
|
|
if commandline --search-mode
|
|
|
|
commandline -f history-search-backward
|
|
|
|
return
|
|
|
|
end
|
2007-09-22 00:05:49 +10:00
|
|
|
|
2016-11-27 21:27:22 -08:00
|
|
|
# If we are navigating the pager, then up always navigates
|
|
|
|
if commandline --paging-mode
|
|
|
|
commandline -f up-line
|
|
|
|
return
|
|
|
|
end
|
2014-01-18 12:42:53 -08:00
|
|
|
|
2016-11-27 21:27:22 -08:00
|
|
|
# We are not already in search mode.
|
|
|
|
# If we are on the top line, start search mode,
|
|
|
|
# otherwise move up
|
2020-05-15 21:34:48 +02:00
|
|
|
set -l lineno (commandline -L)
|
2007-09-22 00:05:49 +10:00
|
|
|
|
2016-11-27 21:27:22 -08:00
|
|
|
switch $lineno
|
|
|
|
case 1
|
|
|
|
commandline -f history-search-backward
|
2010-09-18 10:18:26 +08:00
|
|
|
|
2016-11-27 21:27:22 -08:00
|
|
|
case '*'
|
|
|
|
commandline -f up-line
|
|
|
|
end
|
2007-09-22 00:05:49 +10:00
|
|
|
end
|