aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2020-11-09 15:59:52 +0900
committeraycabta <aycabta@gmail.com>2020-12-05 02:58:58 +0900
commitdbfc1f30d59e595793aaf19fe2b774c103def087 (patch)
tree4f3b5363d76c90c38fe468bcbb94752898695490
parent48742614df2f68a682226613dcaefe3dea2b1cab (diff)
downloadruby-dbfc1f30d59e595793aaf19fe2b774c103def087.tar.gz
[ruby/reline] Add alias vi-movement-mode to vi-command-mode for compatibility
https://github.com/ruby/reline/commit/a79c297567
-rw-r--r--lib/reline/line_editor.rb1
-rw-r--r--test/reline/yamatanooroti/test_rendering.rb14
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index a6424efcc1..ea1c913ee9 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -1957,6 +1957,7 @@ class Reline::LineEditor
ed_prev_char(key)
@config.editing_mode = :vi_command
end
+ alias_method :vi_movement_mode, :vi_command_mode
private def vi_next_word(key, arg: 1)
if @line.bytesize > @byte_pointer
diff --git a/test/reline/yamatanooroti/test_rendering.rb b/test/reline/yamatanooroti/test_rendering.rb
index 8bd72db4ba..dea3e7ff47 100644
--- a/test/reline/yamatanooroti/test_rendering.rb
+++ b/test/reline/yamatanooroti/test_rendering.rb
@@ -384,6 +384,20 @@ begin
EOC
end
+ def test_binding_for_vi_movement_mode
+ write_inputrc <<~LINES
+ set editing-mode vi
+ "\\C-j": vi-movement-mode
+ LINES
+ start_terminal(5, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/bin/multiline_repl}, startup_message: 'Multiline REPL.')
+ write(":1234\C-jhhhi0")
+ close
+ assert_screen(<<~EOC)
+ Multiline REPL.
+ prompt> :01234
+ EOC
+ end
+
private def write_inputrc(content)
File.open(@inputrc_file, 'w') do |f|
f.write content