| Age | Commit message (Collapse) | Author |
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12624
|
|
(https://github.com/ruby/irb/pull/1065)
https://github.com/ruby/irb/commit/0b60a5be1d
|
|
(https://github.com/ruby/irb/pull/940)
https://github.com/ruby/irb/commit/0bbe435ffe
|
|
(https://github.com/ruby/irb/pull/676)
https://github.com/ruby/irb/commit/a2763acade
|
|
(https://github.com/ruby/irb/pull/555)
* Remove all Ruby 2.6 support
* Drop Ruby 2.6 specific testing conditions
* Only run Ruby 2.7+ on CI
* Bump Ruby requirement to 2.7+
https://github.com/ruby/irb/commit/3f714b616c
|
|
(https://github.com/ruby/irb/pull/508)
https://github.com/ruby/irb/commit/dd7f25cd45
Co-authored-by: Stan Lo <stan001212@gmail.com>
|
|
Removing /\A.+\n/ could have an unexpected impact, depending on how
RubyLex.generate_local_variables_assign_code is implemented. It feels
like a too much assumption and the intention isn't immediately clear,
so I added these changes.
https://github.com/ruby/irb/commit/ccc07a35ce
|
|
(https://github.com/ruby/irb/pull/397)
* Use local_variables for colorize, code_block_open check, nesting_level and assignment_expression check
* Check if expression is an assignment BEFORE evaluating it. evaluate might define new localvars and change result of assignment_expression?
* Add local_variables dependent code test
* pend local variable dependent test on truffleruby
code_block_open is not working on truffleruby
* Always pass context to RubyLex#lex
* Rename local_variable_assign_code generator method name
* Add assignment expression truncate test
* Add Context#local_variables and make generate_local_variables_assign_code more simple
* Update lib/irb/input-method.rb
Co-authored-by: Stan Lo <stan001212@gmail.com>
* Add a comment why assignment expression check should be done before evaluate
https://github.com/ruby/irb/commit/c8b3877281
Co-authored-by: Stan Lo <stan001212@gmail.com>
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
|
|
https://github.com/ruby/irb/commit/da54e7f081
|
|
https://github.com/ruby/irb/commit/d14e56a65d
|
|
loaded
ruby/debug uses `irb/color` selectively:
https://github.com/ruby/debug/blob/0ac22406bb8f65bc76f9f5576a00c729cac693af/lib/debug/color.rb#L4
And in that case, `IRB.conf` won't be defined. So Color.colorable? needs
to consider that.
This also fixes the Ruby trunk CI.
https://github.com/ruby/irb/commit/b2cd07e795
|
|
* Use colorable: argument as the only coloring control
* Centalize color controling logic at Color.colorable?
There are 2 requirements for coloring output:
1. It's supported on the platform
2. The user wants it: `IRB.conf[:USE_COLORIZE] == true`
Right now we check 1 and 2 separately whenever we colorize things.
But it's error-prone because while 1 is the default of `colorable`
parameter, 2 always need to manually checked. When 2 is overlooked, it
causes issues like https://github.com/ruby/irb/pull/362
And there's 0 case where we may want to colorize even when the user
disables it. So I think we should merge 2 into `Color.colorable?` so it
can be automatically picked up.
* Add tests for all inspect modes
* Simplify inspectors' coloring logic
* Replace use_colorize? with Color.colorable?
* Remove Context#use_colorize cause it's redundant
https://github.com/ruby/irb/commit/1c53023ac4
|
|
1. `require` can mislead Ruby to load system irb's files and cause
constant redefined warnings as other code loads the same module/class
from lib folder.
2. Most files already use `require_relative`.
https://github.com/ruby/irb/commit/848d339f2e
|
|
Currently `IRB::Color.colorize` and `IRB::Color.colorize_code`
refer `$stdin.tty?` internally.
This patch adds `colorable` keyword option which overrides it.
https://github.com/ruby/irb/commit/402e3f1907
|
|
And the required ruby version is 2.5 or later.
https://github.com/ruby/irb/commit/ac496d4c78
|
|
https://github.com/ruby/irb/commit/9b84018311
|
|
https://github.com/ruby/irb/commit/a6a33d908f
|
|
https://github.com/ruby/irb/commit/cef474a76a
|
|
Just forgotten in https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f6a2825
https://github.com/ruby/irb/commit/e42e548793
|
|
This is to prevent a yellow-mixed output for ActiveSupport::TimeWithZone.
Follows up https://github.com/ruby/irb/pull/159 and https://github.com/ruby/ruby/pull/3967.
https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f6a2825
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
https://github.com/ruby/irb/commit/dffcdb5269
|
|
https://github.com/ruby/irb/commit/3ea9fd9ed0
|
|
|
|
nobu-san reviewed,
https://github.com/ruby/irb/pull/106#pullrequestreview-423400033
> How about lexer = Ripper::Lexer.new(";\n#{code}", nil, 0)?
> Encoding pragma is effective only at the beginning.
> And the semicolon and newline will be skipped because the position is before
> the initial pos.
I employ the way.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
https://github.com/ruby/irb/commit/e593cc65b7
|
|
https://github.com/ruby/irb/commit/6a457edbd1
|
|
Co-authored-by: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
|
|
|
|
|
|
like pry
|
|
https://github.com/ruby/ruby/commit/f94202fcc228d0348ca050a7b18a8f8a538a7305#commitcomment-35505076
Co-Authored-By: Ary Borenszweig <asterite@gmail.com>
|
|
|
|
|
|
[Bug #16250]
|
|
Upgrade IRB to https://github.com/ruby/irb/commit/41ea43a4a732e094acfa1b0fc1473fdcda9e6227
Mostly backport changes.
|
|
|
|
0c459af7c233adb5f44022350bfe8fa132d8053e changed the meaning of
`detect_compile_error`, and this commit lets it follow the change.
|
|
This was needed before 0c459af7c233adb5f44022350bfe8fa132d8053e but it
could be actually useless now. But I added this anyway just in case.
|
|
* lib/irb/color.rb (IRB::Color.scan): ignore "incomplete end of
input" error only, to colorize invalid characters, e.g., control
characters, and invalid symbols, as errors.
|
|
|
|
Let's say we are in progress to write `"foo"`:
```
irb> "fo
```
at this moment, nothing is wrong.
It would be just a normal way to write `"foo"`.
Prior to this commit, the `fo` part was warned because of
5b64d7ac6e7cbf759b859428f125539e58bac0bd. But I think warning such a
normal input is not valuable for users.
However, we'd like to warn `:@1` or `@@1` which is also a syntax error.
Then this commit switches the syntax highlight based on whether the
input text is finished or not. When it's not finished yet, it does not
warn compile_error.
|
|
because 5b64d7ac6e7cbf759b859428f125539e58bac0bd made it hard to
understand #colorize_code for me and this change is needed for my next
commit.
|
|
* lib/irb/color.rb (IRB::Color.colorize_code): colorize
`compile_error` part as same as `on_parse_error`.
|
|
* lib/irb/color.rb (IRB::Color.colorize): get rid of nesting string
interpolations not to confuse ruby-mode.el
|
|
* ext/ripper/lib/ripper/lexer.rb (Ripper::Lexer#scan): parses the
code and returns the result elements including errors.
[EXPERIMENTAL]
|
|
|
|
|
|
This reverts commit c7f3c222c9b82736c993419daa6bfb643e5c0793.
|
|
Colorize `compile_error` parts as well as `on_parse_error` parts.
|
|
|