ruco 0.2.0.beta → 0.2.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -3
- data/Gemfile.lock +0 -10
- data/Rakefile +10 -27
- data/Readme.md +26 -22
- data/VERSION +1 -1
- data/bin/ruco +6 -15
- data/lib/ruco.rb +0 -25
- data/lib/ruco/application.rb +1 -1
- data/lib/ruco/core_ext/object.rb +0 -26
- data/lib/ruco/core_ext/range.rb +0 -9
- data/lib/ruco/editor.rb +0 -1
- data/lib/ruco/editor_area.rb +0 -1
- data/lib/ruco/file_store.rb +5 -23
- data/lib/ruco/screen.rb +7 -61
- data/lib/ruco/style_map.rb +2 -2
- data/lib/ruco/window.rb +14 -19
- data/ruco.gemspec +22 -13
- data/spec/ruco/core_ext/range_spec.rb +0 -24
- data/spec/ruco/editor_spec.rb +11 -129
- data/spec/ruco/file_store_spec.rb +0 -45
- data/spec/ruco/screen_spec.rb +2 -39
- data/spec/spec_helper.rb +2 -6
- metadata +29 -22
- data/lib/ruco/array_processor.rb +0 -53
- data/lib/ruco/editor/colors.rb +0 -97
- data/lib/ruco/syntax_parser.rb +0 -33
- data/lib/ruco/tm_theme.rb +0 -45
- data/playground/benchmark_syntax_parser.rb +0 -23
- data/spec/fixtures/railscasts.tmTheme +0 -369
- data/spec/fixtures/slow.js +0 -4
- data/spec/fixtures/test.tmTheme +0 -186
- data/spec/ruco/array_processor_spec.rb +0 -46
- data/spec/ruco/syntax_parser_spec.rb +0 -74
- data/spec/ruco/tm_theme_spec.rb +0 -14
@@ -1,46 +0,0 @@
|
|
1
|
-
require File.expand_path('spec/spec_helper')
|
2
|
-
|
3
|
-
describe Ruco::ArrayProcessor do
|
4
|
-
let(:p){ Ruco::ArrayProcessor.new }
|
5
|
-
before do
|
6
|
-
p.new_line('xxx')
|
7
|
-
end
|
8
|
-
|
9
|
-
it "is empty by default" do
|
10
|
-
p.lines.should == [[]]
|
11
|
-
end
|
12
|
-
|
13
|
-
it "parses simple syntax" do
|
14
|
-
p.open_tag('xxx',0)
|
15
|
-
p.close_tag('xxx',3)
|
16
|
-
p.lines.should == [[['xxx',0...3]]]
|
17
|
-
end
|
18
|
-
|
19
|
-
it "parses nested syntax" do
|
20
|
-
p.open_tag('xxx',0)
|
21
|
-
p.open_tag('yyy',2)
|
22
|
-
p.close_tag('yyy',3)
|
23
|
-
p.close_tag('xxx',3)
|
24
|
-
p.lines.should == [[["yyy", 2...3], ["xxx", 0...3]]]
|
25
|
-
end
|
26
|
-
|
27
|
-
it "parses multiline syntax" do
|
28
|
-
p.open_tag('xxx',0)
|
29
|
-
p.close_tag('xxx',3)
|
30
|
-
p.new_line('xxx')
|
31
|
-
p.open_tag('xxx',1)
|
32
|
-
p.close_tag('xxx',2)
|
33
|
-
p.lines.should == [
|
34
|
-
[["xxx", 0...3]],
|
35
|
-
[["xxx", 1...2]]
|
36
|
-
]
|
37
|
-
end
|
38
|
-
|
39
|
-
it "parses multiply nested syntax" do
|
40
|
-
p.open_tag('yyy',0)
|
41
|
-
p.open_tag('yyy',2)
|
42
|
-
p.close_tag('yyy',3)
|
43
|
-
p.close_tag('yyy',3)
|
44
|
-
p.lines.should == [[["yyy", 2...3], ["yyy", 0...3]]]
|
45
|
-
end
|
46
|
-
end
|
@@ -1,74 +0,0 @@
|
|
1
|
-
require File.expand_path('spec/spec_helper')
|
2
|
-
|
3
|
-
describe Ruco::SyntaxParser do
|
4
|
-
def parse(text, languages=['ruby'])
|
5
|
-
Ruco::SyntaxParser.syntax_for_lines(text, languages)
|
6
|
-
end
|
7
|
-
|
8
|
-
describe :parse_lines do
|
9
|
-
it "shows positions for simple lines" do
|
10
|
-
parse(["class Foo","end"]).should == [[
|
11
|
-
["keyword.control.class.ruby", 0...5],
|
12
|
-
["entity.name.type.class.ruby", 6...9],
|
13
|
-
["meta.class.ruby", 0...9]],
|
14
|
-
[["keyword.control.ruby", 0...3]
|
15
|
-
]]
|
16
|
-
end
|
17
|
-
|
18
|
-
it "shows positions for complicated lines" do
|
19
|
-
parse(["class foo end blob else Foo"]).should == [[
|
20
|
-
["keyword.control.class.ruby", 0...5],
|
21
|
-
["entity.name.type.class.ruby", 6...9],
|
22
|
-
["meta.class.ruby", 0...9],
|
23
|
-
["keyword.control.ruby", 10...13],
|
24
|
-
["keyword.control.ruby", 19...23],
|
25
|
-
["variable.other.constant.ruby", 24...27]
|
26
|
-
]]
|
27
|
-
end
|
28
|
-
|
29
|
-
it "does not show keywords in strings" do
|
30
|
-
parse(["Bar 'Bar' foo"]).should == [[
|
31
|
-
["variable.other.constant.ruby", 0...3],
|
32
|
-
["punctuation.definition.string.begin.ruby", 4...5],
|
33
|
-
["punctuation.definition.string.end.ruby", 8...9],
|
34
|
-
["string.quoted.single.ruby", 4...9]
|
35
|
-
]]
|
36
|
-
end
|
37
|
-
|
38
|
-
it "does not show strings in comments" do
|
39
|
-
parse(["'Bar' # 'Bar'"]).should == [[
|
40
|
-
["punctuation.definition.string.begin.ruby", 0...1],
|
41
|
-
["punctuation.definition.string.end.ruby", 4...5],
|
42
|
-
["string.quoted.single.ruby", 0...5],
|
43
|
-
["punctuation.definition.comment.ruby", 6...7],
|
44
|
-
["comment.line.number-sign.ruby", 6...13]
|
45
|
-
]]
|
46
|
-
end
|
47
|
-
|
48
|
-
it "shows multiline comments" do
|
49
|
-
parse(["=begin","1 : 2","=end"]).should == [
|
50
|
-
[["punctuation.definition.comment.ruby", 0...6], ["comment.block.documentation.ruby", 0...7]],
|
51
|
-
[["comment.block.documentation.ruby", 0...6]],
|
52
|
-
[["punctuation.definition.comment.ruby", 0...4], ["comment.block.documentation.ruby", 0...4]]
|
53
|
-
]
|
54
|
-
end
|
55
|
-
|
56
|
-
it "continues multiline on last line before closing it" do
|
57
|
-
parse(["%Q{\n\na }"]).should == [
|
58
|
-
[["punctuation.definition.string.begin.ruby", 0...3], ["string.quoted.double.ruby.mod", 0...4]],
|
59
|
-
[["string.quoted.double.ruby.mod", 0...1]],
|
60
|
-
[["punctuation.definition.string.end.ruby", 3...4], ["string.quoted.double.ruby.mod", 0...4]]
|
61
|
-
]
|
62
|
-
end
|
63
|
-
|
64
|
-
it "can handle unfound syntaxes" do
|
65
|
-
parse('aaaa', ['fooo']).should == []
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
describe :syntax_nodes do
|
70
|
-
it "detects languages not present in ultraviolet" do
|
71
|
-
Ruco::SyntaxParser.syntax_node(['html+erb']).should_not == nil
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
data/spec/ruco/tm_theme_spec.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require File.expand_path('spec/spec_helper')
|
2
|
-
|
3
|
-
describe Ruco::TMTheme do
|
4
|
-
let(:theme){ Ruco::TMTheme.new('spec/fixtures/test.tmTheme') }
|
5
|
-
|
6
|
-
it "parses foreground/background" do
|
7
|
-
theme.foreground.should == '#4D4D4C'
|
8
|
-
theme.background.should == '#FFFFFF'
|
9
|
-
end
|
10
|
-
|
11
|
-
it "parses rules" do
|
12
|
-
theme.styles["keyword.operator.class"].should == ['#666969', nil]
|
13
|
-
end
|
14
|
-
end
|