Commit graph

360 commits

Author SHA1 Message Date
tompng
91f353b1c3 [ruby/reline] Fix line rendering when newline is added at the end of the buffer
7d61b3df9a
2023-02-06 14:23:59 +00:00
tompng
4241b3cf2d [ruby/reline] accept new_indent > cursor_max
61cc580da4
2023-01-20 13:40:15 +00:00
tompng
8e53f09baa [ruby/reline] Add constant MINIMUM_SCROLLBAR_HEIGHT for scrollbar rendering when dialog content is very long
d4c95f89ec
2023-01-18 14:49:29 +00:00
tompng
a712f2a2a0 [ruby/reline] Fix dialog scrollbar rendering position and disappearing bug
e21b69ade4
2023-01-18 14:49:28 +00:00
tomoya ishida
0abb4b6348 [ruby/reline] Pass unmodifined lines(that does not include escape
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
2023-01-12 00:14:53 +00:00
Otávio Schwanck dos Santos
696e8914b7 [ruby/reline] PR changes
e8e8d81f47
2022-09-22 22:28:38 +09:00
Otávio Schwanck dos Santos
9fb18e6314 [ruby/reline] fix vi-operator-arg
d42cdb8f91
2022-09-22 22:28:36 +09:00
Nobuyoshi Nakada
1b8a644b44 [ruby/reline] Fix a typo [ci skip]
33bf80e757
2022-09-03 03:27:58 +09:00
Hiroshi SHIBATA
0d2422cf63 [ruby/reline] Workaround for padding width with Aracritty on macOS
fb4136c8a7
2022-09-02 16:09:51 +09:00
Mau Magnaguagno
941e9be0d9 [ruby/reline] Remove loose operation in Dialog#render_each_dialog
a6d1c917ce
2022-09-01 14:01:37 +09:00
pocari
8c6c3e30f3 [ruby/reline] Enable to change the background color of dialogs. (https://github.com/ruby/reline/pull/413)
bd49537964
2022-06-27 22:28:49 +09:00
aycabta
f5e3913737 [ruby/reline] Fix incremental search to work correctly even if not last line
21d75f6d4c
2022-01-16 22:09:31 +09:00
aycabta
921ff739df [ruby/reline] Insert newline in the middle of buffer just after dialog
0c76631132
2022-01-16 22:09:31 +09:00
aycabta
2bc6b07a8d [ruby/reline] Combine common logic into one
5db9738f17
2022-01-16 22:09:29 +09:00
aycabta
f94a2adf6a [ruby/reline] Clear dialog when adding new line to end of buffer
7d38454327
2022-01-16 22:09:28 +09:00
aycabta
9e79ae539b [ruby/reline] Clear dialog when just_move_cursor is called with dialog at last line
05024b968e
2022-01-11 06:10:37 +09:00
aycabta
c815c0be46 [ruby/reline] Escape newline(s) in dynamic prompt
9b209ee1ea
2021-12-25 00:32:58 +09:00
aycabta
b0db420b0e [ruby/reline] Escape newline(s) in prompt
b545459fca
2021-12-25 00:32:57 +09:00
aycabta
22cc2243f9 [ruby/reline] Remove unnecessary parameter
20fcd22564
2021-12-25 00:32:56 +09:00
aycabta
4fccefef05 [ruby/reline] Revert "Change aliased methods to be parivete"
Ruby 2.5 doesn't support "private alias_method" idiom  but Ruby on Rails
6.x still support 2.5. 😢

This reverts commit 0f075f562b.

4ecaa63b26
2021-12-24 18:23:28 +09:00
aycabta
fc5bc378e5 [ruby/reline] Change aliased methods to be parivete
0f075f562b
2021-12-24 18:23:28 +09:00
aycabta
a9c59b13da [ruby/reline] Add doc about em-kill-line macro
2e46493aff
2021-12-24 18:23:28 +09:00
aycabta
bad1e153d4 [ruby/reline] Implement em_kill_line
9fca6ceb45
2021-12-24 18:23:28 +09:00
aycabta
6c3cc9c58a [ruby/reline] Rename the wrong name "em-kill-line" with the correct name "unix-line-discard"
da7af35d1f
2021-12-24 18:23:28 +09:00
aycabta
fd60a235f5 [ruby/reline] Add doc about ed-kill-line, kill-line, em-kill-line, and unix-line-discard
586a48ffe0
2021-12-24 18:23:28 +09:00
aycabta
4bb65ee4fe [ruby/reline] Character merging may increase the character width
Even if the number of graphemes doesn't change owing to character
merging, the character width may increase.

fbcd5f56a7
2021-12-24 00:51:48 +09:00
aycabta
daf4a8884b [ruby/reline] Add comment for a following char of combined char
d465667f57
2021-12-24 00:51:46 +09:00
aycabta
37aea9d798 [ruby/reline] Finalize when exception occurred
1f8a3aee43

Co-authored-by: Alex Gittemeier <me@a.lexg.dev>
2021-12-21 00:49:03 +09:00
aycabta
c3a3f65b45 [ruby/reline] Split off set_signal_handler method
In some tests, the LineEditor#reset method is always called, but doesn't
need to set the signal handlers there, so cuts it out to a separate
method.

b143c4f5f9
2021-12-21 00:13:19 +09:00
aycabta
145c1e0691 [ruby/reline] Add support for overwriting dialog proc with the same name
16aa20c380
2021-12-20 14:54:42 +09:00
aycabta
7159af3491 [ruby/reline] Clear dialog in pasting
dabf5313e0
2021-12-19 11:19:50 +09:00
aycabta
8411e8449b [ruby/reline] Remove unnecessary variables, lower_space
The number of lines below the cursor position was known by
"@rest_height" alone, but the problem was caused by adding
"lower_space". Remove "lower_space" as it is unnecessary.

a575cef6a3
2021-12-13 20:44:21 +09:00
ima1zumi
f5829e2935 [ruby/reline] Correct padding space calculation
fix https://github.com/ruby/irb/issues/308

This bug occurred when `dialog.width - calculate_width(s, true)` was negative.

When `dialog.width` is shorter than `old_dialog.width`, it calculates how much padding it has to do. However, there are cases where `s` is longer than `dialog.width`, as in the issue. In that case, `padding_space_with_escape_sequences` will crash.

Here, `old_dialog.width` is longer than `dialog.width`, so I changed the padding width to `old_dialog.width - dialog.width`.

c581c31e0f
2021-11-21 13:56:26 +09:00
Nobuyoshi Nakada
1009fd7ee3 [ruby/reline] Revert "Fix zero division when the screen width is not available"
This reverts commit 0dce9da083541f42c31822a91c72f339934c3986.

f71471cdde
2021-10-12 13:19:24 +09:00
Nobuyoshi Nakada
60689f0f20 [ruby/reline] Fix zero division when the screen width is not available
0dce9da083
2021-10-12 00:40:22 +09:00
aycabta
9cb7ba2f21 [ruby/reline] Add RELINE_ALT_SCROLLBAR env to use alternative text for scrollbar
The setting to use '::' instead of block elements.

4afbc98e2c
2021-10-09 23:23:02 +09:00
aycabta
e6ba2953e9 [ruby/reline] Fix calculating dialog width with full-width scrollbar
93bc9b5277
2021-10-09 23:22:57 +09:00
aycabta
ded5a66cb9 [ruby/reline] Use alternate text for scrollbar in non-UTF-8 env
69e365edcc
2021-10-08 18:48:44 +09:00
Jeremy Evans
55d7f63bde [ruby/reline] Better fix for non-UTF-8 default external encoding
Previous fix didn't show the cursor or dialogs.  This allows the
dialogs to continue to work.

651c5f63cc
2021-10-08 10:38:47 +09:00
Jeremy Evans
eb4682b3c6 [ruby/reline] Only show dialogs if default external encoding is UTF-8
Fixes a crash in IRB if a dialog is displayed and the default
external encoding is not UTF-8:

/home/jeremy/tmp/reline/lib/reline/line_editor.rb:731:in `write': U+2588 from UTF-8 to US-ASCII (Encoding::UndefinedConversionError)

f570525ecd
2021-10-08 10:38:43 +09:00
aycabta
374b15a84a [ruby/reline] Cut off the excess on narrow screen
972cc993ca
2021-10-08 10:33:22 +09:00
aycabta
a2f55679f0 [ruby/reline] Rename DIALOG_HEIGHT with DIALOG_DEFAULT_HEIGHT
996bfec64b
2021-10-08 10:33:17 +09:00
aycabta
f625645a37 [ruby/reline] The width of block elements is 1 on Windows
5f4a75c7a0
2021-10-05 22:33:07 +09:00
aycabta
64e96d6b41 [ruby/reline] Re-calc the scroll pos when the content in dialog is shortened
12ea63e6e0
2021-10-03 21:51:02 +09:00
aycabta
6cb37d4136 [ruby/reline] Initialize @trap_key to suppress warning
b42c0980d9
2021-10-03 21:38:05 +09:00
aycabta
bf4f3ef5ad [ruby/reline] Add a comment to use "private alias_method" idiom after drop Ruby 2.5
1b00cae0fd
2021-10-03 18:41:29 +09:00
aycabta
b91b3000bd [ruby/reline] Add code block notation in doc
b283791dc5
2021-10-03 15:31:47 +09:00
aycabta
bc5407f00c [ruby/reline] Add doc for ed-unassigned and ed-insert macro
7fe9ecf945
2021-10-03 15:25:50 +09:00
aycabta
95522ef8b9 [ruby/reline] Rerender whole buffer when argument editing finished
If the argument prompt disappears when pasting is finished, rerender the
whole buffer.

996bbf8797
2021-10-03 14:53:13 +09:00
TOMITA Masahiro
ef350b3a56 [ruby/reline] Simplify SIGWINCH handler to avoid aborting when resizing.
481add0537
2021-10-03 14:26:53 +09:00