rib 0.1.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|