Commit graph

25 commits

Author SHA1 Message Date
tomoya ishida
598b03648f [ruby/irb] Remove remaining frozen_string_literal: false in lib/
(https://github.com/ruby/irb/pull/883)

4bfdb23ae6
2024-02-23 12:32:50 +00:00
Stan Lo
ef427123ad [ruby/irb] Add rubocop with a few basic styling rules
(https://github.com/ruby/irb/pull/849)

* Use rubocop to enforce a few styling rules

* Add a CI job for linting

4f60cd88bb
2024-02-01 17:46:02 +00:00
Stan Lo
2f8e5c80e6 [ruby/irb] Drop Ruby 2.6 support
(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+

3f714b616c
2023-04-05 21:40:40 +00:00
Stan Lo
0aa50a03b1 [ruby/irb] Provide more useful message when
`IRB::Inspector#inspect_value` errors
(https://github.com/ruby/irb/pull/511)

**Before**

```
irb(main):001:0> c = Cat.new "foo"
(Object doesn't support #inspect)
=>
```

**After**

```
irb(main):001:0> c = Cat.new "foo"
An error occurred when inspecting the object: #<NoMethodError: undefined method `is_a?' for foo:Cat

      if obj.is_a?(String)
            ^^^^^^>
Result of Kernel#inspect: #<Cat:0x0000000109090d80 @name="foo">
=>
```
2023-02-27 11:07:19 +00:00
Hiroshi SHIBATA
7e283c585e [ruby/irb] Formatting to header styles
cef125850d
2023-01-11 22:29:10 +00:00
Hiroshi SHIBATA
c7bb8d67b7 [ruby/irb] Removed Release Version and Revisions for old VCS software
07fae94862
2023-01-11 22:29:09 +00:00
Stan Lo
44c1316293 [ruby/irb] Centralize coloring control (https://github.com/ruby/irb/pull/374)
* 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

1c53023ac4
2022-06-28 22:30:42 +09:00
st0012
81b604fb00 [ruby/irb] Use require_relative to require lib files
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`.

848d339f2e
2022-01-17 14:23:40 +09:00
Takashi Kokubun
98bd7e87a0 [ruby/irb] Make IRB::ColorPrinter.pp compatible with PP.pp
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"`.

4c74c7d84c
2021-01-07 22:43:40 -08:00
Nobuhiro IMAI
ed3264d37a [ruby/irb] refactoring an error handling in IRB::Inspector
* moved rescue clause to `#inspect_value` to catch all failures in inspectors
* test with all (currently five kind of) inspect modes
  - tweaked the input due to only `Marshal` can inspect(dump) a `BasicObject`

9d112fab8e
2021-01-08 13:25:18 +09:00
Takashi Kokubun
c715fb46c2 [ruby/irb] Enhance colored inspect output
dffcdb5269
2020-12-28 23:01:00 -08:00
aycabta
8882927036 [ruby/irb] Discard newlines at end of file
0b2773d91d
2020-08-28 11:05:18 +09:00
Masataka Pocke Kuwabara
b40e925c92 [ruby/irb] Fix error when inspect is called but not found in inspector
ce6d53e6d9
2020-07-22 02:31:47 +09:00
aycabta
3a9008b984 Add --colorize and --nocolorize options to IRB 2019-05-21 08:57:21 +09:00
Takashi Kokubun
b55201dd09
Colorize IRB's inspect result
Closes: https://github.com/ruby/ruby/pull/2150
2019-04-26 00:47:40 +09:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
hsbt
76515504d5 * lib/irb.rb: removed commented-out code.
* lib/irb/**/*.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-09 02:02:58 +00:00
a_matsuda
adf511efc6 * lib/irb/inspector.rb: [DOC] Fix typo (s/dependant/dependent/)
* lib/irb/workspace.rb:  [DOC] Fix typo (s/binging/binding/)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-30 09:50:11 +00:00
keiju
8494484dc0 * lib/irb/context.rb: fix IRB::Inspector#keys_with_inspector [Bug #7598]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-26 14:56:57 +00:00
zzak
4da6fa28f8 * lib/irb/inspector.rb, lib/irb/context.rb: Move IRB::INSPECTORS and
class methods to IRB::Inspector [ruby-core:51067][Bug #7598]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 17:08:24 +00:00
zzak
7e9eb32669 * lib/irb.rb, lib/irb/*: Documentation for IRB
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 05:45:50 +00:00
zzak
8983315238 * lib/irb*: merge doc from doc/irb/ird.rd and improve overall
documentation of IRB
* doc/irb/irb.rd: remove stale documentation


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 05:22:30 +00:00
nobu
3a47cf3395 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
matz
f69dff0ed1 * lib/irb/inspector.rb (IRB::INSPECTORS.def_inspector): support
object without #inspect defined.  a patch from Daniel
  Bovensiepen.  [ruby-core:25200]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-07 03:28:41 +00:00
keiju
855d0d1a1a * lib/irb/inspector.rb: forget svn add.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-08 12:01:44 +00:00