irbtools 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +6 -0
- data/README.rdoc +15 -16
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/irbtools.gemspec +11 -9
- data/lib/irbtools.rb +5 -8
- data/lib/irbtools/configure.rb +4 -0
- data/lib/irbtools/libraries.rb +11 -6
- metadata +52 -26
- data/lib/irbtools/workarounds.rb +0 -97
- data/screenshots/examples1.png +0 -0
- data/screenshots/examples2.png +0 -0
data/CHANGELOG
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
0.8.1
|
2
|
+
* rewrote irb_rocket: fancy_irb. No more workarounds needed, anymore.
|
3
|
+
* added sketches gem
|
4
|
+
* customizable welcome message
|
5
|
+
* more little fixes/enhancements
|
6
|
+
|
1
7
|
0.8.0
|
2
8
|
* added Object#ri method
|
3
9
|
* feature: extension package loading (e.g. irbtools-more)
|
data/README.rdoc
CHANGED
@@ -5,17 +5,15 @@ This is a meta gem which installs some useful irb gems and configures your irb.
|
|
5
5
|
== Setup
|
6
6
|
|
7
7
|
gem install irbtools
|
8
|
-
gem install irb_rocket --source http://merbi.st
|
9
8
|
|
10
9
|
* On Linux, you also need the +xclip+ program: sudo <tt>apt-get install xclip</tt>
|
11
|
-
* The <tt>irb_rocket</tt> gem might require <tt>libncurses-dev</tt>
|
12
10
|
* On MacOS, you need growl, if you want to use the +g+ gem.
|
13
11
|
|
14
12
|
== Usage
|
15
13
|
|
16
|
-
To use it, put the following in your <tt>~/.irbrc</tt> file (this file is loaded
|
14
|
+
To use it, put the following in your <tt>~/.irbrc</tt> file (this file is loaded every time you start an irb):
|
17
15
|
|
18
|
-
require 'rubygems' # only needed in 1.8
|
16
|
+
require 'rubygems' if RUBY_VERSION[2] == ?8 # rubygems is only needed in 1.8
|
19
17
|
require 'irbtools'
|
20
18
|
|
21
19
|
If it does not exist, just create a new one.
|
@@ -41,8 +39,9 @@ See http://rbjl.net/40-irbtools-release-the-power-of-irb or read the commented s
|
|
41
39
|
|
42
40
|
=== Included gems and libraries
|
43
41
|
|
44
|
-
* wirble[http://pablotron.org/software/wirble/]
|
45
|
-
*
|
42
|
+
* wirble[http://pablotron.org/software/wirble/] colorize output
|
43
|
+
* fancy_irbt[tODO] put result as comment and more colorization
|
44
|
+
* hirb[http://tagaholic.me/2009/03/13/hirb-irb-on-the-good-stuff.html] (active record) tables and custom views for specific objects
|
46
45
|
* *fileutils* cd, pwd, ln_s, mv, rm, mkdir, touch ... ;)
|
47
46
|
* zucker/env[http://rubyzucker.info] Info, OS, RubyVersion, RubyEngine
|
48
47
|
* zucker/debug[http:/rubyzucker.info] nice debug printing (q, o, c, .m, .d)
|
@@ -51,34 +50,34 @@ See http://rbjl.net/40-irbtools-release-the-power-of-irb or read the commented s
|
|
51
50
|
* clipboard[http://github.com/janlelis/clipboard] easy clipboard access (copy & paste)
|
52
51
|
* guessmethod[http://guessmethod.rubyforge.org/] automatically corrects typos (method_missing hook)
|
53
52
|
* interactive_editor[http://github.com/jberkel/interactive_editor] lets you open vim, hack something, and it gets loaded into the current session
|
53
|
+
* sketches[http://sketches.rubyforge.org/] another, more flexible "start editor and it gets loaded into your irb session" plugin
|
54
54
|
* coderay[http://coderay.rubychan.de/] some nice colorful display ;)
|
55
55
|
* boson[http://tagaholic.me/boson/] IRB commands repository (which also works for the shell!)
|
56
|
-
* irb_rocket[http://merbi.st/plugins/22] put result as comment instead of a new line!
|
57
56
|
|
58
57
|
=== Helper methods
|
59
|
-
See the source/rdoc for a description. These methods are defined directly by irbtools.
|
58
|
+
See the source/rdoc for a description. These methods are defined directly by irbtools. Each gem may add its own helper methods.
|
60
59
|
|
61
|
-
*General*: <tt>ls, cat, rq, rrq/rerequire,
|
60
|
+
*General*: <tt>ls, cat, rq, rrq/rerequire, ld, session_history, reset!, clear, use_ruby/use, dbg, Object#ri</tt>
|
62
61
|
|
63
62
|
*Clipboard*: <tt>copy, paste, copy_input, copy_output</tt>
|
64
63
|
|
65
64
|
*CodeRay*: <tt>colorize, ray</tt>
|
66
65
|
|
66
|
+
== Welcome message
|
67
|
+
|
68
|
+
You can customize the welcome message with <tt>Irbtools.welcome_message=</tt>
|
69
|
+
|
67
70
|
== Bugs / TODO
|
68
71
|
|
69
72
|
* Make guessmethod 1.9 compatible
|
70
|
-
*
|
71
|
-
* Fix irb_rockets general stdout problem. If something stdout related fails, odds are high that it's irb_rockets fault.
|
72
|
-
* Pager for hirb and ri
|
73
|
-
* Use RDoc driver instead of system ri for ri (?)
|
74
|
-
* ...
|
73
|
+
* Nicer ri command
|
75
74
|
|
76
75
|
== More Features
|
77
76
|
|
78
|
-
* See the irbtools-more[
|
77
|
+
* See the irbtools-more[https://github.com/janlelis/irbtools-more] package.
|
79
78
|
|
80
79
|
== Copyright
|
81
80
|
|
82
|
-
Copyright (c) 2010 Jan Lelis, http://rbjl.net
|
81
|
+
Copyright (c) 2010 Jan Lelis, http://rbjl.net, released under the MIT license.
|
83
82
|
|
84
83
|
J-_-L
|
data/Rakefile
CHANGED
@@ -10,18 +10,18 @@ begin
|
|
10
10
|
gem.email = "mail@janlelis.de"
|
11
11
|
gem.homepage = "http://github.com/janlelis/irbtools"
|
12
12
|
gem.authors = ["Jan Lelis"]
|
13
|
-
gem.requirements << "It's recommended to use the irb_rocket gem: gem install irb_rocket --source http://merbi.st"
|
14
13
|
gem.add_dependency 'wirble'
|
14
|
+
gem.add_dependency 'fancy_irb'
|
15
15
|
gem.add_dependency 'hirb'
|
16
16
|
gem.add_dependency 'zucker', '>=8'
|
17
17
|
gem.add_dependency 'awesome_print'
|
18
18
|
gem.add_dependency 'g'
|
19
|
-
gem.add_dependency 'clipboard'
|
19
|
+
gem.add_dependency 'clipboard', '>=0.9'
|
20
20
|
gem.add_dependency 'guessmethod'
|
21
21
|
gem.add_dependency 'interactive_editor'
|
22
22
|
gem.add_dependency 'coderay'
|
23
23
|
gem.add_dependency 'boson'
|
24
|
-
|
24
|
+
gem.add_dependency 'sketches'
|
25
25
|
end
|
26
26
|
Jeweler::GemcutterTasks.new
|
27
27
|
rescue LoadError
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.1
|
data/irbtools.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{irbtools}
|
8
|
-
s.version = "0.8.
|
8
|
+
s.version = "0.8.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jan Lelis"]
|
12
|
-
s.date = %q{2010-10
|
12
|
+
s.date = %q{2010-11-10}
|
13
13
|
s.description = %q{irbtools is a meta gem which installs some useful irb gems and configures your irb. Simply put a require 'irbtools' in the .irbrc file in your home directory.}
|
14
14
|
s.email = %q{mail@janlelis.de}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -29,14 +29,10 @@ Gem::Specification.new do |s|
|
|
29
29
|
"lib/irbtools/configure.rb",
|
30
30
|
"lib/irbtools/general.rb",
|
31
31
|
"lib/irbtools/libraries.rb",
|
32
|
-
"lib/irbtools/workarounds.rb",
|
33
|
-
"screenshots/examples1.png",
|
34
|
-
"screenshots/examples2.png"
|
35
32
|
]
|
36
33
|
s.homepage = %q{http://github.com/janlelis/irbtools}
|
37
34
|
s.rdoc_options = ["--charset=UTF-8"]
|
38
35
|
s.require_paths = ["lib"]
|
39
|
-
s.requirements = ["It's recommended to use the irb_rocket gem: gem install irb_rocket --source http://merbi.st"]
|
40
36
|
s.rubygems_version = %q{1.3.7}
|
41
37
|
s.summary = %q{irbtools is a meta gem which installs some useful irb gems and configures your irb.}
|
42
38
|
|
@@ -46,38 +42,44 @@ Gem::Specification.new do |s|
|
|
46
42
|
|
47
43
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
48
44
|
s.add_runtime_dependency(%q<wirble>, [">= 0"])
|
45
|
+
s.add_runtime_dependency(%q<fancy_irb>, [">= 0"])
|
49
46
|
s.add_runtime_dependency(%q<hirb>, [">= 0"])
|
50
47
|
s.add_runtime_dependency(%q<zucker>, [">= 8"])
|
51
48
|
s.add_runtime_dependency(%q<awesome_print>, [">= 0"])
|
52
49
|
s.add_runtime_dependency(%q<g>, [">= 0"])
|
53
|
-
s.add_runtime_dependency(%q<clipboard>, [">= 0"])
|
50
|
+
s.add_runtime_dependency(%q<clipboard>, [">= 0.9"])
|
54
51
|
s.add_runtime_dependency(%q<guessmethod>, [">= 0"])
|
55
52
|
s.add_runtime_dependency(%q<interactive_editor>, [">= 0"])
|
56
53
|
s.add_runtime_dependency(%q<coderay>, [">= 0"])
|
57
54
|
s.add_runtime_dependency(%q<boson>, [">= 0"])
|
55
|
+
s.add_runtime_dependency(%q<sketches>, [">= 0"])
|
58
56
|
else
|
59
57
|
s.add_dependency(%q<wirble>, [">= 0"])
|
58
|
+
s.add_dependency(%q<fancy_irb>, [">= 0"])
|
60
59
|
s.add_dependency(%q<hirb>, [">= 0"])
|
61
60
|
s.add_dependency(%q<zucker>, [">= 8"])
|
62
61
|
s.add_dependency(%q<awesome_print>, [">= 0"])
|
63
62
|
s.add_dependency(%q<g>, [">= 0"])
|
64
|
-
s.add_dependency(%q<clipboard>, [">= 0"])
|
63
|
+
s.add_dependency(%q<clipboard>, [">= 0.9"])
|
65
64
|
s.add_dependency(%q<guessmethod>, [">= 0"])
|
66
65
|
s.add_dependency(%q<interactive_editor>, [">= 0"])
|
67
66
|
s.add_dependency(%q<coderay>, [">= 0"])
|
68
67
|
s.add_dependency(%q<boson>, [">= 0"])
|
68
|
+
s.add_dependency(%q<sketches>, [">= 0"])
|
69
69
|
end
|
70
70
|
else
|
71
71
|
s.add_dependency(%q<wirble>, [">= 0"])
|
72
|
+
s.add_dependency(%q<fancy_irb>, [">= 0"])
|
72
73
|
s.add_dependency(%q<hirb>, [">= 0"])
|
73
74
|
s.add_dependency(%q<zucker>, [">= 8"])
|
74
75
|
s.add_dependency(%q<awesome_print>, [">= 0"])
|
75
76
|
s.add_dependency(%q<g>, [">= 0"])
|
76
|
-
s.add_dependency(%q<clipboard>, [">= 0"])
|
77
|
+
s.add_dependency(%q<clipboard>, [">= 0.9"])
|
77
78
|
s.add_dependency(%q<guessmethod>, [">= 0"])
|
78
79
|
s.add_dependency(%q<interactive_editor>, [">= 0"])
|
79
80
|
s.add_dependency(%q<coderay>, [">= 0"])
|
80
81
|
s.add_dependency(%q<boson>, [">= 0"])
|
82
|
+
s.add_dependency(%q<sketches>, [">= 0"])
|
81
83
|
end
|
82
84
|
end
|
83
85
|
|
data/lib/irbtools.rb
CHANGED
@@ -53,7 +53,6 @@ IRB.conf[:IRB_RC] = proc{
|
|
53
53
|
}
|
54
54
|
|
55
55
|
|
56
|
-
|
57
56
|
# # # # #
|
58
57
|
# general shortcuts & helper methods
|
59
58
|
require File.expand_path('irbtools/general', File.dirname(__FILE__) )
|
@@ -68,7 +67,7 @@ IRB.conf[:SAVE_HISTORY] = 2000 # how many lines will go to ~/.ir
|
|
68
67
|
(IRB.conf[:PROMPT] ||= {} ).merge!( {:IRBTOOLS => {
|
69
68
|
:PROMPT_I => ">> ", # normal
|
70
69
|
:PROMPT_N => "| ", # indenting
|
71
|
-
:PROMPT_C => "
|
70
|
+
:PROMPT_C => ".> ", # continuing a statement
|
72
71
|
:PROMPT_S => "%l> ", # continuing a string
|
73
72
|
:RETURN => "=> %s \n",
|
74
73
|
:AUTO_INDENT => true,
|
@@ -82,7 +81,7 @@ IRB.conf[:PROMPT_MODE] = :IRBTOOLS
|
|
82
81
|
# add current directory to the loadpath
|
83
82
|
$: << '.' if RubyVersion.is.at_least? '1.9.2'
|
84
83
|
|
85
|
-
#
|
84
|
+
# shorter ruby info constants
|
86
85
|
Object.const_set 'RV', RubyVersion rescue nil
|
87
86
|
Object.const_set 'RE', RubyEngine rescue nil
|
88
87
|
|
@@ -94,12 +93,10 @@ begin
|
|
94
93
|
rescue
|
95
94
|
end
|
96
95
|
|
97
|
-
# # # # #
|
98
|
-
# workarounds
|
99
|
-
require File.expand_path('irbtools/workarounds', File.dirname(__FILE__) )
|
100
|
-
|
101
96
|
# # # # #
|
102
97
|
# done :)
|
103
|
-
|
98
|
+
if msg = Irbtools.welcome_message
|
99
|
+
puts msg
|
100
|
+
end
|
104
101
|
|
105
102
|
# J-_-L
|
data/lib/irbtools/configure.rb
CHANGED
@@ -20,8 +20,12 @@ module Irbtools
|
|
20
20
|
@libs_in_proc = []
|
21
21
|
@packages = []
|
22
22
|
@railsrc = '~/.railsrc'
|
23
|
+
@welcome_message = "Welcome to IRB. You are using #{ RUBY_DESCRIPTION }. Have fun ;)"
|
23
24
|
|
24
25
|
class << self
|
26
|
+
# message to display when starting. Set to nil to disable
|
27
|
+
attr_accessor :welcome_message
|
28
|
+
|
25
29
|
# lets you define the path to the irbrc or deactivate this feature with nil
|
26
30
|
attr_accessor :railsrc
|
27
31
|
|
data/lib/irbtools/libraries.rb
CHANGED
@@ -11,10 +11,8 @@ Irbtools.add_library :wirble do # colors
|
|
11
11
|
Wirble.colorize unless OS.windows?
|
12
12
|
end
|
13
13
|
|
14
|
-
Irbtools.add_library :
|
15
|
-
|
16
|
-
Irbtools.add_library :hirb do # active record tables
|
17
|
-
Hirb::View.enable
|
14
|
+
Irbtools.add_library :fancy_irb do # put result as comment instead of a new line!
|
15
|
+
FancyIrb.start
|
18
16
|
end
|
19
17
|
|
20
18
|
Irbtools.add_library :fileutils do # cd, pwd, ln_s, mv, rm, mkdir, touch ... ;)
|
@@ -36,7 +34,7 @@ Irbtools.add_library :coderay do
|
|
36
34
|
|
37
35
|
# syntax highlight a file
|
38
36
|
def ray(path)
|
39
|
-
|
37
|
+
print CodeRay.scan( File.read(path), :ruby ).term
|
40
38
|
end
|
41
39
|
end
|
42
40
|
|
@@ -72,6 +70,7 @@ Irbtools.add_library 'yaml' # nice debug printing (y)
|
|
72
70
|
Irbtools.add_library 'g' # nice debug printing (g) - MacOS only :/
|
73
71
|
Irbtools.add_library 'guessmethod', true # automatically correct typos (method_missing hook)
|
74
72
|
Irbtools.add_library 'interactive_editor' # lets you open vim (or your favourite editor), hack something, save it, and it's loaded in the current irb session
|
73
|
+
Irbtools.add_library 'sketches' # another, more flexible "start editor and it gets loaded into your irb session" plugin
|
75
74
|
#Irbtools.add_library 'zucker/all' # see rubyzucker.info
|
76
75
|
|
77
76
|
Irbtools.add_library :boson do
|
@@ -79,9 +78,15 @@ Irbtools.add_library :boson do
|
|
79
78
|
Boson.start :verbose => false
|
80
79
|
end
|
81
80
|
|
81
|
+
Irbtools.add_library :hirb do # active record tables
|
82
|
+
Hirb::View.enable
|
83
|
+
extend Hirb::Console
|
84
|
+
end
|
85
|
+
|
86
|
+
|
82
87
|
# remove failing/not needed libs
|
83
88
|
if OS.windows?
|
84
|
-
Irbtools.libraries -= %w[
|
89
|
+
Irbtools.libraries -= %w[coderay]
|
85
90
|
end
|
86
91
|
|
87
92
|
unless OS.mac?
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: irbtools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 61
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 0.8.
|
9
|
+
- 1
|
10
|
+
version: 0.8.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jan Lelis
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10
|
18
|
+
date: 2010-11-10 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
type: :runtime
|
34
34
|
version_requirements: *id001
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
36
|
+
name: fancy_irb
|
37
37
|
prerelease: false
|
38
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
@@ -47,35 +47,35 @@ dependencies:
|
|
47
47
|
type: :runtime
|
48
48
|
version_requirements: *id002
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
50
|
+
name: hirb
|
51
51
|
prerelease: false
|
52
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ">="
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
hash:
|
57
|
+
hash: 3
|
58
58
|
segments:
|
59
|
-
-
|
60
|
-
version: "
|
59
|
+
- 0
|
60
|
+
version: "0"
|
61
61
|
type: :runtime
|
62
62
|
version_requirements: *id003
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
64
|
+
name: zucker
|
65
65
|
prerelease: false
|
66
66
|
requirement: &id004 !ruby/object:Gem::Requirement
|
67
67
|
none: false
|
68
68
|
requirements:
|
69
69
|
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
hash:
|
71
|
+
hash: 19
|
72
72
|
segments:
|
73
|
-
-
|
74
|
-
version: "
|
73
|
+
- 8
|
74
|
+
version: "8"
|
75
75
|
type: :runtime
|
76
76
|
version_requirements: *id004
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
|
-
name:
|
78
|
+
name: awesome_print
|
79
79
|
prerelease: false
|
80
80
|
requirement: &id005 !ruby/object:Gem::Requirement
|
81
81
|
none: false
|
@@ -89,7 +89,7 @@ dependencies:
|
|
89
89
|
type: :runtime
|
90
90
|
version_requirements: *id005
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
92
|
+
name: g
|
93
93
|
prerelease: false
|
94
94
|
requirement: &id006 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
@@ -103,21 +103,22 @@ dependencies:
|
|
103
103
|
type: :runtime
|
104
104
|
version_requirements: *id006
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
|
-
name:
|
106
|
+
name: clipboard
|
107
107
|
prerelease: false
|
108
108
|
requirement: &id007 !ruby/object:Gem::Requirement
|
109
109
|
none: false
|
110
110
|
requirements:
|
111
111
|
- - ">="
|
112
112
|
- !ruby/object:Gem::Version
|
113
|
-
hash:
|
113
|
+
hash: 25
|
114
114
|
segments:
|
115
115
|
- 0
|
116
|
-
|
116
|
+
- 9
|
117
|
+
version: "0.9"
|
117
118
|
type: :runtime
|
118
119
|
version_requirements: *id007
|
119
120
|
- !ruby/object:Gem::Dependency
|
120
|
-
name:
|
121
|
+
name: guessmethod
|
121
122
|
prerelease: false
|
122
123
|
requirement: &id008 !ruby/object:Gem::Requirement
|
123
124
|
none: false
|
@@ -131,7 +132,7 @@ dependencies:
|
|
131
132
|
type: :runtime
|
132
133
|
version_requirements: *id008
|
133
134
|
- !ruby/object:Gem::Dependency
|
134
|
-
name:
|
135
|
+
name: interactive_editor
|
135
136
|
prerelease: false
|
136
137
|
requirement: &id009 !ruby/object:Gem::Requirement
|
137
138
|
none: false
|
@@ -145,7 +146,7 @@ dependencies:
|
|
145
146
|
type: :runtime
|
146
147
|
version_requirements: *id009
|
147
148
|
- !ruby/object:Gem::Dependency
|
148
|
-
name:
|
149
|
+
name: coderay
|
149
150
|
prerelease: false
|
150
151
|
requirement: &id010 !ruby/object:Gem::Requirement
|
151
152
|
none: false
|
@@ -158,6 +159,34 @@ dependencies:
|
|
158
159
|
version: "0"
|
159
160
|
type: :runtime
|
160
161
|
version_requirements: *id010
|
162
|
+
- !ruby/object:Gem::Dependency
|
163
|
+
name: boson
|
164
|
+
prerelease: false
|
165
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
166
|
+
none: false
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
hash: 3
|
171
|
+
segments:
|
172
|
+
- 0
|
173
|
+
version: "0"
|
174
|
+
type: :runtime
|
175
|
+
version_requirements: *id011
|
176
|
+
- !ruby/object:Gem::Dependency
|
177
|
+
name: sketches
|
178
|
+
prerelease: false
|
179
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
180
|
+
none: false
|
181
|
+
requirements:
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
hash: 3
|
185
|
+
segments:
|
186
|
+
- 0
|
187
|
+
version: "0"
|
188
|
+
type: :runtime
|
189
|
+
version_requirements: *id012
|
161
190
|
description: irbtools is a meta gem which installs some useful irb gems and configures your irb. Simply put a require 'irbtools' in the .irbrc file in your home directory.
|
162
191
|
email: mail@janlelis.de
|
163
192
|
executables: []
|
@@ -180,9 +209,6 @@ files:
|
|
180
209
|
- lib/irbtools/configure.rb
|
181
210
|
- lib/irbtools/general.rb
|
182
211
|
- lib/irbtools/libraries.rb
|
183
|
-
- lib/irbtools/workarounds.rb
|
184
|
-
- screenshots/examples1.png
|
185
|
-
- screenshots/examples2.png
|
186
212
|
has_rdoc: true
|
187
213
|
homepage: http://github.com/janlelis/irbtools
|
188
214
|
licenses: []
|
@@ -210,8 +236,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
236
|
segments:
|
211
237
|
- 0
|
212
238
|
version: "0"
|
213
|
-
requirements:
|
214
|
-
|
239
|
+
requirements: []
|
240
|
+
|
215
241
|
rubyforge_project:
|
216
242
|
rubygems_version: 1.3.7
|
217
243
|
signing_key:
|
data/lib/irbtools/workarounds.rb
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
# # # # #
|
4
|
-
# require 'irbtools' in your .irbrc
|
5
|
-
# but you could also require 'irbtools/configure' and then call Irbtools.init to modify the loaded libraries
|
6
|
-
# see the README file for more information
|
7
|
-
|
8
|
-
# irb_rocket stdout problems
|
9
|
-
if IRB.const_defined? :CaptureIO
|
10
|
-
module IRB
|
11
|
-
class CaptureIO
|
12
|
-
def self.streams
|
13
|
-
{
|
14
|
-
:stdout => @@current_capture.instance_variable_get( :@out ),
|
15
|
-
:stderr => @@current_capture.instance_variable_get( :@err ),
|
16
|
-
}
|
17
|
-
end
|
18
|
-
|
19
|
-
alias original_capture capture
|
20
|
-
def capture(&block)
|
21
|
-
@@current_capture = self
|
22
|
-
original_capture &block
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# patch methods using stdout
|
28
|
-
module Kernel
|
29
|
-
private
|
30
|
-
|
31
|
-
alias exec_unpatched exec
|
32
|
-
def exec(*args)
|
33
|
-
STDOUT.reopen(IRB::CaptureIO.streams[:stdout])
|
34
|
-
STDERR.reopen(IRB::CaptureIO.streams[:stderr])
|
35
|
-
exec_unpatched *args
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
alias dbg_unpatched dbg
|
40
|
-
def dbg
|
41
|
-
STDOUT.reopen(IRB::CaptureIO.streams[:stdout])
|
42
|
-
STDERR.reopen(IRB::CaptureIO.streams[:stderr])
|
43
|
-
dbg_unpatched
|
44
|
-
end
|
45
|
-
|
46
|
-
if Object.const_defined? :InteractiveEditor
|
47
|
-
InteractiveEditor::Editors.class_eval do
|
48
|
-
editors = %w[vi vim emacs nano mate ed]
|
49
|
-
editors.each{ |editor|
|
50
|
-
alias_for editor, editor_unpatched = ( editor + '_unpatched' ).to_sym
|
51
|
-
define_method editor do
|
52
|
-
STDOUT.reopen(IRB::CaptureIO.streams[:stdout])
|
53
|
-
STDERR.reopen(IRB::CaptureIO.streams[:stderr])
|
54
|
-
send editor_unpatched
|
55
|
-
end
|
56
|
-
}
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
# hacks for hirb - irb_rocket interaction
|
61
|
-
module IRB
|
62
|
-
class Irb
|
63
|
-
alias output_value_unrocket output_value
|
64
|
-
def output_value
|
65
|
-
return ' ' if @io.nil?
|
66
|
-
hirb_output = Hirb::Util.capture_stdout do output_value_unrocket end
|
67
|
-
if Hirb::View.did_output?
|
68
|
-
print hirb_output
|
69
|
-
else
|
70
|
-
last = @context.io.prompt + @last_line.split("\n").last
|
71
|
-
@io.print(rc + cuu1 + (cuf1*last.length) + " " +
|
72
|
-
Wirble::Colorize::Color.escape(:blue) + "#=>" + sgr0 +
|
73
|
-
" " + Wirble::Colorize.colorize(@context.last_value.inspect) + cud1)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
class << Hirb::View
|
80
|
-
def did_output?; @did_output; end
|
81
|
-
|
82
|
-
def render_output(output, options={})
|
83
|
-
@did_output = false
|
84
|
-
if (formatted_output = formatter.format_output(output, options))
|
85
|
-
render_method.call(formatted_output)
|
86
|
-
@did_output = true
|
87
|
-
true
|
88
|
-
else
|
89
|
-
false
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
end
|
95
|
-
|
96
|
-
# J-_-L
|
97
|
-
|
data/screenshots/examples1.png
DELETED
Binary file
|
data/screenshots/examples2.png
DELETED
Binary file
|