rib 0.1.0 → 0.9.0
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/.gitignore +0 -4
- data/CHANGES.md +6 -0
- data/README +107 -113
- data/README.md +107 -113
- data/Rakefile +5 -3
- data/TODO.md +6 -0
- data/bin/rib-all +5 -0
- data/bin/rib-auto +9 -0
- data/bin/rib-min +5 -0
- data/bin/rib-rails +9 -0
- data/bin/rib-ramaze +9 -0
- data/lib/rib.rb +70 -6
- data/lib/rib/all.rb +0 -1
- data/lib/rib/api.rb +60 -64
- data/lib/rib/app/auto.rb +25 -0
- data/lib/rib/app/rails.rb +41 -0
- data/lib/rib/app/ramaze.rb +25 -0
- data/lib/rib/config.rb +3 -0
- data/lib/rib/core.rb +13 -1
- data/lib/rib/core/completion.rb +15 -3
- data/lib/rib/core/history.rb +56 -0
- data/lib/rib/core/multiline.rb +104 -0
- data/lib/rib/core/readline.rb +3 -1
- data/lib/rib/core/squeeze_history.rb +45 -0
- data/lib/rib/core/strip_backtrace.rb +45 -0
- data/lib/rib/core/underscore.rb +17 -8
- data/lib/rib/debug.rb +2 -1
- data/lib/rib/dep/hirb.rb +24 -0
- data/lib/rib/more.rb +4 -3
- data/lib/rib/more/anchor.rb +85 -0
- data/lib/rib/more/color.rb +44 -43
- data/lib/rib/{zore → more}/edit.rb +3 -3
- data/lib/rib/more/multiline_history.rb +24 -12
- data/lib/rib/more/multiline_history_file.rb +7 -3
- data/lib/rib/plugin.rb +2 -4
- data/lib/rib/runner.rb +84 -49
- data/lib/rib/shell.rb +4 -2
- data/lib/rib/test.rb +55 -2
- data/lib/rib/test/multiline.rb +140 -0
- data/lib/rib/version.rb +1 -1
- data/rib.gemspec +54 -22
- data/screenshot.png +0 -0
- data/task/gemgem.rb +3 -1
- data/test/core/{test_history_file.rb → test_history.rb} +29 -19
- data/test/core/test_multiline.rb +22 -0
- data/test/core/test_readline.rb +13 -8
- data/test/{more → core}/test_squeeze_history.rb +24 -18
- data/test/core/test_underscore.rb +32 -21
- data/test/more/test_multiline_history.rb +42 -0
- data/test/test_shell.rb +13 -8
- metadata +72 -27
- data/2011-02-28.md +0 -203
- data/CHANGES +0 -86
- data/TODO +0 -6
- data/lib/rib/core/history_file.rb +0 -38
- data/lib/rib/more/multiline.rb +0 -77
- data/lib/rib/more/squeeze_history.rb +0 -37
- data/lib/rib/more/strip_backtrace.rb +0 -43
- data/lib/rib/zore.rb +0 -3
- data/lib/rib/zore/anchor.rb +0 -69
@@ -1,43 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'rib'
|
3
|
-
|
4
|
-
module Rib::StripBacktrace
|
5
|
-
include Rib::Plugin
|
6
|
-
Shell.use(self)
|
7
|
-
|
8
|
-
# strip backtrace until ripl
|
9
|
-
def format_error e
|
10
|
-
return super if StripBacktrace.disabled?
|
11
|
-
message, backtrace = get_error(e, P.strip_backtrace(e, config[:name]))
|
12
|
-
"#{message}\n #{backtrace.join("\n ")}"
|
13
|
-
end
|
14
|
-
|
15
|
-
def get_error e, backtrace=e.backtrace
|
16
|
-
return super if StripBacktrace.disabled?
|
17
|
-
["#{e.class}: #{e.message}", backtrace]
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
module Imp
|
22
|
-
def strip_backtrace e, name
|
23
|
-
home(cwd(snip(e, name)))
|
24
|
-
end
|
25
|
-
|
26
|
-
def home b
|
27
|
-
b.map{ |p| p.sub(ENV['HOME'], '~') }
|
28
|
-
end
|
29
|
-
|
30
|
-
def cwd b
|
31
|
-
b.map{ |p| p.sub(Dir.pwd, '.') }
|
32
|
-
end
|
33
|
-
|
34
|
-
def snip e, name
|
35
|
-
return [] if e.kind_of?(SyntaxError)
|
36
|
-
e.backtrace[
|
37
|
-
0..
|
38
|
-
e.backtrace.rindex{ |l| l =~ /\(#{name}\):\d+:in `.+?'/ } || -1]
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
Plugin.extend(Imp)
|
43
|
-
end
|
data/lib/rib/zore.rb
DELETED
data/lib/rib/zore/anchor.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'rib'
|
3
|
-
|
4
|
-
module Rib::Anchor
|
5
|
-
include Rib::Plugin
|
6
|
-
Shell.use(self)
|
7
|
-
|
8
|
-
def loop_eval(str)
|
9
|
-
case obj_or_binding = (Rib.vars[:anchor] ||= []).last
|
10
|
-
when NilClass
|
11
|
-
super
|
12
|
-
|
13
|
-
when Binding
|
14
|
-
@binding = obj_or_binding
|
15
|
-
super
|
16
|
-
|
17
|
-
else
|
18
|
-
obj_or_binding.instance_eval(str, "(#{config[:name]})", config[:line])
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def prompt
|
23
|
-
if Rib.const_defined?(:Color) && kind_of?(Rib::Color) &&
|
24
|
-
obj_or_binding = (Rib.vars[:anchor] ||= []).last
|
25
|
-
|
26
|
-
super.sub(config[:name], format_color(obj_or_binding, config[:name]))
|
27
|
-
else
|
28
|
-
super
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
# if the object is the same, then we're exiting from an anchor,
|
33
|
-
# so don't print anything.
|
34
|
-
def print_result result
|
35
|
-
super unless !result.nil? &&
|
36
|
-
result.object_id == Rib.vars[:anchor_last].object_id
|
37
|
-
end
|
38
|
-
|
39
|
-
module Imp
|
40
|
-
def short_inspect obj_or_binding
|
41
|
-
obj_or_binding.inspect[0..9]
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
module AnchorImp
|
46
|
-
def anchor obj_or_binding
|
47
|
-
return if Rib::Anchor.disabled?
|
48
|
-
|
49
|
-
(Rib.vars[:anchor] ||= []) << obj_or_binding
|
50
|
-
name = Rib::P.short_inspect(obj_or_binding)
|
51
|
-
|
52
|
-
Rib.shells <<
|
53
|
-
Rib::Shell.new(Rib.config.merge(
|
54
|
-
:name => name,
|
55
|
-
:prompt => "#{name}(#{Rib.vars[:anchor].size})" +
|
56
|
-
(Rib.config[:prompt] || '>> ')))
|
57
|
-
|
58
|
-
Rib.shell.loop
|
59
|
-
|
60
|
-
ensure
|
61
|
-
# stores to check if we're exiting from an anchor
|
62
|
-
Rib.vars[:anchor_last] = Rib.vars[:anchor].pop
|
63
|
-
Rib.shells.pop
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
Plugin.extend(Imp)
|
68
|
-
Rib .extend(AnchorImp)
|
69
|
-
end
|