summaryrefslogtreecommitdiff
path: root/lib/reline/line_editor.rb
AgeCommit message (Collapse)Author
2021-01-18[ruby/reline] Support for change in Windows-specific behavior at eolaycabta
The behavior of automatically moving the cursor to the next line when displaying a char at the eol on Windows suddenly disappeared. https://github.com/ruby/reline/commit/cad4de6ee8
2021-01-18[ruby/reline] Initialize a variable just in caseaycabta
https://github.com/ruby/reline/commit/29b10f6e98
2021-01-13[ruby/reline] Move the cursor correctly when deleting at eolaycabta
This fixes ruby/reline#246. https://github.com/ruby/reline/commit/07a73ba601
2021-01-13[ruby/reline] Handle ed_search_{prev,next}_history in multiline correctlyaycabta
The current line was being handled incorrectly when displaying the hit history, so it has been fixed to be correct. https://github.com/ruby/reline/commit/a3df4343b3
2021-01-08[ruby/reline] Suppress auto indent for adding newlines in pastingaycabta
Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/074bb017a7
2021-01-08[ruby/reline] Suppress crashing when dynamic_prompt_proc returns a broken ↵aycabta
prompt list Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/558f7be168
2021-01-08[ruby/reline] Suppress crashing when auto_indent_proc returns broken indent infoaycabta
Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/7c24276275
2021-01-08[ruby/reline] Correct var names in Reline were different from vi-*-mode-stringaycabta
https://github.com/ruby/reline/commit/8255fc93b9
2021-01-08[ruby/reline] Update cursor correctly when just cursor movingaycabta
This fixes ruby/reline#236 and ruby/reline#239. https://github.com/ruby/reline/commit/3e3c89d00b
2020-12-24[ruby/reline] Doesn't contain terminate spaces by cwaycabta
This closes ruby/reline#233. https://github.com/ruby/reline/commit/4c3f2e2eae
2020-12-24[ruby/reline] Use #bytesize for vi_replace_charaycabta
This closes ruby/reline#228. https://github.com/ruby/reline/commit/8205fa0b00
2020-12-24[ruby/reline] Suppress crashing when boken prompt_list is givenaycabta
https://github.com/ruby/reline/commit/922d087e7a
2020-12-24[ruby/reline] Discard prompt cache by changing mode iconaycabta
https://github.com/ruby/reline/commit/bfeda8a79b
2020-12-22[ruby/reline] Support isearch-terminatorsaycabta
https://github.com/ruby/reline/commit/a7922da16b
2020-12-22[ruby/reline] Render refreshed prompt just after i-search finishedaycabta
https://github.com/ruby/reline/commit/0d3188fe34
2020-12-19[ruby/reline] Use cached prompt list when just moved the cursoraycabta
https://github.com/ruby/reline/commit/cfe619460b
2020-12-19[ruby/reline] Yank by em-kill-region correctlyaycabta
This closes ruby/reline#106. https://github.com/ruby/reline/commit/2549a52e15
2020-12-19[ruby/reline] Bind yank-pop correctlyaycabta
https://github.com/ruby/reline/commit/3c74beac65
2020-12-17[ruby/reline] Support longer than screen heightaycabta
https://github.com/ruby/reline/commit/e83a3de9ed
2020-12-17Fixing glitchy kill ring behavior in irbYale Kozinski
See https://github.com/ruby/irb/issues/85 for details Notes: Merged: https://github.com/ruby/ruby/pull/3806
2020-12-11[ruby/reline] Fix breaking to input Emoji with ZWJ.ima1zumi
https://github.com/ruby/reline/commit/f21dfdbb11
2020-12-08[ruby/reline] Editing to initial content is not just cursor movingaycabta
https://github.com/ruby/reline/commit/0a4f175b0a
2020-12-05[ruby/reline] Process insertion buffer forciblyaycabta
https://github.com/ruby/reline/commit/89d49ec9e0
2020-12-05[ruby/reline] Forced newline insertion is not just cursor movingaycabta
https://github.com/ruby/reline/commit/0e30a49d03
2020-12-05[ruby/reline] Drop prompt list cache when num of lines is changedaycabta
https://github.com/ruby/reline/commit/1959e22043
2020-12-05[ruby/reline] Cache dynamic prompt for 0.5secaycabta
https://github.com/ruby/reline/commit/06b89d0e61
2020-12-05[ruby/reline] Stop rerendering if the cursor is only movedaycabta
https://github.com/ruby/reline/commit/30e8eaf855
2020-12-05[ruby/reline] Split #rerender method that is too hugeaycabta
https://github.com/ruby/reline/commit/d0fbc89253
2020-12-05[ruby/reline] Stop rerendering whole screen when adding newline at end of bufferaycabta
The rendering time in IRB has been reduced as follows: start = Time.now def each_top_level_statement initialize_input catch(:TERM_INPUT) do loop do begin prompt unless l = lex throw :TERM_INPUT if @line == '' else @line_no += l.count("\n") next if l == "\n" @line.concat l if @code_block_open or @ltype or @continue or @indent > 0 next end end if @line != "\n" @line.force_encoding(@io.encoding) yield @line, @exp_line_no end break if @io.eof? @line = '' @exp_line_no = @line_no @indent = 0 rescue TerminateLineInput initialize_input prompt end end end end puts "Duration: #{Time.now - start} seconds" 0.33sec -> 0.22sec https://github.com/ruby/reline/commit/496c6a1892
2020-12-05[ruby/reline] Key strokes like 2dl should behave d2laycabta
Key strokes, vi arg, operator, and motion should be treated as operator, vi arg, and motion. https://github.com/ruby/reline/commit/d1a7e74aa4
2020-12-05[ruby/reline] Add alias vi-movement-mode to vi-command-mode for compatibilityaycabta
https://github.com/ruby/reline/commit/a79c297567
2020-12-05[ruby/reline] Move alias_method to right after original definitionaycabta
https://github.com/ruby/reline/commit/b7c8b93fa9
2020-12-05[ruby/reline] Call process_insert when the end of pasting plural fullwidth charsaycabta
https://github.com/ruby/reline/commit/594484d9f9
2020-12-05[ruby/reline] Motions e, E, t, f should include a char on cursor if follows ↵aycabta
operator https://github.com/ruby/reline/commit/86e9a76499
2020-12-05[ruby/reline] Implement vi_yankaycabta
https://github.com/ruby/reline/commit/164aaf9a5f
2020-12-05[ruby/reline] Operator with arg need to make sure that they take arg to ↵aycabta
avoid crashing https://github.com/ruby/reline/commit/1c0c06de1f
2020-12-05[ruby/reline] Unimplemented vi command should be no-opaycabta
https://github.com/ruby/reline/commit/abc90e6867
2020-12-05[ruby/reline] Keep operator proc as a local variable in the scopeaycabta
The proc variable will be used later so the instance variable will be changes. https://github.com/ruby/reline/commit/496c4361f6
2020-12-05[ruby/reline] Skip em_exchange_mark without markaycabta
https://github.com/ruby/reline/commit/abb56e5ec3
2020-12-05[ruby/reline] Continuous insertion bufferingaycabta
The rendering time in IRB has been reduced as follows: start = Time.now [{"_id"=>"5f9072a4589a06d2d74b6028", "index"=>0, "guid"=>"6b3051e2-dbc7-4537-bdb9-6cd7bb5358a7", "isActive"=>true, "balance"=>"$1,442.84", "picture"=>"http://placehold.it/32x32", "age"=>34, "eyeColor"=>"blue", "name"=>{"first"=>"Ward", "last"=>"Levy"}, "company"=>"HYPLEX", "email"=>"ward.levy@hyplex.us", "phone"=>"+1 (867) 568-3319", "address"=>"867 Cobek Court, Clara, Maryland, 3254", "about"=> "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing.", "registered"=>"Monday, May 25, 2015 6:51 AM", "latitude"=>"16.001127", "longitude"=>"-72.377848", "tags"=>["dolore", "nostrud", "occaecat", "cillum", "nisi"], "range"=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "friends"=> [{"id"=>0, "name"=>"Alison Bryant"}, {"id"=>1, "name"=>"Ester Espinoza"}, {"id"=>2, "name"=>"Sullivan Kane"}], "greeting"=>"Hello, Ward! You have 7 unread messages.", "favoriteFruit"=>"apple"}] puts "Duration: #{Time.now - start} seconds" 2.17sec -> 0.92sec start = Time.now "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing." puts "Duration: #{Time.now - start} seconds" 1.57sec -> 0.22sec start = Time.now def each_top_level_statement initialize_input catch(:TERM_INPUT) do loop do begin prompt unless l = lex throw :TERM_INPUT if @line == '' else @line_no += l.count("\n") next if l == "\n" @line.concat l if @code_block_open or @ltype or @continue or @indent > 0 next end end if @line != "\n" @line.force_encoding(@io.encoding) yield @line, @exp_line_no end break if @io.eof? @line = '' @exp_line_no = @line_no @indent = 0 rescue TerminateLineInput initialize_input prompt end end end end puts "Duration: #{Time.now - start} seconds" 0.88sec -> 0.77sec https://github.com/ruby/reline/commit/7d87ac5a12
2020-12-05[ruby/reline] Suppress callbacks in pastingaycabta
IRB uses Reline's 3 dynamic real-time callbacks with calling Ripper; output_modifier_proc, prompt_proc, and auto_indent_proc. These processing times make the paste time too long. https://github.com/ruby/reline/commit/beec3399a8
2020-12-05[ruby/reline] Deduplicate completed itemsaycabta
https://github.com/ruby/reline/commit/2dabf0c786
2020-09-12[ruby/reline] Treat prompt correctly when Reline.prompt_proc isn't setaycabta
https://github.com/ruby/reline/commit/9c9ba0eff3
2020-09-12[ruby/reline] Move cursor to currect vertical pos after rendering a logical lineaycabta
https://github.com/ruby/reline/commit/9b932df544
2020-09-12[ruby/reline] Stop using chomp option of lines methodaycabta
https://github.com/ruby/reline/commit/3e2f55c3e0
2020-09-12[ruby/reline] Stop erasing chars after the cursor at eolaycabta
When the cursor is at the end of the line and erases characters after the cursor, some terminals delete the character at the cursor position. https://github.com/ruby/reline/commit/e96ec97b02
2020-09-09Revert the related commits about `Tempfile.open` change.Hiroshi SHIBATA
Start with https://github.com/ruby/ruby/commit/fa21985a7a2f8f52a8bd82bd12a724e9dca74934 to https://github.com/ruby/ruby/commit/d7492a0be885ea9f2b9f71e3e95582f9a859c439
2020-08-29Fix usages of Tempfile.open(&block) that expected the file to still be there ↵Benoit Daloze
after the block
2020-08-28[ruby/reline] Move width calculator methods to Reline::Unicodeaycabta
https://github.com/ruby/reline/commit/f348ecd9f5
2020-08-18[ruby/reline] Get rid of loading pathname unnecessarilyNobuyoshi Nakada
https://github.com/ruby/reline/commit/9bd54b7f1c