<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/reline/test_key_actor_vi.rb, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/reline] Change quoted_insert and bracketed_paste to a single</title>
<updated>2024-12-16T13:53:34+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-12-16T13:53:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4428c51f01638c1ce6ba8a9eb8ffea00a4c78318'/>
<id>4428c51f01638c1ce6ba8a9eb8ffea00a4c78318</id>
<content type='text'>
key input
(https://github.com/ruby/reline/pull/792)

https://github.com/ruby/reline/commit/8f331edb07
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
key input
(https://github.com/ruby/reline/pull/792)

https://github.com/ruby/reline/commit/8f331edb07
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Combine MAPPINGS(single byte input to symbol) with</title>
<updated>2024-12-06T07:09:24+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-12-06T07:09:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5f65321915843faf47231a941f284e7375d6fb10'/>
<id>5f65321915843faf47231a941f284e7375d6fb10</id>
<content type='text'>
key_bindings(escape sequence to symbol)
(https://github.com/ruby/reline/pull/715)

https://github.com/ruby/reline/commit/6a7e249374
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
key_bindings(escape sequence to symbol)
(https://github.com/ruby/reline/pull/715)

https://github.com/ruby/reline/commit/6a7e249374
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Use IO's encoding instead of Encoding.default_external</title>
<updated>2024-10-22T14:43:18+00:00</updated>
<author>
<name>Wu</name>
<email>monkeywzr@gmail.com</email>
</author>
<published>2024-10-22T14:43:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e288604eb3d6c2c7607a11b471a2efb96d15937f'/>
<id>e288604eb3d6c2c7607a11b471a2efb96d15937f</id>
<content type='text'>
(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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(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
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Fix vi_yank or vi_delete_meta copies nil bug</title>
<updated>2024-06-18T14:57:19+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-06-18T14:57:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c2e2c5975d576076bb3e77524d5458d28e761742'/>
<id>c2e2c5975d576076bb3e77524d5458d28e761742</id>
<content type='text'>
(https://github.com/ruby/reline/pull/726)

https://github.com/ruby/reline/commit/46b30b07c9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/reline/pull/726)

https://github.com/ruby/reline/commit/46b30b07c9
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Improve key binding match/matching check</title>
<updated>2024-06-03T13:15:05+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-06-03T13:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=91d4a7ae0c719697db7dd6dd64ca664b60c9de04'/>
<id>91d4a7ae0c719697db7dd6dd64ca664b60c9de04</id>
<content type='text'>
(https://github.com/ruby/reline/pull/709)

* Improve key binding match/matching check

* Rename key_actors to default_key_bindings

* Make key_stroke.expand always return a value

* Update add_default_key_binding to use a add_default_key_binding_by_keymap internally

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;

---------

https://github.com/ruby/reline/commit/353ec236e2

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/reline/pull/709)

* Improve key binding match/matching check

* Rename key_actors to default_key_bindings

* Make key_stroke.expand always return a value

* Update add_default_key_binding to use a add_default_key_binding_by_keymap internally

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;

---------

https://github.com/ruby/reline/commit/353ec236e2

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Implement changing editing mode</title>
<updated>2024-04-16T11:58:49+00:00</updated>
<author>
<name>Mari Imaizumi</name>
<email>mariimaizumi5@gmail.com</email>
</author>
<published>2024-04-16T11:58:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=639449fe8d2493576faa764b1766ff2bc9c154ed'/>
<id>639449fe8d2493576faa764b1766ff2bc9c154ed</id>
<content type='text'>
(https://github.com/ruby/reline/pull/681)

https://github.com/ruby/reline/commit/501b9a6c5f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/reline/pull/681)

https://github.com/ruby/reline/commit/501b9a6c5f
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Fix vi_to_column which was broken</title>
<updated>2024-04-15T13:15:58+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-04-15T13:15:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=43f4da3ebfe39995fa6476af4ba4514ece8e4b4a'/>
<id>43f4da3ebfe39995fa6476af4ba4514ece8e4b4a</id>
<content type='text'>
(https://github.com/ruby/reline/pull/679)

https://github.com/ruby/reline/commit/9e93ad52e7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/reline/pull/679)

https://github.com/ruby/reline/commit/9e93ad52e7
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Refactor waiting_proc and waiting_operator_proc</title>
<updated>2024-04-14T14:28:15+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-04-14T14:28:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1648c4436e67ea9653c247087bf349bd431f5146'/>
<id>1648c4436e67ea9653c247087bf349bd431f5146</id>
<content type='text'>
(https://github.com/ruby/reline/pull/649)

* Fix waiting_proc precedence

* Fix waiting_operator bugs

* Add waiting_proc and vi_waiting_operator test

* Fix vi waiting operator arg number

vi_arg and vi_waiting_operator_arg should be multiplied

* Implement `yy` copies whole line in vi_command mode

* Simplify incremental search cancel test

* Add complex vi test with waiting_proc and vi_waiting_operator, split test input

https://github.com/ruby/reline/commit/777dffae1c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/reline/pull/649)

* Fix waiting_proc precedence

* Fix waiting_operator bugs

* Add waiting_proc and vi_waiting_operator test

* Fix vi waiting operator arg number

vi_arg and vi_waiting_operator_arg should be multiplied

* Implement `yy` copies whole line in vi_command mode

* Simplify incremental search cancel test

* Add complex vi test with waiting_proc and vi_waiting_operator, split test input

https://github.com/ruby/reline/commit/777dffae1c
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Support `menu-complete-backward` command for upward</title>
<updated>2024-04-14T09:13:20+00:00</updated>
<author>
<name>Michael J. Giarlo</name>
<email>mjgiarlo@stanford.edu</email>
</author>
<published>2024-04-14T09:13:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=76b10f2ee1bbc962f2b7f178b7dddb30985d56f7'/>
<id>76b10f2ee1bbc962f2b7f178b7dddb30985d56f7</id>
<content type='text'>
navigation
(https://github.com/ruby/reline/pull/677)

Fixes https://github.com/ruby/reline/pull/675

This commit extracts the upward navigation condition in `LineEditor#input_key` to a new private method, and adds a new alias. This change allows Reline to support upward navigation in when a user has configured `inputrc` to map Shift-Tab to `menu-complete-backward`, a common setting in Bash (&gt;= 4.x).

Instead of special-casing upward navigation in `LineEditor#input_key`, we now allow it to be processed by the branch that calls `process_key`. The extracted method no longer includes the editing mode check since this check is already made by `#wrap_method_call` by the time `#completion_journey_up` (or `#menu_complete_backward`) is called. Since upward navigation is happening in a method other than `#input_key` now, the `completion_occurs` variable that used to be local to `#input_key` is changed to an instance variable so that the new method can change its value. (I see many examples of mutating such instance variables in `LineEditor`, so I assumed this would be an uncontroversial change consistent with the coding practices already in place.)

Test coverage of this change has been added to the emacs and vi `KeyActor` tests.

Many thanks to @ima1zumi for their very helpful comments on #675 which encouraged me to contribute this work!

https://github.com/ruby/reline/commit/2ccdb374a4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
navigation
(https://github.com/ruby/reline/pull/677)

Fixes https://github.com/ruby/reline/pull/675

This commit extracts the upward navigation condition in `LineEditor#input_key` to a new private method, and adds a new alias. This change allows Reline to support upward navigation in when a user has configured `inputrc` to map Shift-Tab to `menu-complete-backward`, a common setting in Bash (&gt;= 4.x).

Instead of special-casing upward navigation in `LineEditor#input_key`, we now allow it to be processed by the branch that calls `process_key`. The extracted method no longer includes the editing mode check since this check is already made by `#wrap_method_call` by the time `#completion_journey_up` (or `#menu_complete_backward`) is called. Since upward navigation is happening in a method other than `#input_key` now, the `completion_occurs` variable that used to be local to `#input_key` is changed to an instance variable so that the new method can change its value. (I see many examples of mutating such instance variables in `LineEditor`, so I assumed this would be an uncontroversial change consistent with the coding practices already in place.)

Test coverage of this change has been added to the emacs and vi `KeyActor` tests.

Many thanks to @ima1zumi for their very helpful comments on #675 which encouraged me to contribute this work!

https://github.com/ruby/reline/commit/2ccdb374a4
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/reline] Remove useless tests</title>
<updated>2024-03-25T11:06:39+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-03-25T11:06:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5f334b67d23f1397b71931646c96fb6b8aa96e08'/>
<id>5f334b67d23f1397b71931646c96fb6b8aa96e08</id>
<content type='text'>
(https://github.com/ruby/reline/pull/665)

The pasting tests hadn't been working since as early as v0.2.0. Since
what it tried to cover is already gone for such a long time, I think it's
better to write new ones if needed then to keep them around.

And since these tests are gone, the helper methods for just them are also gone.

https://github.com/ruby/reline/commit/0eedf0e4a0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/reline/pull/665)

The pasting tests hadn't been working since as early as v0.2.0. Since
what it tried to cover is already gone for such a long time, I think it's
better to write new ones if needed then to keep them around.

And since these tests are gone, the helper methods for just them are also gone.

https://github.com/ruby/reline/commit/0eedf0e4a0
</pre>
</div>
</content>
</entry>
</feed>
