summaryrefslogtreecommitdiff
path: root/lib/irb
AgeCommit message (Collapse)Author
2021-04-26[ruby/irb] Added `colorable` keyword optionNobuyoshi Nakada
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
2021-04-26[ruby/irb] Fix typo ture -> true [ci skip]Ryuta Kamizono
https://github.com/ruby/irb/commit/783a0569e8
2021-04-08[ruby/irb] Moved development dependencies to GemfileNobuyoshi Nakada
As expressions in a gemspec file are evaluated at the build time, but not the run time, the conditional in the gemspec will not work as intended. https://github.com/ruby/irb/commit/42f364ea23
2021-04-08[ruby/irb] Ripper::Lexer::Elem#state is defined since Ruby 2.5Nobuyoshi Nakada
And the required ruby version is 2.5 or later. https://github.com/ruby/irb/commit/ac496d4c78
2021-04-04[ruby/irb] Check WITH_VTERM env to add vterm gem as dependencyaycabta
https://github.com/ruby/irb/commit/23c8b73cb1
2021-04-03[ruby/irb] Use vterm 0.0.5 or newer on Unix like OSes because suppresses SEGVaycabta
https://github.com/ruby/irb/commit/b034bd22b0
2021-04-03[ruby/irb] Use yamatanooroti gem for testsaycabta
https://github.com/ruby/irb/commit/f053f49c29
2021-04-03[ruby/irb] Version 1.3.5aycabta
https://github.com/ruby/irb/commit/22e2ddf715
2021-04-03[ruby/irb] Evaluate each toplevel statementaycabta
https://github.com/ruby/irb/commit/bc1b1d8bc3
2021-04-03[ruby/irb] process multi-line pastes as a single entityCody Cutrer
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
2021-04-02[ruby/irb] Add show_source commandTakashi Kokubun
https://github.com/ruby/irb/commit/108cb04352
2021-04-02[ruby/irb] Colorize `__END__` as keywordNobuyoshi Nakada
https://github.com/ruby/irb/commit/9b84018311
2021-03-30[ruby/irb] Prevent the completion from crashing if rdoc is missingAleksandar Ivanov
There are cases where ruby is installed without rdoc and e.g. lib/irb/cmd/help.rb also handles the LoadError Here is how to replicate the issue: ``` $ docker run -it alpine:3.13.3 sh / # apk add ruby ruby-irb ruby-io-console / # irb irb(main):001:0> Class[TAB][TAB] ``` And you end up with something like: ``` irb(main):001:0> ClassTraceback (most recent call last): 34: from /usr/bin/irb:23:in `<main>' 33: from /usr/bin/irb:23:in `load' 32: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.6/exe/irb:11:in `<top (required)>' 31: from /usr/lib/ruby/2.7.0/irb.rb:400:in `start' 30: from /usr/lib/ruby/2.7.0/irb.rb:471:in `run' 29: from /usr/lib/ruby/2.7.0/irb.rb:471:in `catch' 28: from /usr/lib/ruby/2.7.0/irb.rb:472:in `block in run' 27: from /usr/lib/ruby/2.7.0/irb.rb:537:in `eval_input' 26: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:150:in `each_top_level_statement' 25: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:150:in `catch' 24: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:151:in `block in each_top_level_statement' 23: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:151:in `loop' 22: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:154:in `block (2 levels) in each_top_level_statement' 21: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:182:in `lex' 20: from /usr/lib/ruby/2.7.0/irb.rb:518:in `block in eval_input' 19: from /usr/lib/ruby/2.7.0/irb.rb:704:in `signal_status' 18: from /usr/lib/ruby/2.7.0/irb.rb:519:in `block (2 levels) in eval_input' 17: from /usr/lib/ruby/2.7.0/irb/input-method.rb:294:in `gets' 16: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline' 15: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline' 14: from /usr/lib/ruby/2.7.0/reline.rb:175:in `readmultiline' 13: from /usr/lib/ruby/2.7.0/reline.rb:238:in `inner_readline' 12: from /usr/lib/ruby/2.7.0/reline.rb:238:in `loop' 11: from /usr/lib/ruby/2.7.0/reline.rb:239:in `block in inner_readline' 10: from /usr/lib/ruby/2.7.0/reline.rb:270:in `read_io' 9: from /usr/lib/ruby/2.7.0/reline.rb:270:in `loop' 8: from /usr/lib/ruby/2.7.0/reline.rb:311:in `block in read_io' 7: from /usr/lib/ruby/2.7.0/reline.rb:240:in `block (2 levels) in inner_readline' 6: from /usr/lib/ruby/2.7.0/reline.rb:240:in `each' 5: from /usr/lib/ruby/2.7.0/reline.rb:241:in `block (3 levels) in inner_readline' 4: from /usr/lib/ruby/2.7.0/reline/line_editor.rb:820:in `input_key' 3: from /usr/lib/ruby/2.7.0/reline/line_editor.rb:608:in `complete' 2: from /usr/lib/ruby/2.7.0/irb/completion.rb:269:in `block in <module:InputCompletor>' 1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- rdoc (LoadError) ``` https://github.com/ruby/irb/commit/a2d299c2ac
2021-03-25[ruby/irb] Cache completion files to requireaycabta
https://github.com/ruby/irb/commit/612ebcb311
2021-03-24[ruby/irb] Complete require and require_relativeaycabta
https://github.com/ruby/irb/commit/1c61178b4c
2021-03-24[ruby/irb] Change ripper_lex_without_warning to a class methodaycabta
https://github.com/ruby/irb/commit/d9f8abc17e
2021-03-21[ruby/irb] Have some right paddingTakashi Kokubun
instead of filling out an entire line https://github.com/ruby/irb/commit/6ac8f45f5f
2021-03-21[ruby/irb] Fix step's argumentTakashi Kokubun
cols.size was calling Integer#size, which returns 8. Fixing a bug of https://github.com/ruby/irb/pull/209 https://github.com/ruby/irb/commit/c93ae4be71
2021-03-21[ruby/irb] Fix column overflow on ls outputTakashi Kokubun
https://github.com/ruby/irb/commit/6115754623
2021-03-21[ruby/irb] Add whereami commandTakashi Kokubun
https://github.com/ruby/irb/commit/bc822e4aac
2021-03-21[ruby/irb] Implement ls commandTakashi Kokubun
https://github.com/ruby/irb/commit/19b6c20604
2021-03-20[ruby/irb] Don't call Ruby 2.4+'s String#pretty_printTakashi Kokubun
https://github.com/ruby/irb/commit/89bcf107be
2021-03-20[ruby/irb] Add all lib files automaticallyTakashi Kokubun
https://github.com/ruby/irb/commit/ecc82336b7
2021-03-19[ruby/irb] Define "measure" command without forced overrideaycabta
https://github.com/ruby/irb/commit/9587ba13b5
2021-03-06[ruby/irb] Make save-history extension safe for concurrent useJeremy Evans
This makes the save-history extension check for modifications to the history file before saving it. If the history file was modified after the history was loaded and before it was saved, append only the new history lines to the history file. This can result in more lines in the history file than SAVE_HISTORY allows. However, that will be fixed the next time irb is run and the history is saved. Fixes [Bug #13654] https://github.com/ruby/irb/commit/041ef53845
2021-03-05[ruby/irb] Do not continue line if last expression is an endless rangeJeremy Evans
Fixes [Bug #14824] https://github.com/ruby/irb/commit/63414f8465
2021-02-27[ruby/irb] Update help message for next context-mode of 4Jeremy Evans
While here, fixing tab/space issues in help message, and sync rdoc for IRB class to match the help message. https://github.com/ruby/irb/commit/ef8e3901cc
2021-02-25[ruby/irb] Version 1.3.4aycabta
https://github.com/ruby/irb/commit/ab9852ccc5
2021-02-12[ruby/irb] Fix inverse separator conditionNobuyoshi Nakada
https://github.com/ruby/irb/commit/33f933196f
2021-02-11[ruby/irb] The command "irb_info" should show RUBY_PLATFORMaycabta
https://github.com/ruby/irb/commit/39d1cd874f
2021-02-11[ruby/irb] Suppress colorize on Windows testsaycabta
https://github.com/ruby/irb/commit/5be9354cf9
2021-02-11[ruby/irb] Suppress error when File::ALT_SEPARATOR is nilaycabta
https://github.com/ruby/irb/commit/96accf3b95
2021-02-07[ruby/irb] Version 1.3.3aycabta
https://github.com/ruby/irb/commit/4c87035b7c
2021-02-06[ruby/irb] Enable to reassign a new block with "measure" commandaycabta
https://github.com/ruby/irb/commit/b444573aa2
2021-02-06[ruby/irb] Allow "measure" command to take blockaycabta
https://github.com/ruby/irb/commit/20f1ca23e9
2021-02-04[ruby/irb] Add info.rb to gemspecima1zumi
https://github.com/ruby/irb/commit/adbba19adf
2021-02-03[ruby/irb] follow up the actual line numberNobuhiro IMAI
https://github.com/ruby/irb/commit/7aed8fe3b1
2021-01-29Fix absolute path predicate on WindowsNobuyoshi Nakada
A path starts with '/' is not an absolute path on Windows, because of drive letter or UNC. Notes: Merged: https://github.com/ruby/ruby/pull/4127
2021-01-27[ruby/irb] use `RubyLex::TerminateLineInput` appropriately [Bug #17564]Nobuhiro IMAI
* using the appropriciate exception instead of `break` so that the session can be continue after the `irb_source` and `irb_load` commands * suppress extra new line due to one more `#prompt` call https://github.com/ruby/irb/commit/bdefaa7cfd
2021-01-27[ruby/irb] add `IRB::FileInputMethod.open` to ensure closing associated FileNobuhiro IMAI
* 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
2021-01-24[ruby/irb] Indent correctly with method calling with receiveraycabta
https://github.com/ruby/irb/commit/e7c68e74a0
2021-01-24[ruby/irb] Indent correctly with keyword "for" and "in"aycabta
https://github.com/ruby/irb/commit/47c83ea724
2021-01-22[ruby/irb] Delete a doodle-level memo comment...aycabta
https://github.com/ruby/irb/commit/fc3e1d9e0c
2021-01-19[ruby/irb] Rescue Errno::EINVAL on IRB ppTakashi Kokubun
http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210119T070008Z.log.html.gz is caused by: /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline/ansi.rb:157:in `winsize': Invalid argument - <STDIN> (Errno::EINVAL) from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline/ansi.rb:157:in `get_screen_size' from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline.rb:168:in `get_screen_size' from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/forwardable.rb:238:in `get_screen_size' from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/irb/color_printer.rb:7:in `pp' from -e:1:in `<main>' https://github.com/ruby/irb/commit/1719514598
2021-01-18[ruby/irb] Use a real screen size for pp by defaultTakashi Kokubun
https://github.com/ruby/irb/commit/9b9300dec2
2021-01-18[ruby/irb] Version 1.3.2aycabta
https://github.com/ruby/irb/commit/a7699026cc
2021-01-18[ruby/irb] handle `__ENCODING__` as a keyword as wellNobuhiro IMAI
https://github.com/ruby/irb/commit/a6a33d908f
2021-01-13[ruby/irb] Version 1.3.1aycabta
https://github.com/ruby/irb/commit/c230d08911
2021-01-07[ruby/irb] Make IRB::ColorPrinter.pp compatible with PP.ppTakashi Kokubun
The incompatible interface is not helpful, again if you want to use it as a standalone library, falling it back to PP. Original PP.pp also ends with `out << "\n"`. https://github.com/ruby/irb/commit/4c74c7d84c
2021-01-07[ruby/irb] Add missing requireTakashi Kokubun
This is useful if you want to use IRB::ColorPrinter as a library like: ``` begin require 'irb/color_printer' IRB::ColorPrinter.pp(obj) rescue LoadError pp(obj) end ``` https://github.com/ruby/irb/commit/f8461691c7