summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2021-09-27 04:24:06 +0900
committeraycabta <aycabta@gmail.com>2021-12-24 18:23:28 +0900
commitbad1e153d485cf7b68981a78e78e23c3f118c5a8 (patch)
tree69751bc2471c7c492b597e9053be5c176d152e1c /lib
parent6c3cc9c58ab95e963d6255d719e2248cafef7b49 (diff)
[ruby/reline] Implement em_kill_line
https://github.com/ruby/reline/commit/9fca6ceb45
Diffstat (limited to 'lib')
-rw-r--r--lib/reline/line_editor.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index a1f12f2cfa..d94821e6fe 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -2632,6 +2632,17 @@ class Reline::LineEditor
end
alias_method :unix_line_discard, :vi_kill_line_prev
+ private def em_kill_line(key)
+ if @line.size > 0
+ @kill_ring.append(@line.dup, true)
+ @line.clear
+ @byte_pointer = 0
+ @cursor_max = 0
+ @cursor = 0
+ end
+ end
+ alias_method :kill_whole_line, :em_kill_line
+
private def em_delete(key)
if (not @is_multiline and @line.empty?) or (@is_multiline and @line.empty? and @buffer_of_lines.size == 1)
@line = nil