summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/reline/ansi.rb2
-rw-r--r--test/reline/test_ansi_with_terminfo.rb14
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/reline/ansi.rb b/lib/reline/ansi.rb
index 42a3913387..06ea9efd09 100644
--- a/lib/reline/ansi.rb
+++ b/lib/reline/ansi.rb
@@ -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,
diff --git a/test/reline/test_ansi_with_terminfo.rb b/test/reline/test_ansi_with_terminfo.rb
index a6c3a5e500..d7f61806a6 100644
--- a/test/reline/test_ansi_with_terminfo.rb
+++ b/test/reline/test_ansi_with_terminfo.rb
@@ -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)