aycabta
a2d2f00e4a
[ruby/reline] Adjust border of scrollbar rendering calculation
...
737b23beae
2021-10-03 14:08:49 +09:00
aycabta
1d2edda9f8
[ruby/reline] The @block_elem_width shouldn't be used for height calculation
...
da35902d78
2021-10-03 14:08:45 +09:00
aycabta
5eb8b6d1bd
[ruby/reline] Support ed_argument_digit by M+num
...
The vi mode can handle "argument number" before an operator or a motion,
such as, "3x" (equals "xxx"), and "3l" (equals "lll"). In the emacs
mode, GNU Readline can handle argument number with meta key, like
"Meta+3 x" (equals "xxx").
9183cc2e8b
2021-09-29 22:07:49 +09:00
aycabta
c4acde8959
[ruby/reline] Ignore NUL by ed_quoted_insert
...
43b7c01a98
2021-09-28 14:15:49 +09:00
aycabta
a230ff0f83
[ruby/reline] ^K is kill-line and ^U is unix-line-discard for inputrc
...
5936071940
2021-09-27 01:16:15 +09:00
Jake Zimmerman
3f7b08d2cb
[ruby/reline] Implement vi_kill_line_prev
...
This operation is mentioned and bound to `^U` in both `vi_command.rb`
and `vi_insert.rb`, but there is no definition of it.
Both Vi and Emacs use the same keystroke to do the same behavior, so
I've chosen to use `alias_method` to make the implementation small,
rather than duplicating the method and re-implementing it.
fdbfc8669f
2021-09-26 23:47:11 +09:00
aycabta
f726c79d74
[ruby/reline] Add aliases {prev,next}_history to ed_{prev,next}_history
...
d740e18cff
2021-09-25 00:11:44 +09:00
aycabta
63aba76893
[ruby/reline] Use SGR 0 instead of SGR 39 and 49 to reset font settings
...
cbacb4c1cf
2021-09-24 03:08:33 +09:00
aycabta
3b5923bca3
[ruby/reline] Reset all font settings at left end of dialog
...
5f293b5127
2021-09-23 23:41:55 +09:00
aycabta
5dc753df47
[ruby/reline] Move #pointer from DialogRenderInfo to Dialog
...
92dbac0bff
2021-09-10 11:38:54 +09:00
aycabta
5af602e4d4
[ruby/reline] Erase lines correctly when dialog height is changed
...
68d2516551
2021-09-10 09:05:25 +09:00
aycabta
e4eb085329
[ruby/reline] Render scrollbar when the column of the dialog is moved
...
5cea268e56
2021-09-08 03:34:51 +09:00
aycabta
8b6d757ba0
[ruby/reline] Remove variables that have no meaning in calculations
...
3b7a1900fd
2021-09-08 03:34:46 +09:00
aycabta
11a00e3fa2
[ruby/reline] Remove garbage left behind when rerendering the right side of the dialog
...
d89c23e30b
2021-09-08 03:34:40 +09:00
aycabta
95089ddaf4
[ruby/reline] Move only one line when render a line and then go to the next line
...
8a966cd962
2021-09-08 01:11:13 +09:00
aycabta
6faf653ab0
[ruby/reline] The #reset_dialog should also use calculated block elem width
...
577df401b9
2021-09-08 00:13:21 +09:00
aycabta
5a01da7a29
[ruby/reline] Remove debug print
...
6f82177f2e
2021-09-08 00:08:48 +09:00
aycabta
b766214851
[ruby/reline] Calculate block elem width only once
...
3054a67d05
2021-09-08 00:08:43 +09:00
aycabta
0ef3d574a0
[ruby/reline] Ensure that scrollbar is only rerendered when the position is changed
...
f629853eae
2021-09-08 00:08:38 +09:00
aycabta
30486d9150
[ruby/reline] The width of Block Elements in Unicode is East Asian Ambiguous
...
05e8ab8cbb
2021-09-08 00:04:40 +09:00
aycabta
cec50ec8d6
[ruby/reline] Remove SIG prefix because don't use it in any other signal processing
...
37648042e8
2021-09-07 02:42:42 +09:00
aycabta
f927614e55
[ruby/reline] Use String for the value to be passed because Signal.trap also returns String
...
b908fe4439
2021-09-07 02:42:38 +09:00
aycabta
4885a61b12
[ruby/reline] Rescue ArgumentError from Signal.trap(:TSTP) on Windows
...
8da8182d1c
2021-09-07 01:59:13 +09:00
aycabta
e8ad881336
[ruby/reline] Trap TSTP to handle C-z
...
ebbd0076b8
2021-09-07 01:59:05 +09:00
aycabta
32ff4a8c93
[ruby/reline] Set scrollbar color
...
d7962e420d
2021-09-06 05:35:03 +09:00
aycabta
79652c5873
[ruby/reline] Support multiple trap_key
...
b0207fa049
2021-09-06 05:24:05 +09:00
aycabta
544cd3fb91
[ruby/reline] Support oneshot key bindings config for key_trap of dialog callbacks
...
5f1141b693
2021-09-06 05:23:06 +09:00
aycabta
03e9887d2e
[ruby/reline] Correct misalignment of scrollbar
...
7924b4cfc6
2021-09-04 21:40:17 +09:00
aycabta
ec36ceb072
[ruby/reline] Implement scrollbar
...
4c7fc42151
2021-09-04 21:40:12 +09:00
aycabta
9e0caba187
[ruby/reline] Add Reline::Key#match?
...
8f6aa3af2e
2021-09-03 04:27:48 +09:00
aycabta
38ae3b8e36
[ruby/reline] Add key accessor for dialog callbacks
...
c949e44a14
2021-09-03 04:27:42 +09:00
aycabta
f3fe3511da
[ruby/reline] Swap the order of initialization for readability
...
d53749b208
2021-09-03 03:32:12 +09:00
aycabta
93080111cd
[ruby/reline] Fix autocomplete dialog width
...
9868432687
2021-09-03 03:32:07 +09:00
aycabta
afa4b59e06
[ruby/reline] Clear only necessary parts when dialog disappearing
...
46ff0ff435
2021-09-02 17:11:21 +09:00
aycabta
4208cd0301
[ruby/reline] Shrink the dialog height when contents is shorter than it
...
a18817635f
2021-09-02 17:11:14 +09:00
aycabta
a44d28db9f
[ruby/reline] Fix a misalignment when dialog is shown on top
...
0527b1a492
2021-09-02 17:11:09 +09:00
aycabta
123fcc8c92
[ruby/reline] Remove an unnsed constant
...
44da8a6b9e
2021-09-02 17:11:01 +09:00
aycabta
4852d87a81
[ruby/reline] Fix a crash when completing empty line
...
8226ae7e57
2021-09-02 14:07:48 +09:00
aycabta
5f23003cc2
[ruby/reline] Fix a crash when completing after 2nd line
...
f9d3480c34
2021-09-02 14:07:40 +09:00
aycabta
f9bdb17c02
[ruby/reline] Use padding_space_with_escape_sequences to padding spaces in reset_dialog
...
7d582f4982
2021-09-01 18:05:37 +09:00
aycabta
acf11b94d2
[ruby/reline] Cut out a method that calcs width including the escape sequence and padding with spaces
...
46c9d944e5
2021-09-01 18:05:30 +09:00
aycabta
a669b9661e
[ruby/reline] Calc width including escape sequences and padding with spaces correctly
...
21c795e97f
2021-09-01 18:05:25 +09:00
aycabta
3bd3adde7c
[ruby/reline] Calc width including escape sequences and clear dialog correctly
...
9b812d5151
2021-09-01 18:05:20 +09:00
aycabta
9b188ac238
[ruby/reline] Remove one unnecessary nest for simplicity's sake
...
f4bda85a7c
2021-08-31 20:48:54 +09:00
aycabta
64373a3c58
Move access to dialog_render_info inside nil check
2021-08-31 20:35:10 +09:00
aycabta
7afb5b8b95
[ruby/reline] Use Reline::Unicode.take_range to devide exactly by width
...
de1ad93f44
2021-08-31 15:19:44 +09:00
aycabta
4f5166e790
[ruby/reline] Check if dialog_render_info is nil or not
...
e2b87fe831
2021-08-31 15:19:37 +09:00
aycabta
c8a07a1231
[ruby/reline] Fix Reline::Unicode.take_range as it was not fully functional
...
5da6a8d851
2021-08-31 15:19:32 +09:00
aycabta
7fae57dbb4
[ruby/reline] Use dynamic contents width
...
f0e54f239b
2021-08-31 15:19:25 +09:00
aycabta
a598730e79
[ruby/reline] Remove an unused variable
...
0ae7d8b336
2021-08-31 05:45:02 +09:00