| Age | Commit message (Collapse) | Author |
|
(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>
|
|
Deprecates IDB::ReidlineInputMethod and USE_REIDLINE in favor of
IRB::RelineInputMethod and USE_RELINE. The Input method uses Reline to
read input from the console, so it can be named directly after the
Reline library like other inputs methods are (Readline, Stdio, etc.).
https://github.com/ruby/irb/commit/5bcade7130
|
|
script
Also add --script option to turn the option back on.
Previously there wasn't a way to get an interactive IRB session
and access arguments provided on the command line.
Additionally, handle `-` as script as stdin. In Unix-like tools, `-`
means to take standard input instead of a file. This doesn't
result in exactly the same output for:
```
echo 'p ARGV' > args.rb; irb args.rb a b c
```
and
```
echo 'p ARGV' | irb - a b c
```
Due to how irb handles whether stdin is a tty.
However, this change allows use of `-` as a argument, instead of
giving an unrecognized switch error. This required some small
changes to context.rb (to handle `-` as standard input) and
input-method.rb (to have FileInputMethod accept IO arguments in
addition to strings).
Implements [Feature #15371]
https://github.com/ruby/irb/commit/4192683ba2
|
|
RDoc is implemented as soft dependency in IRB. See how the rdoc is required in
the files. I reverted the commit below.
```
$ grep -ril rdoc lib/
lib/irb/cmd/help.rb
lib/irb/completion.rb
lib/irb/easter-egg.rb
lib/irb/input-method.rb
```
---
Revert "Remove `require` in signal handler to avoid ThreadError"
This reverts commit https://github.com/ruby/irb/commit/5f749c613c89.
https://github.com/ruby/irb/commit/b24852058f
|
|
This has been introduced in https://github.com/ruby/irb/commit/026700499dfd,
but it seems that this is just be mistake, otherwise the later handling
of `LoadError` would not be needed.
https://github.com/ruby/irb/commit/54c8df06ff
|
|
When outputting a (possibly truncated) value, IRB will query the
window size. However, if IRB was piped to another process, stdout
will no longer be a TTY and will not support the `winsize` method.
This fix ensure that stdout is a TTY.
https://github.com/ruby/irb/commit/125de5eeea
|
|
(https://github.com/ruby/irb/pull/323)
https://github.com/ruby/irb/commit/1c03bd3373
|
|
https://github.com/ruby/irb/commit/a4b95d6634
|
|
I pushed reline#389 for when convert-meta is not turned on in .inputrc.
Alt+D in irb also needs to be set to the keycode for not using convert-meta.
https://github.com/ruby/irb/commit/328eddf851
|
|
https://github.com/ruby/irb/commit/3f79cb506f
|
|
correctly
https://github.com/ruby/irb/commit/5df6e1f027
|
|
https://github.com/ruby/irb/commit/f34da7fa04
|
|
by using variable names
https://github.com/ruby/irb/commit/a23a88b8c9
|
|
https://github.com/ruby/irb/commit/4d7cefcaa4
|
|
From Reidline to Reline
Update description used in take_corresponding_syntax_to_kw_do and is_the_in_correspond_to_a_for methods
Use possessive noun correctly
Second element
https://github.com/ruby/irb/commit/4fa9714d6f
|
|
`rdoc` has been required so it looks unnecessary
https://github.com/ruby/irb/commit/5f749c613c
|
|
https://github.com/ruby/irb/commit/4cb5f7e546
|
|
https://github.com/ruby/irb/commit/416abe2524
|
|
https://github.com/ruby/irb/commit/7dda1f803e
|
|
https://github.com/ruby/irb/commit/a9db71e6bc
|
|
left of the cursor
https://github.com/ruby/irb/commit/0090203107
|
|
https://github.com/ruby/irb/commit/b05ce3c72d
|
|
https://github.com/ruby/irb/commit/6370a5d974
|
|
https://github.com/ruby/irb/commit/368327b082
|
|
https://github.com/ruby/irb/commit/80c4329643
|
|
https://github.com/ruby/irb/commit/49a73d929e
|
|
https://github.com/ruby/irb/commit/6480eddd31
|
|
Because it's just used to receive data from the autocomplete dialog, not
for show doc dialog.
https://github.com/ruby/irb/commit/f8b752bd98
|
|
https://github.com/ruby/irb/commit/5bc3a72ca3
|
|
https://github.com/ruby/irb/commit/7209082a11
|
|
https://github.com/ruby/irb/commit/48af34bfc2
|
|
https://github.com/ruby/irb/commit/7c2abc14d8
|
|
https://github.com/ruby/irb/commit/92cce941cb
|
|
|
|
https://github.com/ruby/irb/commit/c5f13b23d7
|
|
https://github.com/ruby/irb/commit/026700499d
|
|
https://github.com/ruby/irb/commit/bc1b1d8bc3
|
|
this allows pasting leading-dot chained methods correctly:
```ruby
class A
def a; self; end
def b; true; end
end
a = A.new
a
.a
.b
```
will properly return `true` instead of erroring on the `.a` line:
```
irb(main):001:1* class A
irb(main):002:1* def a; self; end
irb(main):003:0> end
irb(main):004:0*
irb(main):005:0> a = A.new
irb(main):006:0*
irb(main):007:0> a
irb(main):008:0> .a
irb(main):009:0> .a
=> #<A:0x00007f984211fbe8>
```
https://github.com/ruby/irb/commit/45aeb52575
|
|
https://github.com/ruby/irb/commit/1c61178b4c
|
|
* tweak some methods not to raise exception after `#close`
* use it in `IRB::IrbLoader#{source_file,load_file}
https://github.com/ruby/irb/commit/ec2947acbd
|
|
This fixes --inf-ruby-mode.
https://github.com/ruby/irb/commit/0e4a818955
|
|
Omit the results evaluated at assignment if they are too long.
The behavior of ECHO_ON_ASSIGNMENT being on by default is hard to understand,
so I change it to off by default. Instead, we turn OMIT_ON_ASSIGNMENT on by
default. The result is displayed on assignment, but it will always be short
and within one line of the screen.
https://github.com/ruby/irb/commit/c5ea79d5ce
|
|
https://github.com/ruby/irb/commit/be2937abd5
|
|
https://github.com/ruby/irb/commit/420e7d2270
|
|
https://github.com/ruby/irb/commit/cdbb9dfc9f
|
|
https://github.com/ruby/irb/commit/a6fe58e916
|
|
|
|
String#grapheme_clusters"
This reverts commit 2b0b19b87c60d2cdb329979acbb96e12a1f940e7.
New IRB parser needs new Ripper what has lex_state too. The new Ripper is
adopted by Ruby 2.5 or later.
https://github.com/ruby/irb/commit/9ab6e35a2c
|
|
https://github.com/ruby/irb/commit/2b0b19b87c
|
|
"IRB::InputMethod#eof?" requires eof status each user input but
"ReidlineInputMethod#eof?" used "Reline.eof?" what is singleton data.
"ReidlineInputMethod#eof?" is changed to use the result of user input.
|