[ruby/reline] Add key bindings for PgUp and PgDn

(https://github.com/ruby/reline/pull/509)

* Add key bindings for PgUp, PgDn

* Match behavior of readline 8.2

In the latest readline (8.2), page-up and page-down are bound to
history-search-backward and history-search-forward by default.

We would like reline to have the same default behavior.
This commit is contained in:
Phillip Hellewell 2023-03-21 08:48:25 -06:00 коммит произвёл git
Родитель 9b85ff01a1
Коммит f67f0d7268
2 изменённых файлов: 16 добавлений и 0 удалений

Просмотреть файл

@ -8,6 +8,8 @@ class Reline::ANSI
'khome' => :ed_move_to_beg,
'kend' => :ed_move_to_end,
'kdch1' => :key_delete,
'kpp' => :ed_search_prev_history,
'knp' => :ed_search_next_history,
'kcuu1' => :ed_prev_history,
'kcud1' => :ed_next_history,
'kcuf1' => :ed_next_char,

Просмотреть файл

@ -33,6 +33,20 @@ class Reline::ANSI::TestWithTerminfo < Reline::TestCase
omit e.message
end
# PgUp key
def test_kpp
assert_key_binding(Reline::Terminfo.tigetstr('kpp'), :ed_search_prev_history)
rescue Reline::Terminfo::TerminfoError => e
omit e.message
end
# PgDn key
def test_knp
assert_key_binding(Reline::Terminfo.tigetstr('knp'), :ed_search_next_history)
rescue Reline::Terminfo::TerminfoError => e
omit e.message
end
# Up arrow key
def test_kcuu1
assert_key_binding(Reline::Terminfo.tigetstr('kcuu1'), :ed_prev_history)