[ANN] Wirble 0.1.1: Irb Enhancements for the Masses

Hi All,

I just released version 0.1.1 of Wirble. Wirble is a small collection
of enhancements Irb, packaged in an easy-to-use format. Wirble includes
tab-completion, persistent history, built-in ri support, and syntax
highlighting for Irb results. Here's a screenshot of Wirble in action:

    http://pablotron.org/software/wirble/shots/wirble-0.png

All of Wirble's features are configurable, including the color settings.
Each is documented in glorious technicolor in the README, which is
linked below.

URLs

···

====
* Wirble 0.1.1 Tarball
  o Download: http://pablotron.org/files/wirble-0.1.1.tar.gz
  o Signature: http://pablotron.org/files/wirble-0.1.1.tar.gz.asc
* Wirble 0.1.1 Gem
  o Download: http://pablotron.org/files/wirble-0.1.1.gem
  o Signature: http://pablotron.org/files/wirble-0.1.1.gem.asc
* Documentation
  o Secret Decoder Ring: http://pablotron.org/software/wirble/README
  o ChangeLog: http://pablotron.org/software/wirble/ChangeLog-0.1.1

If you've seen most of Wirble before, that's because, well, you've seen
most of Wirble before. Several of the features were collected from the
"Irb Tips and Tricks" page of the Ruby Garden Wiki. My Irb config file
was out of control, so I decided to clean things up and share the
results.

Questions, comments, candy, weapons of mass destruction, etc, are always
appreciated, and can be sent to the email address below.

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562

Hi All,

I just released version 0.1.1 of Wirble. Wirble is a small collection
of enhancements Irb, packaged in an easy-to-use format. Wirble includes
tab-completion, persistent history, built-in ri support, and syntax
highlighting for Irb results. Here's a screenshot of Wirble in action:

That looks great! :slight_smile: A feature request: Could you syntax highlight the
input lines as well as the output lines?

Cheers,
  Benj

Hi Paul,

I take it that the windows masses are not concerned,...

I have tried wirble on my windows laptop:

-the gem install doesn't work
-the Object.ri sample brings an exec error

Object.ri 'object_h'

Errno::ENOEXEC: Exec format error - ri 'object_h'
        from c:/ruby/lib/ruby/site_ruby/1.8/wirble.rb:465:in ``'
        from c:/ruby/lib/ruby/site_ruby/1.8/wirble.rb:465:in `ri'
        from (irb):1

-the coloring alters the output line

p "hee"

"hee"
=> ←[0;32mnil←[0;0m

-The persistent history works! Yes!

I am not used to the internals of the windows console. Do you think it is possible to have wirble working on both Unix and Windows plateforms?

Thanks,

Eric.

···

--------------------------------------------------
Eric Torreborre
LTG - Product Manager
LEIRIOS
tel: 33(0)6.61.48.57.65/33(0)3.81.88.62.02
e-mail: etorreborre@yahoo.com
blog: http://etorreborre.blogspot.com
--------------------------------------------------

----- Message d'origine ----
De : Paul Duncan <pabs@pablotron.org>
À : ruby-talk ML <ruby-talk@ruby-lang.org>
Envoyé le : Vendredi, 8 Septembre 2006, 11h22mn 40s
Objet : [ANN] Wirble 0.1.1: Irb Enhancements for the Masses

Hi All,

I just released version 0.1.1 of Wirble. Wirble is a small collection
of enhancements Irb, packaged in an easy-to-use format. Wirble includes
tab-completion, persistent history, built-in ri support, and syntax
highlighting for Irb results. Here's a screenshot of Wirble in action:

    http://pablotron.org/software/wirble/shots/wirble-0.png

All of Wirble's features are configurable, including the color settings.
Each is documented in glorious technicolor in the README, which is
linked below.

URLs

* Wirble 0.1.1 Tarball
  o Download: http://pablotron.org/files/wirble-0.1.1.tar.gz
  o Signature: http://pablotron.org/files/wirble-0.1.1.tar.gz.asc
* Wirble 0.1.1 Gem
  o Download: http://pablotron.org/files/wirble-0.1.1.gem
  o Signature: http://pablotron.org/files/wirble-0.1.1.gem.asc
* Documentation
  o Secret Decoder Ring: http://pablotron.org/software/wirble/README
  o ChangeLog: http://pablotron.org/software/wirble/ChangeLog-0.1.1

If you've seen most of Wirble before, that's because, well, you've seen
most of Wirble before. Several of the features were collected from the
"Irb Tips and Tricks" page of the Ruby Garden Wiki. My Irb config file
was out of control, so I decided to clean things up and share the
results.

Questions, comments, candy, weapons of mass destruction, etc, are always
appreciated, and can be sent to the email address below.

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562

FYI, the gem file doesn't seem to exist. I tried both the URL abave
and RubyForge (which is specified n the README in the tarball).

···

On 9/8/06, Paul Duncan <pabs@pablotron.org> wrote:

URLs

* Wirble 0.1.1 Gem
  o Download: http://pablotron.org/files/wirble-0.1.1.gem
  o Signature: http://pablotron.org/files/wirble-0.1.1.gem.asc

--
Regards,
John Wilger

-----------
Alice came to a fork in the road. "Which road do I take?" she asked.
"Where do you want to go?" responded the Cheshire cat.
"I don't know," Alice answered.
"Then," said the cat, "it doesn't matter."
- Lewis Carrol, Alice in Wonderland

Paul Duncan wrote:

Hi All,

I just released version 0.1.1 of Wirble. Wirble is a small collection
of enhancements Irb, packaged in an easy-to-use format. Wirble includes
tab-completion, persistent history, built-in ri support, and syntax
highlighting for Irb results.

Nice! I think you should do auto indent too.

IRB.conf[:AUTO_INDENT]=true

unknown wrote:

That looks great! :slight_smile: A feature request: Could you syntax highlight the
input lines as well as the output lines?

Cheers,
  Benj

Like, in real time, like an IDE? That'd be awesome.

···

--
Posted via http://www.ruby-forum.com/\.

Eric Torreborre wrote:

-the coloring alters the output line

p "hee"

"hee"
=> ←[0;32mnil←[0;0m

Those are ANSI codes. You'll need to use a console that deals with
them, or load ANSI.SYS.

http://www.windowsnetworking.com/kbase/WindowsTips/Windows2000/UserTips/Miscellaneous/CommandInterpreterAnsiSupport.html

···

--
Posted via http://www.ruby-forum.com/\.

I found it there :

http://pablotron.org/files/gems/wirble-0.1.1.gem

Nice little tool, BTW... :wink:

Fred

···

Le 08 septembre à 15:32, John Wilger a écrit :

On 9/8/06, Paul Duncan <pabs@pablotron.org> wrote:

URLs

* Wirble 0.1.1 Gem
  o Download: http://pablotron.org/files/wirble-0.1.1.gem
  o Signature: http://pablotron.org/files/wirble-0.1.1.gem.asc

FYI, the gem file doesn't seem to exist. I tried both the URL abave
and RubyForge (which is specified n the README in the tarball).

--
In the beginning there was nothing, and God said, "Let there be light."
And there was still nothing, but you could see it.
                                                              (Linda E.)

John Wilger wrote:

···

On 9/8/06, Paul Duncan <pabs@pablotron.org> wrote:

URLs

* Wirble 0.1.1 Gem
  o Download: http://pablotron.org/files/wirble-0.1.1.gem
  o Signature: http://pablotron.org/files/wirble-0.1.1.gem.asc

FYI, the gem file doesn't seem to exist. I tried both the URL abave
and RubyForge (which is specified n the README in the tarball).

http://pablotron.org/files/gems/wirble-0.1.1.gem

Hi Paul,
When I tried it on Windows XP, I get this wierd error:
I don't have rubilicious

irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'wirble'
LoadError: no such file to load -- rubilicious
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire__'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:182:in `activate'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:181:in `activate'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:26:in `re
quire'
        from (irb):2
irb(main):003:0>

···

--
Surendra Singhi
http://ssinghi.kreeti.com, http://www.kreeti.com
Read my blog at: http://cuttingtheredtape.blogspot.com/
,----

Great wits are sure to madness near allied,
And thin partitions do their bounds divide.

    (John Dryden, Absalom and Achitophel, 1681)

`----

>URLs
>====

>* Wirble 0.1.1 Gem
> o Download: http://pablotron.org/files/wirble-0.1.1.gem
> o Signature: http://pablotron.org/files/wirble-0.1.1.gem.asc

FYI, the gem file doesn't seem to exist. I tried both the URL abave
and RubyForge (which is specified n the README in the tarball).

That's what I get for doing a release at 4am :).

All my gems are located at http://pablotron.org/files/gems/\. So the
correct URLs for the Wirble gem are:

    http://pablotron.org/files/wirble-0.1.1.gem
    http://pablotron.org/files/wirble-0.1.1.gem.asc

Thanks for the heads up!

···

* John Wilger (johnwilger@gmail.com) wrote:

On 9/8/06, Paul Duncan <pabs@pablotron.org> wrote:

--
Regards,
John Wilger
http://johnwilger.com

-----------
Alice came to a fork in the road. "Which road do I take?" she asked.
"Where do you want to go?" responded the Cheshire cat.
"I don't know," Alice answered.
"Then," said the cat, "it doesn't matter."
- Lewis Carrol, Alice in Wonderland

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562

> Hi All,
>
> I just released version 0.1.1 of Wirble. Wirble is a small collection
> of enhancements Irb, packaged in an easy-to-use format. Wirble includes
> tab-completion, persistent history, built-in ri support, and syntax
> highlighting for Irb results. Here's a screenshot of Wirble in action:

That looks great! :slight_smile: A feature request: Could you syntax highlight the
input lines as well as the output lines?

I looked into highlighting the input in Irb, too. It's a lot more work,
but it might be doable. At a minimum, I'd need to write, borrow, or
steal a full-blown Ruby lexer. I'd probably need a more terminal-
friendly replacement for readlines (probably curses).

Now that I know more people are interested, I'll have to investigate :).

···

* benjohn@fysh.org (benjohn@fysh.org) wrote:

Cheers,
  Benj

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562

Hi Paul,

I take it that the windows masses are not concerned,...

Any problems on Windows are a direct result of sloth and incompetence on
my part, rather than intentional malice. I haven't done much console
development on Windows, and I don't have easy access to a Windows
machine for testing.

I have tried wirble on my windows laptop:

-the gem install doesn't work

The URL in the original email was wrong and the gem had an accidental
dependency on Rubilicious. I've fixed the latter and regenerated the
former. Here's the URL:

  http://pablotron.org/files/gems/wirble-0.1.2.gem
  http://pablotron.org/files/gems/wirble-0.1.2.gem.asc

(Note: This version doesn't address the two issues you have below)

-the Object.ri sample brings an exec error

>> Object.ri 'object_h'
Errno::ENOEXEC: Exec format error - ri 'object_h'
        from c:/ruby/lib/ruby/site_ruby/1.8/wirble.rb:465:in ``'
        from c:/ruby/lib/ruby/site_ruby/1.8/wirble.rb:465:in `ri'
        from (irb):1

Hi, it should be one of the following forms:

  ri 'Object#object_id'
  ri Object.ri 'object_id'

It should definitely have a more graceful error message. I'll add that
to my list of stuff to fix.

-the coloring alters the output line
>> p "hee"
"hee"
=> ???[0;32mnil???[0;0m

-The persistent history works! Yes!

One out of three ain't bad! :slight_smile:

I am not used to the internals of the windows console. Do you think it
is possible to have wirble working on both Unix and Windows
plateforms?

I'm not familiar with the Windows console either. I'll follow up on
some of the other URLs in this thread and see what I can find out.

···

* Eric Torreborre (etorreborre@yahoo.com) wrote:

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562

On Windows:

C:\>ruby --version
ruby 1.8.4 (2006-04-14) [i386-mswin32]

I get the followin:

Object.ri 'object_id'

c:/ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:88:in
`initialize': No such file or directory - /c/.irb_history
(Errno::ENOENT)
        from c:/ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:88:in
`save_history'
        from c:/ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:113:in
`initialize'
        from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:253
c:/ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:88:in
`initialize': No such file or directory - /c/.irb_history
(Errno::ENOENT)
        from c:/ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:88:in
`save_history'
        from c:/ruby/lib/ruby/gems/1.8/gems/wirble-0.1.2/./wirble.rb:113:in
`initialize'
        from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:253

···

--
"Nothing will ever be attempted, if all
possible objections must first be
overcome." - Samuel Johnson

"Luck is what happens when
preparation meets opportunity." - Seneca

Hi Paul,
When I tried it on Windows XP, I get this wierd error:
I don't have rubilicious

Now that is bug is both hilarious and stupid.

I must have used the rubilcious gemspec as a template for the Wirble
gempsec :).

I'll get that fixed and release a new version, stat.

···

* Surendra Singhi (efuzzyone@netscape.net) wrote:

irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'wirble'
LoadError: no such file to load -- rubilicious
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire__'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:182:in `activate'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:181:in `activate'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:26:in `re
quire'
        from (irb):2
irb(main):003:0>

--
Surendra Singhi
http://ssinghi.kreeti.com, http://www.kreeti.com
Read my blog at: http://cuttingtheredtape.blogspot.com/
,----
> Great wits are sure to madness near allied,
> And thin partitions do their bounds divide.
>
> (John Dryden, Absalom and Achitophel, 1681)
`----

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562

Paul Duncan wrote:

>URLs
>====

>* Wirble 0.1.1 Gem
> o Download: http://pablotron.org/files/wirble-0.1.1.gem
> o Signature: http://pablotron.org/files/wirble-0.1.1.gem.asc

FYI, the gem file doesn't seem to exist. I tried both the URL abave
and RubyForge (which is specified n the README in the tarball).

That's what I get for doing a release at 4am :).

All my gems are located at http://pablotron.org/files/gems/\. So the
correct URLs for the Wirble gem are:

    http://pablotron.org/files/wirble-0.1.1.gem
    http://pablotron.org/files/wirble-0.1.1.gem.asc

Thanks for the heads up!

Hmm... Maybe it's not just the 4am thing :wink: Maybe you have a mental
block dealing with gems and urls?

<cough>

    http://pablotron.org/files/gems/wirble-0.1.1.gem
    http://pablotron.org/files/gems/wirble-0.1.1.gem.asc

</cough>

:wink:

···

* John Wilger (johnwilger@gmail.com) wrote:

On 9/8/06, Paul Duncan <pabs@pablotron.org> wrote:

--
Posted via http://www.ruby-forum.com/\.

I think you mean...

http://pablotron.org/files/gems/wirble-0.1.1.gem
http://pablotron.org/files/gems/wirble-0.1.1.gem.asc

:slight_smile:

Ben

···

On Sat, Sep 09, 2006, Paul Duncan wrote:

All my gems are located at http://pablotron.org/files/gems/\. So the
correct URLs for the Wirble gem are:

    http://pablotron.org/files/wirble-0.1.1.gem
    http://pablotron.org/files/wirble-0.1.1.gem.asc

[snipped]

> FYI, the gem file doesn't seem to exist. I tried both the URL abave
> and RubyForge (which is specified n the README in the tarball).

I found it there :

http://pablotron.org/files/gems/wirble-0.1.1.gem

Nice little tool, BTW... :wink:

Thanks, I'm glad you like it! :slight_smile:

···

* F. Senault (fred@lacave.net) wrote:

Le 08 septembre à 15:32, John Wilger a écrit :
> On 9/8/06, Paul Duncan <pabs@pablotron.org> wrote:

Fred

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562

I'll add this to the documentation for future releases. Thanks!

···

* William Crawford (wccrawford@gmail.com) wrote:

Eric Torreborre wrote:
> -the coloring alters the output line
>>> p "hee"
> "hee"
> => ???[0;32mnil???[0;0m

Those are ANSI codes. You'll need to use a console that deals with
them, or load ANSI.SYS.

http://www.windowsnetworking.com/kbase/WindowsTips/Windows2000/UserTips/Miscellaneous/CommandInterpreterAnsiSupport.html

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562

I've fixed this bug and packaged up an 0.1.2.

Here's the URL(s):

  http://pablotron.org/files/wirble-0.1.2.tar.gz
  http://pablotron.org/files/wirble-0.1.2.tar.gz.asc
  http://pablotron.org/files/gems/wirble-0.1.2.gem
  http://pablotron.org/files/gems/wirble-0.1.2.gem.asc

All I did was remove the accidental rubilicious depencency and
regenerate the gem.

By the way, some other people have had problems with the color codes
under Windows, so I make no promises about how well that will work for
you :).

···

* Surendra Singhi (efuzzyone@netscape.net) wrote:

Hi Paul,
When I tried it on Windows XP, I get this wierd error:
I don't have rubilicious

--
Paul Duncan <pabs@pablotron.org> pabs in #ruby-lang (OPN IRC)
http://www.pablotron.org/ OpenPGP Key ID: 0x82C29562