summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtávio Schwanck dos Santos <otavioschwanck@gmail.com>2022-09-20 14:40:48 +0100
committergit <svn-admin@ruby-lang.org>2022-09-22 22:28:38 +0900
commit696e8914b74cd10047917ce677b1872ae1f04660 (patch)
tree51bd8a34ff8fdb36ee31ba0db983cfaa08a14782
parent9d19d910c077d40a1d60d36baa4458926df857d4 (diff)
[ruby/reline] PR changes
https://github.com/ruby/reline/commit/e8e8d81f47
-rw-r--r--lib/reline/line_editor.rb2
-rw-r--r--test/reline/test_key_actor_vi.rb12
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index 9703a8c9f3..8153aaba05 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -1430,7 +1430,7 @@ class Reline::LineEditor
if @waiting_operator_proc
if VI_MOTIONS.include?(method_symbol)
old_cursor, old_byte_pointer = @cursor, @byte_pointer
- @vi_arg = @waiting_operator_vi_arg if (@waiting_operator_vi_arg || 1) > 1
+ @vi_arg = @waiting_operator_vi_arg if @waiting_operator_vi_arg&.> 1
block.(true)
unless @waiting_proc
cursor_diff, byte_pointer_diff = @cursor - old_cursor, @byte_pointer - old_byte_pointer
diff --git a/test/reline/test_key_actor_vi.rb b/test/reline/test_key_actor_vi.rb
index b3d49c9bbb..5a8c4ac64d 100644
--- a/test/reline/test_key_actor_vi.rb
+++ b/test/reline/test_key_actor_vi.rb
@@ -1454,4 +1454,16 @@ class Reline::KeyActor::ViInsert::Test < Reline::TestCase
assert_cursor_max(1)
assert_line('c')
end
+
+ def test_vi_motion_operators
+ assert_instance_of(Reline::KeyActor::ViInsert, @config.editing_mode)
+
+ begin
+ input_keys("test = { foo: bar }\C-[BBBldt}b")
+
+ assert true
+ rescue NoMethodError
+ assert false
+ end
+ end
end