aboutsummaryrefslogtreecommitdiffstats
path: root/lib/reline
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/irb] [ruby/irb] [ruby/reline] Version 0.2.2aycabta2021-01-181-1/+1
| | | | | | | | https://github.com/ruby/reline/commit/dfb710946f https://github.com/ruby/irb/commit/1a1cdf9628 https://github.com/ruby/irb/commit/fe99faf8bd
* [ruby/reline] Reline::Windows.erase_after_cursor erases attributes tooaycabta2021-01-181-0/+1
| | | | https://github.com/ruby/reline/commit/68b961dfc7
* [ruby/reline] Support for change in Windows-specific behavior at eolaycabta2021-01-181-15/+7
| | | | | | | 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
* [ruby/reline] Initialize a variable just in caseaycabta2021-01-181-0/+1
| | | | https://github.com/ruby/reline/commit/29b10f6e98
* [ruby/reline] Version 0.2.1aycabta2021-01-131-1/+1
| | | | https://github.com/ruby/reline/commit/a3b3c6ee60
* [ruby/reline] Move the cursor correctly when deleting at eolaycabta2021-01-131-0/+3
| | | | | | This fixes ruby/reline#246. https://github.com/ruby/reline/commit/07a73ba601
* [ruby/reline] Handle ed_search_{prev,next}_history in multiline correctlyaycabta2021-01-131-2/+2
| | | | | | | 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
* [ruby/reline] Add acknowledgments and license for rb-readlineaycabta2021-01-081-1/+1
| | | | https://github.com/ruby/reline/commit/19df59b916
* [ruby/reline] Suppress auto indent for adding newlines in pastingaycabta2021-01-081-1/+1
| | | | | | Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/074bb017a7
* [ruby/reline] Suppress crashing when dynamic_prompt_proc returns a broken ↵aycabta2021-01-081-0/+7
| | | | | | | | prompt list Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/558f7be168
* [ruby/reline] Suppress crashing when auto_indent_proc returns broken indent infoaycabta2021-01-081-0/+1
| | | | | | Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/7c24276275
* [ruby/reline] Correct var names in Reline were different from vi-*-mode-stringaycabta2021-01-082-22/+22
| | | | https://github.com/ruby/reline/commit/8255fc93b9
* [ruby/reline] Update cursor correctly when just cursor movingaycabta2021-01-081-1/+3
| | | | | | This fixes ruby/reline#236 and ruby/reline#239. https://github.com/ruby/reline/commit/3e3c89d00b
* [ruby/reline] 0.2.0aycabta2020-12-251-1/+1
| | | | https://github.com/ruby/reline/commit/064664c8f9
* [ruby/reline] Doesn't contain terminate spaces by cwaycabta2020-12-242-2/+6
| | | | | | This closes ruby/reline#233. https://github.com/ruby/reline/commit/4c3f2e2eae
* [ruby/reline] Use #bytesize for vi_replace_charaycabta2020-12-241-2/+2
| | | | | | This closes ruby/reline#228. https://github.com/ruby/reline/commit/8205fa0b00
* [ruby/reline] Delete the last char of a line by dwaycabta2020-12-241-3/+3
| | | | | | This closes ruby/reline#229. https://github.com/ruby/reline/commit/3f0ae689c4
* [ruby/reline] Suppress crashing when boken prompt_list is givenaycabta2020-12-241-0/+1
| | | | https://github.com/ruby/reline/commit/922d087e7a
* [ruby/reline] Discard prompt cache by changing mode iconaycabta2020-12-241-25/+30
| | | | https://github.com/ruby/reline/commit/bfeda8a79b
* [ruby/reline] Support isearch-terminatorsaycabta2020-12-222-2/+5
| | | | https://github.com/ruby/reline/commit/a7922da16b
* [ruby/reline] Render refreshed prompt just after i-search finishedaycabta2020-12-221-0/+4
| | | | https://github.com/ruby/reline/commit/0d3188fe34
* [ruby/reline] Version 0.1.10aycabta2020-12-201-1/+1
| | | | https://github.com/ruby/reline/commit/723c6e191a
* [ruby/reline] Use cached prompt list when just moved the cursoraycabta2020-12-191-1/+9
| | | | https://github.com/ruby/reline/commit/cfe619460b
* [ruby/reline] Yank by em-kill-region correctlyaycabta2020-12-191-1/+3
| | | | | | This closes ruby/reline#106. https://github.com/ruby/reline/commit/2549a52e15
* [ruby/reline] Bind yank-pop correctlyaycabta2020-12-192-1/+3
| | | | https://github.com/ruby/reline/commit/3c74beac65
* [ruby/reline] Add Enumerable to KillRing for debuggingaycabta2020-12-191-0/+12
| | | | https://github.com/ruby/reline/commit/d208874152
* [ruby/reline] Use plus operator to create unfrozen stringRobert Schulze2020-12-171-1/+1
| | | | https://github.com/ruby/reline/commit/ca274b0d37
* [ruby/reline] Support longer than screen height on Windowsaycabta2020-12-171-1/+8
| | | | https://github.com/ruby/reline/commit/2a97ca9362
* [ruby/reline] Support longer than screen heightaycabta2020-12-171-59/+162
| | | | https://github.com/ruby/reline/commit/e83a3de9ed
* Fixing glitchy kill ring behavior in irbYale Kozinski2020-12-171-1/+1
| | | | See https://github.com/ruby/irb/issues/85 for details
* [ruby/reline] Fix breaking to input Emoji with ZWJ.ima1zumi2020-12-111-0/+5
| | | | https://github.com/ruby/reline/commit/f21dfdbb11
* [ruby/reline] Editing to initial content is not just cursor movingaycabta2020-12-081-1/+2
| | | | https://github.com/ruby/reline/commit/0a4f175b0a
* Cope with frozen-string-literalRobert Schulze2020-12-051-1/+1
| | | | | | | When running irb 1.2.1 (2019-12-24) with frozen-string-literal enabled, it crashes in reline with `can't modify frozen String (FrozenError)` Steps to reproduce: `RUBYOPT="--enable-frozen-string-literal" irb`
* [ruby/reline] Process insertion buffer forciblyaycabta2020-12-051-0/+1
| | | | https://github.com/ruby/reline/commit/89d49ec9e0
* [ruby/reline] Support bracketed paste modeaycabta2020-12-052-2/+44
| | | | https://github.com/ruby/reline/commit/d1a6869322
* [ruby/reline] Forced newline insertion is not just cursor movingaycabta2020-12-051-2/+8
| | | | https://github.com/ruby/reline/commit/0e30a49d03
* [ruby/reline] Drop prompt list cache when num of lines is changedaycabta2020-12-051-1/+3
| | | | https://github.com/ruby/reline/commit/1959e22043
* [ruby/reline] Cache dynamic prompt for 0.5secaycabta2020-12-051-1/+8
| | | | https://github.com/ruby/reline/commit/06b89d0e61
* [ruby/reline] Stop rerendering if the cursor is only movedaycabta2020-12-051-0/+33
| | | | https://github.com/ruby/reline/commit/30e8eaf855
* [ruby/reline] Split #rerender method that is too hugeaycabta2020-12-051-145/+167
| | | | https://github.com/ruby/reline/commit/d0fbc89253
* [ruby/reline] Version 0.1.9aycabta2020-12-051-1/+1
| | | | https://github.com/ruby/reline/commit/0b1b5e77ce
* [ruby/reline] Stop rerendering whole screen when adding newline at end of bufferaycabta2020-12-051-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [ruby/reline] Optimize regexp handling for widthaycabta2020-12-051-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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" 0.47sec -> 0.34sec 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" 0.11sec -> 0.08sec 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.40sec -> 0.33sec Co-authored-by: NARUSE, Yui <naruse@airemix.jp> https://github.com/ruby/reline/commit/a9e39ddcc4
* [ruby/reline] Optimize ASCII character width calculationaycabta2020-12-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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" 0.73sec -> 0.43sec 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" 0.15sec -> 0.10sec 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.59sec -> 0.38sec Co-authored-by: NARUSE, Yui <naruse@airemix.jp> https://github.com/ruby/reline/commit/36bc9e3abb
* [ruby/reline] Key strokes like 2dl should behave d2laycabta2020-12-051-3/+10
| | | | | | | Key strokes, vi arg, operator, and motion should be treated as operator, vi arg, and motion. https://github.com/ruby/reline/commit/d1a7e74aa4
* [ruby/reline] Fix crash to input `é`. refs #174manga_osyo2020-12-051-0/+4
| | | | https://github.com/ruby/reline/commit/ba5e267e5f
* [ruby/reline] Version 0.1.8aycabta2020-12-051-1/+1
| | | | https://github.com/ruby/reline/commit/e79e402c01
* [ruby/reline] Add alias vi-movement-mode to vi-command-mode for compatibilityaycabta2020-12-051-0/+1
| | | | https://github.com/ruby/reline/commit/a79c297567
* [ruby/reline] Move alias_method to right after original definitionaycabta2020-12-051-1/+1
| | | | https://github.com/ruby/reline/commit/b7c8b93fa9
* [ruby/reline] Call process_insert when the end of pasting plural fullwidth charsaycabta2020-12-052-1/+17
| | | | https://github.com/ruby/reline/commit/594484d9f9