summaryrefslogtreecommitdiff
path: root/lib/irb
AgeCommit message (Collapse)Author
2021-07-23[ruby/irb] Fix #256manga_osyo
Support int that follow on symbeg in IRB https://github.com/ruby/irb/commit/90cb27b1bd
2021-07-20[ruby/irb] Support non-English code page messageaycabta
https://github.com/ruby/irb/commit/e7d71fea46
2021-07-16[ruby/irb] Show code page by irb_info on Windowsaycabta
https://github.com/ruby/irb/commit/6160d74199
2021-07-13[ruby/irb] Add an explanation of default sub commands of "measure", which ↵aycabta
are :time and :stackprof https://github.com/ruby/irb/commit/759be5a344
2021-07-11[ruby/irb] Show LANG and LC_ALL env by irb_infoaycabta
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> https://github.com/ruby/irb/commit/b431742430
2021-07-10[ruby/irb] Pass local variables from workspace binding to lexerJeremy Evans
This fixes at least an issue where irb will incorrectly assume code opens a heredoc when it does not, such as this code: ```ruby s1 = 'testing' s2 = 'this' s2 <<s1 p s1 s1 ``` Ruby parses the `s2 <<s1` as `s2.<<(s1)`, not as a heredoc, because `s2` is a local variable in scope. irb was using ripper without letting ripper know that `s2` was a local variable, so ripper would lex it as a heredoc instead of a method call. Fix the situation by prepending a line at line 0 with all local variable definitions in scope whenever lexing. This fixes the heredoc issue, and potentially other issues that depend on whether an identifier is a local variable or not. Fixes [Bug #17530] https://github.com/ruby/irb/commit/4ed2187f76
2021-07-01[ruby/irb] Update ls.rb without requiring Set, because Set is one of ↵Keiko Kaneko
standard libraries https://github.com/ruby/irb/commit/7092ad2ab5
2021-06-30[ruby/irb] Rescue a specific errorTakashi Kokubun
Rescuing StandardError is prone to bugs caused by a typo or obsoleted methods. https://github.com/ruby/irb/commit/eb5260fcd5
2021-06-30[ruby/irb] Fix error on `ls object_cant_define_singleton`Masataka Pocke Kuwabara
such as `ls 42`, `ls :sym` and so on https://github.com/ruby/irb/commit/b1d436a853
2021-06-27[ruby/irb] Optimize show_source command furtherTakashi Kokubun
https://github.com/ruby/irb/pull/249 actually slowed down how `code` is concatenated. The original way of creating `code` is faster. [before] user system total real 2.420137 0.005364 2.425501 ( 2.426264) [after] user system total real 1.000221 0.007454 1.007675 ( 1.008295) Theoretically, this implementation might skip lines that don't appear in Ripper tokens, but this assumes such lines don't impact whether the code passes compilation or not. At least normal blank lines seem to have an `on_ignored_nl` token anyway though. https://github.com/ruby/irb/commit/27dd2867cd
2021-06-27[ruby/irb] Improve performance of `show_source` for large classMasataka Pocke Kuwabara
https://github.com/ruby/irb/commit/2b79e9ad21
2021-06-22[ruby/irb] Sort ls result ordered by anscestryKeiko Kaneko
https://github.com/ruby/irb/commit/fdd5c0a71e
2021-06-21[ruby/irb] Improve stackprof measureUlysse Buonomo
Allow usage of more detailed args when setting stackprof callback. Signed-off-by: Ulysse Buonomo <buonomo.ulysse@gmail.com> https://github.com/ruby/irb/commit/c9d101f450
2021-06-21[ruby/irb] Version 1.3.6aycabta
https://github.com/ruby/irb/commit/75aa8d159b
2021-05-24[ruby/irb] respect NO_COLOR environment variableMark Delk
When `NO_COLOR` is set to any non-nil value, output is not colorized. See https://no-color.org/ https://github.com/ruby/irb/commit/401d0916fe
2021-05-15[ruby/irb] IRB should use the latest Reline, 0.2.5aycabta
https://github.com/ruby/irb/commit/34496e20e8
2021-05-08[ruby/irb] Dump ancestors' methods by ls commandMasataka Pocke Kuwabara
https://github.com/ruby/irb/commit/73edff287c
2021-04-30[ruby/irb] Need reline >= 0.1.6ima1zumi
irb 1.3.5 need reline >= 0.1.6 because irb use `Reline::IOGate.in_pasting?`. This method defined after reline 0.1.6. fix #228. https://github.com/ruby/irb/commit/6b7b8fc324
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