<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/irb/ruby-lex.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/irb] Group class methods under `class &lt;&lt; self`</title>
<updated>2024-07-16T15:58:15+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-07-16T15:58:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4a4e1bf357f5b5f568ead4da0537eb4506e20e5f'/>
<id>4a4e1bf357f5b5f568ead4da0537eb4506e20e5f</id>
<content type='text'>
(https://github.com/ruby/irb/pull/981)

https://github.com/ruby/irb/commit/cdaa356df2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/981)

https://github.com/ruby/irb/commit/cdaa356df2
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Reorder ruby lex clauses for unrecoverable first</title>
<updated>2024-05-17T02:44:57+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2024-05-17T02:44:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=84d2bacb424094f1b57cff0f2dd4381e9f8bd9ed'/>
<id>84d2bacb424094f1b57cff0f2dd4381e9f8bd9ed</id>
<content type='text'>
(https://github.com/ruby/irb/pull/956)

When a syntax error includes multiple error messages, we want to
check for unrecoverable messages first so that we do not
accidentally match a recoverable error later in the message.

https://github.com/ruby/irb/commit/2f42b2360d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/956)

When a syntax error includes multiple error messages, we want to
check for unrecoverable messages first so that we do not
accidentally match a recoverable error later in the message.

https://github.com/ruby/irb/commit/2f42b2360d
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Simplify regexp to account for prism error messages</title>
<updated>2024-05-10T09:39:11+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2024-05-10T09:39:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=69d0a3b033cfcb998020d54c0e3cec24b5f07b45'/>
<id>69d0a3b033cfcb998020d54c0e3cec24b5f07b45</id>
<content type='text'>
(https://github.com/ruby/irb/pull/954)

https://github.com/ruby/irb/commit/e0c29be074

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/irb/pull/954)

https://github.com/ruby/irb/commit/e0c29be074

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Turn on frozen literal in files</title>
<updated>2024-02-23T10:53:53+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-02-23T10:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4831bb5babb0743dce7aa6db6c2258d62ff962af'/>
<id>4831bb5babb0743dce7aa6db6c2258d62ff962af</id>
<content type='text'>
(https://github.com/ruby/irb/pull/881)

https://github.com/ruby/irb/commit/83d90550c2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/881)

https://github.com/ruby/irb/commit/83d90550c2
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Fix undef and alias indent</title>
<updated>2024-01-30T12:55:47+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-01-30T12:55:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fd44b42fb308ddf71d709a508901d68583e61f51'/>
<id>fd44b42fb308ddf71d709a508901d68583e61f51</id>
<content type='text'>
(https://github.com/ruby/irb/pull/838)

https://github.com/ruby/irb/commit/a641746b18
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/838)

https://github.com/ruby/irb/commit/a641746b18
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Decouple RubyLex from prompt and line_no</title>
<updated>2023-10-12T12:53:31+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2023-10-12T12:53:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e029375a7dc59897931fd3cfe334ffd4864f5049'/>
<id>e029375a7dc59897931fd3cfe334ffd4864f5049</id>
<content type='text'>
(https://github.com/ruby/irb/pull/701)

* Remove instance variable prompt and line_no from RubyLex

* Fix prompt test

* Rename prompt generating method and make it private

https://github.com/ruby/irb/commit/1ceb97fe2e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/701)

* Remove instance variable prompt and line_no from RubyLex

* Fix prompt test

* Rename prompt generating method and make it private

https://github.com/ruby/irb/commit/1ceb97fe2e
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Clear all context usages in RubyLex</title>
<updated>2023-10-04T12:13:33+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-10-04T12:13:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b43cc51dcad9859ea6c54cb4f03105c8511582de'/>
<id>b43cc51dcad9859ea6c54cb4f03105c8511582de</id>
<content type='text'>
(https://github.com/ruby/irb/pull/684)

After this change, `RubyLex` will not interact with `Context` directly
in any way. This decoupling has a few benefits:

- It makes `RubyLex` easier to test as it no longer has a dependency on
  `Context`. We can see this from the removal of `build_context` from
  `test_ruby_lex.rb`.
- It will make `RubyLex` easier to understand as it will not be affected
  by state changes in `Context` objects.
- It allows `RubyLex` to be used in places where `Context` is not available.

https://github.com/ruby/irb/commit/d5b262a076
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/684)

After this change, `RubyLex` will not interact with `Context` directly
in any way. This decoupling has a few benefits:

- It makes `RubyLex` easier to test as it no longer has a dependency on
  `Context`. We can see this from the removal of `build_context` from
  `test_ruby_lex.rb`.
- It will make `RubyLex` easier to understand as it will not be affected
  by state changes in `Context` objects.
- It allows `RubyLex` to be used in places where `Context` is not available.

https://github.com/ruby/irb/commit/d5b262a076
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Deprecate RubyLex and warn about referencing to it</title>
<updated>2023-08-24T15:35:40+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-08-24T15:35:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e1d7066a5f612c3f6977443d2b574dab67041ad6'/>
<id>e1d7066a5f612c3f6977443d2b574dab67041ad6</id>
<content type='text'>
(https://github.com/ruby/irb/pull/692)

`RubyLex` has always been a private component of IRB, so we should
explicitly discourage usages of it.
Also, it should be placed under the `IRB` module like other components.

https://github.com/ruby/irb/commit/069b5625f7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/692)

`RubyLex` has always been a private component of IRB, so we should
explicitly discourage usages of it.
Also, it should be placed under the `IRB` module like other components.

https://github.com/ruby/irb/commit/069b5625f7
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Move input processing out of RubyLex</title>
<updated>2023-08-21T15:42:15+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-08-21T15:42:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=86ac17efde6cf98903513cac2538b15fc4ac80b2'/>
<id>86ac17efde6cf98903513cac2538b15fc4ac80b2</id>
<content type='text'>
(https://github.com/ruby/irb/pull/683)

* Add a test case for Ctrl-C handling

* Test symbol aliases with integration tests

There are a few places that also need to check symbol aliases before
`Irb#eval_input`. But since the current command test skip them, we
don't have test coverage on them.

* Move each_top_level_statement and readmultiline to Irb

This will save RubyLex from knowning information about commands and aliases.

https://github.com/ruby/irb/commit/69cb5b5615
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/683)

* Add a test case for Ctrl-C handling

* Test symbol aliases with integration tests

There are a few places that also need to check symbol aliases before
`Irb#eval_input`. But since the current command test skip them, we
don't have test coverage on them.

* Move each_top_level_statement and readmultiline to Irb

This will save RubyLex from knowning information about commands and aliases.

https://github.com/ruby/irb/commit/69cb5b5615
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Encapsulate input details in Statement objects</title>
<updated>2023-08-16T10:13:46+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-08-16T10:13:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5a40f7db54dfcc7dadb75dde32c25b88c78d6a85'/>
<id>5a40f7db54dfcc7dadb75dde32c25b88c78d6a85</id>
<content type='text'>
(https://github.com/ruby/irb/pull/682)

* Introduce Statement class

* Split Statement class for better clarity

https://github.com/ruby/irb/commit/65e8e68690
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/682)

* Introduce Statement class

* Split Statement class for better clarity

https://github.com/ruby/irb/commit/65e8e68690
</pre>
</div>
</content>
</entry>
</feed>
