File tree Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Original file line number Diff line number Diff line change @@ -2552,6 +2552,17 @@ def finish
2552
2552
end
2553
2553
alias_method :unix_line_discard , :vi_kill_line_prev
2554
2554
2555
+ private def em_kill_line ( key )
2556
+ if @line . size > 0
2557
+ @kill_ring . append ( @line . dup , true )
2558
+ @line . clear
2559
+ @byte_pointer = 0
2560
+ @cursor_max = 0
2561
+ @cursor = 0
2562
+ end
2563
+ end
2564
+ alias_method :kill_whole_line , :em_kill_line
2565
+
2555
2566
private def em_delete ( key )
2556
2567
if ( not @is_multiline and @line . empty? ) or ( @is_multiline and @line . empty? and @buffer_of_lines . size == 1 )
2557
2568
@line = nil
Original file line number Diff line number Diff line change @@ -254,6 +254,34 @@ def test_ed_kill_line
254
254
assert_line ( 'ab' )
255
255
end
256
256
257
+ def test_em_kill_line
258
+ @line_editor . input_key ( Reline ::Key . new ( :em_kill_line , :em_kill_line , false ) )
259
+ assert_byte_pointer_size ( '' )
260
+ assert_cursor ( 0 )
261
+ assert_cursor_max ( 0 )
262
+ assert_line ( '' )
263
+ input_keys ( 'abc' )
264
+ @line_editor . input_key ( Reline ::Key . new ( :em_kill_line , :em_kill_line , false ) )
265
+ assert_byte_pointer_size ( '' )
266
+ assert_cursor ( 0 )
267
+ assert_cursor_max ( 0 )
268
+ assert_line ( '' )
269
+ input_keys ( 'abc' )
270
+ input_keys ( "\C -b" , false )
271
+ @line_editor . input_key ( Reline ::Key . new ( :em_kill_line , :em_kill_line , false ) )
272
+ assert_byte_pointer_size ( '' )
273
+ assert_cursor ( 0 )
274
+ assert_cursor_max ( 0 )
275
+ assert_line ( '' )
276
+ input_keys ( 'abc' )
277
+ input_keys ( "\C -a" , false )
278
+ @line_editor . input_key ( Reline ::Key . new ( :em_kill_line , :em_kill_line , false ) )
279
+ assert_byte_pointer_size ( '' )
280
+ assert_cursor ( 0 )
281
+ assert_cursor_max ( 0 )
282
+ assert_line ( '' )
283
+ end
284
+
257
285
def test_ed_move_to_beg
258
286
input_keys ( 'abd' )
259
287
assert_byte_pointer_size ( 'abd' )
You can’t perform that action at this time.
0 commit comments