summaryrefslogtreecommitdiff
path: root/lib/reline
AgeCommit message (Collapse)Author
2024-12-16[ruby/reline] Bump version to 0.6.0Mari Imaizumi
(https://github.com/ruby/reline/pull/795) https://github.com/ruby/reline/commit/e0850cd5ba
2024-12-16[ruby/reline] Change quoted_insert and bracketed_paste to a singletomoya ishida
key input (https://github.com/ruby/reline/pull/792) https://github.com/ruby/reline/commit/8f331edb07
2024-12-15[ruby/reline] Refactor Reline::Unicode ed_ vi_ em_ methodstomoya ishida
(https://github.com/ruby/reline/pull/720) * Refactor Reline::Unicode vi_ ed_ em_ methods * Make Reline::Unicode's vi_ ed_ em_ method encoding safe https://github.com/ruby/reline/commit/cdd7288978
2024-12-12[ruby/reline] Undo and redo should restore indentationtomoya ishida
(https://github.com/ruby/reline/pull/793) * Undo and redo should restore indentation Undo and redo should not perform auto indentation. It should not change the indentation. Instead, it should restore previous indentation. * Rename ivar undoing(undoing or redoing) to restoring https://github.com/ruby/reline/commit/6355a6e0b2
2024-12-10[ruby/reline] Fix line wrapped cursor positiontomoya ishida
(https://github.com/ruby/reline/pull/791) Cursor position calculation was wrong when the input line contains "\1" or CSI escape sequence. https://github.com/ruby/reline/commit/a1943daaf4
2024-12-06[ruby/reline] Combine MAPPINGS(single byte input to symbol) withtomoya ishida
key_bindings(escape sequence to symbol) (https://github.com/ruby/reline/pull/715) https://github.com/ruby/reline/commit/6a7e249374
2024-12-02[ruby/reline] Implement buffered output to Reline::ANSItomoya ishida
(https://github.com/ruby/reline/pull/790) Minimize the call of STDOUT.write This will improve rendering performance especially when there is a busy thread `Thread.new{loop{}}` https://github.com/ruby/reline/commit/a6fe45f5ba
2024-11-30[ruby/reline] Call user defined sigwinch and sigcont handlertomoya ishida
(https://github.com/ruby/reline/pull/788) https://github.com/ruby/reline/commit/7d44770c84
2024-11-29[ruby/reline] Don't skip start_with check on encoding-incompatibletomoya ishida
candidates (https://github.com/ruby/reline/pull/787) https://github.com/ruby/reline/commit/8588be652f
2024-11-29[ruby/reline] Fix RELINE_TEST_ENCODINGMari Imaizumi
(https://github.com/ruby/reline/pull/743) * Fix RELINE_TEST_ENCODING It was not working because it was not environment variable. * Fix Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8 Error: test_completion_append_character(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8 /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key' /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:948:in 'Reline::KeyActor::EmacsTest#test_completion_append_character' =============================================================================== =============================================================================== Error: test_continuous_completion_disabled_with_perfect_match(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8 /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key' /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:936:in 'Reline::KeyActor::EmacsTest#test_continuous_completion_disabled_with_perfect_match' =============================================================================== =============================================================================== Error: test_continuous_completion_with_perfect_match(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8 /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key' /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:924:in 'Reline::KeyActor::EmacsTest#test_continuous_completion_with_perfect_match' =============================================================================== Finished in 2.118582151 seconds. 385 tests, 1762 assertions, 0 failures, 3 errors, 0 pendings, 3 omissions, 0 notifications https://github.com/ruby/reline/commit/4df825c48f
2024-11-28[ruby/reline] Bump version to 0.5.12Mari Imaizumi
(https://github.com/ruby/reline/pull/786) https://github.com/ruby/reline/commit/d4f6741e7e
2024-11-27[ruby/reline] Fix io_gate.encoding raises IOError in ruby <= 3.0tomoya ishida
(https://github.com/ruby/reline/pull/785) https://github.com/ruby/reline/commit/85e20f0031
2024-11-26[ruby/reline] KeyStroke handles multibyte charactertomoya ishida
(https://github.com/ruby/reline/pull/713) https://github.com/ruby/reline/commit/5a8da85f2b
2024-11-25[ruby/reline] Fix tab completion appending quotetomoya ishida
(https://github.com/ruby/reline/pull/782) https://github.com/ruby/reline/commit/cbf213291c
2024-11-24[ruby/reline] Fix completion quote, preposing and target calculationtomoya ishida
bug (https://github.com/ruby/reline/pull/763) https://github.com/ruby/reline/commit/d3ba7216eb
2024-11-14[ruby/reline] Drop loading terminfo, remove fiddle dependency intomoya ishida
non-windows environment. (https://github.com/ruby/reline/pull/769) Reline works perfectly in most major terminal emulators without terminfo. In minor/old terminal emulator, we used to get key bindings from terminfo, but I think it is not used so much. https://github.com/ruby/reline/commit/3ceba3bff7
2024-11-11[ruby/reline] Refactor perform_completontomoya ishida
(https://github.com/ruby/reline/pull/778) Flatten recursive method Remove CompletionState::COMPLETE https://github.com/ruby/reline/commit/aa5b278f3d
2024-11-10[ruby/reline] Remove unused things from reline/unicode.rbtomoya ishida
(https://github.com/ruby/reline/pull/759) * Remove garbage(nil) from Reline::Unicode.split_by_width result * Remove unused width from Reline::Unicode vi_ ed_ em_ method return value * Remove unused height from Unicode.split_by_width return value * Rename split_by_width to split_line_by_width and add legacy split_by_width for IRB https://github.com/ruby/reline/commit/f32446ebc4
2024-11-08[ruby/reline] Bump version to 0.5.11Mari Imaizumi
(https://github.com/ruby/reline/pull/777) https://github.com/ruby/reline/commit/4d90743409
2024-11-08[ruby/reline] Windows fix (https://github.com/ruby/reline/pull/775)YO4
* test_yamatanooroti: close tempfile before unlink * test_yamatanooroti: omit because of windows does not support job control * test_yamatanooroti: change startup message detection for windows * windows.rb: can call win32api using nil as NULL for pointer argument Exception occurred when interrupted with Ctrl+C on legacy conhost * windows.rb: fix get_screen_size return [window height, buffer width] insted of [buffer height, buffer width] * windows.rb: import scroll_down() from ansi.rb * windows.rb: add auto linewrap control if VT output not supported (legacy console) * unfreeze WIN32API pointer arguments They internally duplicate arguments so api functions write to another place. This breaks the console mode detection with ruby-head. * remove useless code from Win32API#call argument repacking and return value tweaking is not needed for Reline::Windows requirements. * Correctly handle top of console viewport * Revert "remove useless code from Win32API#call" This reverts commit https://github.com/ruby/reline/commit/060ba140ed43. * Revert "windows.rb: can call win32api using nil as NULL for pointer argument" This reverts commit https://github.com/ruby/reline/commit/93a23bc5d0c9. https://github.com/ruby/reline/commit/47c1ffbabe
2024-10-24[ruby/reline] nonprinting_start and nonprinting_end should betomoya ishida
removed (https://github.com/ruby/reline/pull/771) https://github.com/ruby/reline/commit/e36441652a
2024-10-24append completion_append_character only when continous completion is … (#764)Wu
* append completion_append_character only when continous completion is not possible * refactoring * remove debug puts
2024-10-22[ruby/reline] Use IO's encoding instead of Encoding.default_externalWu
(https://github.com/ruby/reline/pull/765) * use IO's encoding * refactoring * remove unused encoding params * (for retriggering CI) remove unused encoding params https://github.com/ruby/reline/commit/f09772adab
2024-10-13[ruby/reline] Support continuous tab completiontomoya ishida
(https://github.com/ruby/reline/pull/761) Continuous tab completion is possible in GNU Readline. If dig_perfect_match_proc is set, continuous tab completion will be disabled. https://github.com/ruby/reline/commit/469a52846b
2024-10-12[DOC] Fix spellingJohn Bampton
Notes: Merged: https://github.com/ruby/ruby/pull/11884 Merged-By: nobu <nobu@ruby-lang.org>
2024-10-07[ruby/reline] Add cursor keys for application keypad mode to defaulttomoya ishida
key bindings (https://github.com/ruby/reline/pull/719) * Add SS3 arrow sequence to default key bindings * Remove wrong KDE arrow sequence https://github.com/ruby/reline/commit/546a42522e
2024-10-06[ruby/reline] Allow utf-8 safe meta key mapping in inputrctomoya ishida
(https://github.com/ruby/reline/pull/723) Readline's convert-meta setting is utf-8 unsafe. Allow assigning `"\M-char": key` to bind "\echar": key even if convert-meta is not enabled. https://github.com/ruby/reline/commit/9844b99c6e
2024-10-03[ruby/reline] Rename `matches?` as `match?`Nobuyoshi Nakada
(https://github.com/ruby/reline/pull/753) https://github.com/ruby/reline/commit/9230fe162d
2024-10-02[ruby/reline] Fix incremental search cancel bugtomoya ishida
(https://github.com/ruby/reline/pull/748) https://github.com/ruby/reline/commit/bf0f8fa333
2024-10-02[ruby/reline] Add a timeout to cursor_postomoya ishida
(https://github.com/ruby/reline/pull/750) https://github.com/ruby/reline/commit/dd4a654e5d
2024-10-01[ruby/reline] Fix Reline crash with invalid encoding historytomoya ishida
(https://github.com/ruby/reline/pull/751) https://github.com/ruby/reline/commit/e9d4b37e34
2024-09-05[ruby/reline] Bump version to 0.5.10Mari Imaizumi
(https://github.com/ruby/reline/pull/745) https://github.com/ruby/reline/commit/0ebd54f675
2024-09-04[ruby/reline] Split render_differential to LineEditor's renderingtomoya ishida
logic and actual differential rendering part (https://github.com/ruby/reline/pull/731) https://github.com/ruby/reline/commit/c90f08f7e3
2024-09-03[ruby/reline] Add test for reset_variables in Reline::ConfigMari Imaizumi
(https://github.com/ruby/reline/pull/741) * Fix reset variables * Add assertion for reload * Add helper method to get instance variable value of Reline::Config https://github.com/ruby/reline/commit/386f619ff5
2024-09-03[ruby/reline] Fix redisplay/insert_text called from pre_input_hooktomoya ishida
(https://github.com/ruby/reline/pull/742) * Fix redisplay/insert_text called from pre_input_hook * Rename insert_pasted_text to insert_multiline_text It is now used from Reline.insert_text which is not inserting pasted text https://github.com/ruby/reline/commit/694a540939
2024-09-02[ruby/reline] Get console handle again and retry when Win32API calltomoya ishida
fails (https://github.com/ruby/reline/pull/734) https://github.com/ruby/reline/commit/66291b5e3c
2024-08-31[ruby/reline] Implement re-read-init-fileMari Imaizumi
(https://github.com/ruby/reline/pull/740) https://github.com/ruby/reline/commit/59e4ade807
2024-08-29[ruby/reline] Calculate mbchar width with bsearchtomoya ishida
(https://github.com/ruby/reline/pull/632) https://github.com/ruby/reline/commit/0851e93640
2024-08-27[ruby/reline] Remove unused variablesMari Imaizumi
(https://github.com/ruby/reline/pull/739) https://github.com/ruby/reline/commit/14784eddee
2024-08-20[ruby/reline] typofixHiroshi SHIBATA
https://github.com/ruby/reline/commit/d44fbf9f7b
2024-07-29[ruby/reline] Fix memory leak in setuptermPeter Zhu
(https://github.com/ruby/reline/pull/733) The allocated Fiddle::Pointer never gets freed because it doesn't have a free function defined for when it gets garbage collected. This commit changes it to use the default free function. https://github.com/ruby/reline/commit/0796dcd497
2024-07-12[ruby/reline] Fix rendering bug of nomultiline prompttomoya ishida
(https://github.com/ruby/reline/pull/730) Fix bug of `print('a'*10); Reline.readline('>')` wrong rendering https://github.com/ruby/reline/commit/c0469a12b9
2024-06-25[ruby/reline] Rerender and enter raw mode again by SIGCONTtomoya ishida
(https://github.com/ruby/reline/pull/727) https://github.com/ruby/reline/commit/be45660c83
2024-06-18[ruby/reline] Fix vi_yank or vi_delete_meta copies nil bugtomoya ishida
(https://github.com/ruby/reline/pull/726) https://github.com/ruby/reline/commit/46b30b07c9
2024-06-12[ruby/reline] Bump version to 0.5.9Mari Imaizumi
(https://github.com/ruby/reline/pull/724) https://github.com/ruby/reline/commit/aff1d852bb
2024-06-10[ruby/reline] Add more fallbacks when terminfo is not availabletomoya ishida
(https://github.com/ruby/reline/pull/722) Add xterm key bindings to comprehensive list Add fallback escape sequence of cursor hide/show https://github.com/ruby/reline/commit/e3c73bbe26
2024-06-10[ruby/reline] Suppress warning(Ruby 3.4) requiring fiddle fromtomoya ishida
terminfo.rb (https://github.com/ruby/reline/pull/721) https://github.com/ruby/reline/commit/9da2cbcd82
2024-06-06[ruby/reline] Remove instance variable @first_chartomoya ishida
(https://github.com/ruby/reline/pull/717) When Reline reads EOF, Reline.readline should return nil if and only if input is empty https://github.com/ruby/reline/commit/cc74b3686a
2024-06-05[ruby/reline] Refactor input key readingtomoya ishida
(https://github.com/ruby/reline/pull/712) * Add key binding matching status :matching_matched * Simplify read_2nd_character * Add a comment of matching status and EOF * Matching status to a constant * Expand complicated ternary operators to case-when https://github.com/ruby/reline/commit/64deec100b
2024-06-04[ruby/reline] Ensure no escape sequence before printing prompttomoya ishida
(https://github.com/ruby/reline/pull/716) https://github.com/ruby/reline/commit/f9227b5c89