aboutsummaryrefslogtreecommitdiffstats
path: root/lib/reline
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/reline] Bump version to 0.4.0ima1zumi2023-11-071-1/+1
| | | | | | (https://github.com/ruby/reline/pull/601) https://github.com/ruby/reline/commit/d15ab72d4f
* [ruby/reline] Introduce a new class Reline::Face to configureHASUMI Hitoshi2023-11-062-13/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | character attributes (https://github.com/ruby/reline/pull/552) * Reine::Face * fix test_yamatanooroti * Define singleton methods to make accessors to attributes of a face * s/display/foreground/ * s/default/default_style/ && s/normal_line/default/ && s/enhanced_line/enhanced/ * fix typo * FaceConfig.new now takes keyword arguments * Update lib/reline/face.rb Co-authored-by: Stan Lo <stan001212@gmail.com> * Update test/reline/test_face.rb Co-authored-by: Stan Lo <stan001212@gmail.com> * Fix to correspond to frozen_string_literal * Face::FaceConfig -> Face::Config * ref https://github.com/ruby/reline/pull/552#pullrequestreview-1677282576 * delete unused ivar * ref https://github.com/ruby/reline/pull/552#discussion_r1358783723 * insert "\e[0m" into all SGR * tiny fix * ESSENTIAL_DEFINE_NAMES ref https://github.com/ruby/reline/pull/552#discussion_r1367722247 * Change to Hash-accessor style - Reline::Face[:completion_dialog].enhanced -> Reline::Face[:completion_dialog][:enhanced] - Reline::Face.configs shows all defined values * Cache array method call in local variable * Tests for Face configuration variations * resolve https://github.com/ruby/reline/pull/552#pullrequestreview-1710938154 * amend to * check invalid SGR parameter in :style * The order of define values should be preserved * Update test/reline/test_face.rb Co-authored-by: Stan Lo <stan001212@gmail.com> * Update test/reline/test_face.rb Co-authored-by: Stan Lo <stan001212@gmail.com> * Add methods: load_initial_config and reset_to_initial_config. And teardown in tests * omission in amending "style: :default" to "style: :reset" * refs https://github.com/ruby/reline/issues/598 * Fix link * amend method name * Update lib/reline/face.rb Co-authored-by: ima1zumi <52617472+ima1zumi@users.noreply.github.com> --------- https://github.com/ruby/reline/commit/fdc1d3b1e5 Co-authored-by: Stan Lo <stan001212@gmail.com> Co-authored-by: ima1zumi <52617472+ima1zumi@users.noreply.github.com>
* [ruby/reline] Bump version to 0.3.9ima1zumi2023-10-031-1/+1
| | | | | | (https://github.com/ruby/reline/pull/594) https://github.com/ruby/reline/commit/b6fb72718a
* [ruby/reline] Properly restore Reline::IOGate in test teardowntomoya ishida2023-09-281-1/+5
| | | | | | | | | | (https://github.com/ruby/reline/pull/593) * Properly restore Reline::IOGate in test teardown * GeneralIO.reset should reset class variable existence https://github.com/ruby/reline/commit/c16d33dae5
* [ruby/reline] Fix config.rb to File.expand_path $include path inelfham2023-09-261-1/+1
| | | | | | | | | | | inputrc (https://github.com/ruby/reline/pull/592) * Fix config.rb to File.expand_path $include path in inputrc * fix bug of test_include_expand_path on Windows https://github.com/ruby/reline/commit/4d34e52d0b
* [ruby/reline] Update to Unicode 15.1.0elfham2023-09-251-3/+3
| | | | | | (https://github.com/ruby/reline/pull/591) https://github.com/ruby/reline/commit/c2fc1f771a
* [ruby/reline] Remove `ARGV.first` in east_asian_width.rbima1zumi2023-08-291-1/+0
| | | | | | | | (https://github.com/ruby/reline/pull/587) `ARGV.first` is the name of the EastAsianWidth file and is not needed for east_asian_width.rb https://github.com/ruby/reline/commit/6649bda31c
* [ruby/reline] Set EastAsianWidth::UNICODE_VERSIONelfham2023-08-291-0/+1
| | | | | | | | | | | | (https://github.com/ruby/reline/pull/586) * Set EastAsianWidth::UNICODE_VERSION * Commented out UNICODE_VERSION in Reline::Unicode::EastAsianWidth * Commented out UNICODE_VERSION in Reline::Unicode::EastAsianWidth https://github.com/ruby/reline/commit/6d94f2a26a
* [ruby/reline] Bump version to 0.3.8Stan Lo2023-08-201-1/+1
| | | | | | (https://github.com/ruby/reline/pull/582) https://github.com/ruby/reline/commit/3840d1f958
* [ruby/reline] Remove Timeout usageStan Lo2023-08-203-21/+19
| | | | | | | | | | | | | | | (https://github.com/ruby/reline/pull/580) Timeout's implementation relies on Thread, which would conflict with `ruby/debug`'s thread-freezing implementation and has casued issues like - ruby/debug#877 - ruby/debug#934 - ruby/debug#1000 This commit avoids the issue by completely removing the use of Timeout. https://github.com/ruby/reline/commit/d4f0cd3fe1
* [ruby/reline] Add `kill-word` and `backward-kill-word` keymappingosyo-manga2023-07-271-0/+2
| | | | | | | | | | | | support. (https://github.com/ruby/reline/pull/570) Fix it https://github.com/ruby/reline/issues/558 https://github.com/ruby/reline/commit/0f8000443e Co-authored-by: Stan Lo <stan001212@gmail.com>
* [ruby/reline] Bump version to 0.3.7Stan Lo2023-07-271-1/+1
| | | | | | (https://github.com/ruby/reline/pull/578) https://github.com/ruby/reline/commit/dc5a1b7c48
* [ruby/reline] Avoid using CSI # S for scroll downStan Lo2023-07-251-1/+4
| | | | | | (https://github.com/ruby/reline/pull/577) https://github.com/ruby/reline/commit/b67ee4e791
* [ruby/reline] Always set ANSI CSI keybindings for Home, End, andtomoya ishida2023-07-191-35/+39
| | | | | | | Arrow. (https://github.com/ruby/reline/pull/569) https://github.com/ruby/reline/commit/f363a43a45
* [ruby/reline] Fix [nil] is passed to auto_indent_proc when exit withosyo-manga2023-07-181-1/+1
| | | | | | | | | | | | | | | CTRL+d (https://github.com/ruby/reline/pull/571) * Fix [nil] is passed to auto_indent_proc when exit with CTRL+d Fix it https://github.com/ruby/reline/issues/556 * not call auto_indent_proc when Ctrl+d. see: https://github.com/ruby/reline/pull/571#issuecomment-1637183195 https://github.com/ruby/reline/commit/0924f2a075
* [ruby/reline] Bump version to 0.3.6Stan Lo2023-07-081-1/+1
| | | | | | (https://github.com/ruby/reline/pull/565) https://github.com/ruby/reline/commit/2503ddb9a6
* [ruby/reline] Ignore unhandled escape sequencestomoya ishida2023-07-082-12/+60
| | | | | | | | (https://github.com/ruby/reline/pull/522) * Add unassigned escape sequence matcher to KeyStroke * Do not insert ESC and unassigned ESC+key to input buffer
* [ruby/reline] Reduce direct references to `Reline::IOGate`Stan Lo2023-07-072-1/+5
| | | | | | | | | | | | | | | | | (https://github.com/ruby/reline/pull/566) * Avoid referencing IOGate from IOGate classes The only time those classes being used is when themselves being the IOGate. So when referencing to IOGate, it's better to use `self` instead. * Avoid referencing to IOGate from LineEditor directly * Avoid referencing to IOGate from Core directly * Reference to Reline.core directly * Replace Reline::IOGate with Reline.core.io_gate
* [ruby/reline] Fix wrong byte_pointer passed to auto_indent_proctomoya ishida2023-07-051-1/+1
| | | | | | (https://github.com/ruby/reline/pull/562) https://github.com/ruby/reline/commit/4348354604
* [ruby/reline] Remove unused methodima1zumi2023-06-221-20/+0
| | | | | | | (https://github.com/ruby/reline/pull/557) `get_mbchar_byte_size_by_first_char` isn't used in Reline. Also, this method implements the same functionality as `String#bytesize` and is unnecessary.
* [ruby/reline] Omit constant under StructYuta Kusuno2023-06-201-2/+2
| | | | | | (https://github.com/ruby/reline/pull/554) https://github.com/ruby/reline/commit/8761a11fa5
* [ruby/reline] Bump version to 0.3.5Stan Lo2023-06-031-1/+1
| | | | | | (https://github.com/ruby/reline/pull/548) https://github.com/ruby/reline/commit/4330a52572
* [ruby/reline] Remove unnecessary conditions forNobuyoshi Nakada2023-06-021-15/+1
| | | | | | | `Fiddle::TYPE_VARIADIC` (https://github.com/ruby/reline/pull/547) https://github.com/ruby/reline/commit/71ba3a9432
* [ruby/reline] Fix scrolldown condition in dialog renderingtomoya ishida2023-05-271-1/+1
| | | | | | (https://github.com/ruby/reline/pull/541) https://github.com/ruby/reline/commit/ad6faada3f
* [ruby/reline] Use appropriate dialog height and reduce screen pushuptomoya ishida2023-05-271-0/+10
| | | | | | | | | problem (https://github.com/ruby/reline/pull/542) * Provide preferred_dialog_height for dialog positioning * Fix rendering test
* [ruby/reline] Bump version to 0.3.4ima1zumi2023-05-201-1/+1
| | | | | | (https://github.com/ruby/reline/pull/538) https://github.com/ruby/reline/commit/1fb0753bc1
* [ruby/reline] Fix dialog corrupts rendering by pushing up input linetomoya ishida2023-05-071-2/+8
| | | | | | | | | | | | | | | | | | | too much (https://github.com/ruby/reline/pull/524) * Do not render dialog where it overflows screen * Dialog rendering should Scroll down only when needed * Refactor screen_y_range calculation Co-authored-by: Stan Lo <stan001212@gmail.com> --------- https://github.com/ruby/reline/commit/bc0e3d1310 Co-authored-by: Stan Lo <stan001212@gmail.com>
* [ruby/reline] Rewrite dialog renderingtomoya ishida2023-05-011-203/+141
| | | | | | | | | | | | (https://github.com/ruby/reline/pull/492) * Rewrite dialog rendering * Fix failing test of dialog with small screen * Add multiple-dialog rendering test * Add description comments for each part of render_dialog_changes
* [ruby/reline] Revert #335 (Trap TSTP to handle C-z)Carl Brasic2023-04-241-11/+0
| | | | | | | | | | | | | | | | | | | (https://github.com/ruby/reline/pull/535) This PR was an effort to address #321 (ed_quoted_insert doesn't work properly) but per the reporter it did not work correctly. Moreover, it introduced a major regression: Shell job control stopped working in all applications that use reline, notably IRB. Bash and other shells send SIGTSTP in response to C-z to implement job suspension. Handling SIGSTP opts out of this functionality. For a line oriented terminal program this should be avoided (not to mention, this behavior diverges from readline's) https://github.com/ruby/reline/commit/26383d25b8 Co-authored-by: Carl Brasic <cbrasic@drwholdings.com>
* Use `em_delete` in `key_delete` (#504)Étienne Barrié2023-04-051-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | * Test existing behavior Typing Ctrl-D ends editing but typing <Del> does not. Also renamed a test that is not testing ed_delete_next_char but key_delete. * Check if line empty first in em_delete By distributivity of AND over OR, we can factor out this condition. This will make the next commit simpler. * Use em_delete in key_delete When the editing mode is emacs, use `em_delete` in `key_delete`. We need to add a condition though to `em_delete`, because it implements both `delete-char` and `end-of-file`. We only want the `end-of-file` behavior is the key is really Ctrl-D. This matches the behavior of the <Del> key with readline, i.e. deleting the next character if there is one, but not moving the cursor, while not finishing the editing if there are no characters.
* [ruby/reline] Drop Dialog#scrollbar_pos as we can store it in aStan Lo2023-03-291-9/+9
| | | | | | | | | local variable (https://github.com/ruby/reline/pull/529) https://github.com/ruby/reline/commit/d0139975fd Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>
* [ruby/reline] Drop Unicode.take_range's optional arg as it's neverStan Lo2023-03-291-2/+2
| | | | | | | used (https://github.com/ruby/reline/pull/528) https://github.com/ruby/reline/commit/428fed4a6a
* [ruby/reline] Improve OSC sequence regexp. OSC sequence can end withtomoya ishida2023-03-291-1/+1
| | | | | | | ST(ESC\) and it should not to include \a and \e inside. (https://github.com/ruby/reline/pull/527) https://github.com/ruby/reline/commit/a88052adec
* [ruby/reline] Expand the scanned array to later case statement moreStan Lo2023-03-281-31/+23
| | | | | | | | | | | straightforward (https://github.com/ruby/reline/pull/526) * Improve test coverage on Unicode.take_range * Add test for Unicode.calculate_width * Expand the scanned array to later case statement more straightforward
* [ruby/reline] Bump version to 0.3.3ima1zumi2023-03-271-1/+1
| | | | | | (https://github.com/ruby/reline/pull/525) https://github.com/ruby/reline/commit/8ce176271f
* [ruby/reline] Fix cursor position overruntomoya ishida2023-03-271-7/+3
| | | | | | | | | | | | | | | | (https://github.com/ruby/reline/pull/515) * Fix cursor position overrun * Remove unnecessary local variable Co-authored-by: Stan Lo <stan001212@gmail.com> --------- https://github.com/ruby/reline/commit/d4ad9b96c8 Co-authored-by: Stan Lo <stan001212@gmail.com>
* [ruby/reline] Fix split_by_width to retain color sequencestomoya ishida2023-03-251-1/+6
| | | | | | | | (https://github.com/ruby/reline/pull/490) * Fix split_by_width to retain color sequences * Add OSC escape sequence testcase of Reline::Unicode.split_by_width
* [ruby/reline] Add key bindings for PgUp and PgDnPhillip Hellewell2023-03-211-0/+2
| | | | | | | | | | | | | (https://github.com/ruby/reline/pull/509) * Add key bindings for PgUp, PgDn * Match behavior of readline 8.2 In the latest readline (8.2), page-up and page-down are bound to history-search-backward and history-search-forward by default. We would like reline to have the same default behavior.
* [ruby/reline] Fix: line longer than terminal width breaks renderingtomoya ishida2023-03-181-0/+1
| | | | | | (https://github.com/ruby/reline/pull/516) https://github.com/ruby/reline/commit/ae5f9b87ab
* [ruby/reline] Fix completion with multilinetomoya ishida2023-03-041-2/+2
| | | | | | (https://github.com/ruby/reline/pull/513) https://github.com/ruby/reline/commit/d76c482c5f
* [ruby/reline] Fix wrong indent number in prompt. whole_lines hastomoya ishida2023-02-271-34/+11
| | | | | | | | | | | | | duplicated line. (https://github.com/ruby/reline/pull/460) * whole_lines should consider prev_line_index, and must not duplicate last_line * Add test for lines passed to dynamic prompt proc * Refactor whole_lines parameters used in test helper * Remove whole_line's arguments
* [ruby/reline] Fix the cause of test_yamatanooroti randomly failingtomoya ishida2023-02-274-1/+13
| | | | | | | | (https://github.com/ruby/reline/pull/474) * Add repeated input-delete test that fails on HEAD * Use raw mode while readmultiline
* [ruby/reline] Fix line rendering when newline is added at the end of the buffertompng2023-02-061-5/+12
| | | | https://github.com/ruby/reline/commit/7d61b3df9a
* [ruby/reline] Splat is always an ArrayÉtienne Barrié2023-01-311-1/+1
| | | | https://github.com/ruby/reline/commit/82095bd62b
* [ruby/reline] Revert "correct Win32API capitalization for JRuby"Hiroshi SHIBATA2023-01-261-1/+1
| | | | | | This reverts commit https://github.com/ruby/reline/commit/d6e7c9e1d9af. https://github.com/ruby/reline/commit/c47a5b684c
* [ruby/reline] accept new_indent > cursor_maxtompng2023-01-201-2/+3
| | | | https://github.com/ruby/reline/commit/61cc580da4
* [ruby/reline] Add constant MINIMUM_SCROLLBAR_HEIGHT for scrollbar rendering ↵tompng2023-01-181-1/+2
| | | | | | when dialog content is very long https://github.com/ruby/reline/commit/d4c95f89ec
* [ruby/reline] Fix dialog scrollbar rendering position and disappearing bugtompng2023-01-181-4/+4
| | | | https://github.com/ruby/reline/commit/e21b69ade4
* [ruby/reline] Update to Unicode 15.0.0elfham2023-01-121-56/+88
| | | | | | | | (https://github.com/ruby/reline/pull/437) * Update to Unicode 14.0.0 * Update to Unicode 15.0.0
* [ruby/reline] Pass unmodifined lines(that does not include escapetomoya ishida2023-01-121-4/+8
| | | | | | | | | sequence) to check_multiline_prompt (https://github.com/ruby/reline/pull/458) * pass unmodified lines to check_multiline_prompt * Add test to check that output modified by output_modifier_proc is not passed to prompt_proc