зеркало из https://github.com/github/ruby.git
The ed_move_to_beg is different from vi_first_print
This commit is contained in:
Родитель
65fdb90325
Коммит
3428922437
|
@ -189,7 +189,7 @@ class Reline::KeyActor::ViCommand < Reline::KeyActor::Base
|
|||
# 93 ]
|
||||
:ed_unassigned,
|
||||
# 94 ^
|
||||
:ed_move_to_beg,
|
||||
:vi_first_print,
|
||||
# 95 _
|
||||
:vi_history_word,
|
||||
# 96 `
|
||||
|
|
|
@ -1016,8 +1016,12 @@ class Reline::LineEditor
|
|||
ed_prev_char(key, arg: arg) if arg > 0
|
||||
end
|
||||
|
||||
private def vi_first_print(key)
|
||||
@byte_pointer, @cursor = Reline::Unicode.vi_first_print(@line)
|
||||
end
|
||||
|
||||
private def ed_move_to_beg(key)
|
||||
@byte_pointer, @cursor = Reline::Unicode.ed_move_to_begin(@line)
|
||||
@byte_pointer = @cursor = 0
|
||||
end
|
||||
|
||||
private def ed_move_to_end(key)
|
||||
|
|
|
@ -407,7 +407,7 @@ class Reline::Unicode
|
|||
[byte_size, width]
|
||||
end
|
||||
|
||||
def self.ed_move_to_begin(line)
|
||||
def self.vi_first_print(line)
|
||||
width = 0
|
||||
byte_size = 0
|
||||
while (line.bytesize - 1) > byte_size
|
||||
|
|
|
@ -305,6 +305,17 @@ class Reline::KeyActor::Emacs::Test < Reline::TestCase
|
|||
assert_line('aABC012abcd')
|
||||
end
|
||||
|
||||
def test_ed_move_to_beg_with_blank
|
||||
input_keys(' abc')
|
||||
assert_byte_pointer_size(' abc')
|
||||
assert_cursor(5)
|
||||
assert_cursor_max(5)
|
||||
input_keys("\C-a", false)
|
||||
assert_byte_pointer_size('')
|
||||
assert_cursor(0)
|
||||
assert_cursor_max(5)
|
||||
end
|
||||
|
||||
def test_ed_move_to_end
|
||||
input_keys('abd')
|
||||
assert_byte_pointer_size('abd')
|
||||
|
|
|
@ -988,7 +988,7 @@ class Reline::KeyActor::ViInsert::Test < Reline::TestCase
|
|||
assert_line('abcde foo_bar_baz ABCDE')
|
||||
end
|
||||
|
||||
def test_ed_move_to_beg
|
||||
def test_vi_first_print
|
||||
input_keys("abcde\C-[^")
|
||||
assert_byte_pointer_size('')
|
||||
assert_cursor(0)
|
||||
|
@ -1005,6 +1005,23 @@ class Reline::KeyActor::ViInsert::Test < Reline::TestCase
|
|||
assert_cursor_max(17)
|
||||
end
|
||||
|
||||
def test_ed_move_to_beg
|
||||
input_keys("abcde\C-[0")
|
||||
assert_byte_pointer_size('')
|
||||
assert_cursor(0)
|
||||
assert_cursor_max(5)
|
||||
input_keys("0\C-ki")
|
||||
input_keys(" abcde\C-[0")
|
||||
assert_byte_pointer_size('')
|
||||
assert_cursor(0)
|
||||
assert_cursor_max(6)
|
||||
input_keys("0\C-ki")
|
||||
input_keys(" abcde ABCDE \C-[0")
|
||||
assert_byte_pointer_size('')
|
||||
assert_cursor(0)
|
||||
assert_cursor_max(17)
|
||||
end
|
||||
|
||||
def test_vi_delete_meta
|
||||
input_keys("aaa bbb ccc ddd eee\C-[02w")
|
||||
assert_byte_pointer_size('aaa bbb ')
|
||||
|
|
Загрузка…
Ссылка в новой задаче