redcar-javamateview 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. data/LICENSE +34 -0
  2. data/README +58 -0
  3. data/Rakefile +94 -0
  4. data/lib/javamateview.rb +41 -0
  5. data/lib/javamateview/example.rb +334 -0
  6. data/lib/javamateview/jar/java-mateview.jar +0 -0
  7. data/lib/javamateview/jcodings.jar +0 -0
  8. data/lib/javamateview/jdom.jar +0 -0
  9. data/lib/javamateview/joni.jar +0 -0
  10. data/spec/onig/match_spec.rb +50 -0
  11. data/spec/parsing/dynamic_parsing_spec.rb +172 -0
  12. data/spec/parsing/static_parsing_spec.rb +476 -0
  13. data/spec/spec_helper.rb +33 -0
  14. data/src/com/redcareditor/mate/Bundle.java +81 -0
  15. data/src/com/redcareditor/mate/DoublePattern.java +89 -0
  16. data/src/com/redcareditor/mate/Grammar.java +129 -0
  17. data/src/com/redcareditor/mate/IAnnotationAreaListener.java +7 -0
  18. data/src/com/redcareditor/mate/IGrammarListener.java +5 -0
  19. data/src/com/redcareditor/mate/IncludePattern.java +10 -0
  20. data/src/com/redcareditor/mate/LineNumberRulerColumn.java +922 -0
  21. data/src/com/redcareditor/mate/Marker.java +22 -0
  22. data/src/com/redcareditor/mate/MateText.java +697 -0
  23. data/src/com/redcareditor/mate/ParseThunk.java +71 -0
  24. data/src/com/redcareditor/mate/Parser.java +627 -0
  25. data/src/com/redcareditor/mate/ParserScheduler.java +237 -0
  26. data/src/com/redcareditor/mate/Pattern.java +152 -0
  27. data/src/com/redcareditor/mate/RangeSet.java +91 -0
  28. data/src/com/redcareditor/mate/Scanner.java +178 -0
  29. data/src/com/redcareditor/mate/Scope.java +534 -0
  30. data/src/com/redcareditor/mate/ScopeMatcher.java +162 -0
  31. data/src/com/redcareditor/mate/SharedTextColors.java +110 -0
  32. data/src/com/redcareditor/mate/SinglePattern.java +20 -0
  33. data/src/com/redcareditor/mate/WhitespaceCharacterPainter.java +395 -0
  34. data/src/com/redcareditor/mate/colouring/Colourer.java +16 -0
  35. data/src/com/redcareditor/mate/colouring/swt/MarginPaintListener.java +62 -0
  36. data/src/com/redcareditor/mate/colouring/swt/SwtColourer.java +501 -0
  37. data/src/com/redcareditor/mate/document/MateDocument.java +15 -0
  38. data/src/com/redcareditor/mate/document/MateTextFactory.java +9 -0
  39. data/src/com/redcareditor/mate/document/MateTextLocation.java +8 -0
  40. data/src/com/redcareditor/mate/document/MateTextLocationComparator.java +17 -0
  41. data/src/com/redcareditor/mate/document/MateTextRange.java +18 -0
  42. data/src/com/redcareditor/mate/document/swt/SwtMateDocument.java +143 -0
  43. data/src/com/redcareditor/mate/document/swt/SwtMateTextLocation.java +88 -0
  44. data/src/com/redcareditor/mate/document/swt/SwtMateTextRange.java +92 -0
  45. data/src/com/redcareditor/mate/document/swt/SwtScopePositionUpdater.java +90 -0
  46. data/src/com/redcareditor/mate/undo/MateTextUndoManager.java +11 -0
  47. data/src/com/redcareditor/mate/undo/swt/SwtMateTextUndoManager.java +166 -0
  48. data/src/com/redcareditor/onig/Match.java +212 -0
  49. data/src/com/redcareditor/onig/NullMatch.java +57 -0
  50. data/src/com/redcareditor/onig/NullRx.java +29 -0
  51. data/src/com/redcareditor/onig/Range.java +45 -0
  52. data/src/com/redcareditor/onig/Rx.java +167 -0
  53. data/src/com/redcareditor/plist/Dict.java +119 -0
  54. data/src/com/redcareditor/plist/PlistNode.java +52 -0
  55. data/src/com/redcareditor/plist/PlistPropertyLoader.java +44 -0
  56. data/src/com/redcareditor/theme/ScopeSelector.java +39 -0
  57. data/src/com/redcareditor/theme/Theme.java +122 -0
  58. data/src/com/redcareditor/theme/ThemeManager.java +41 -0
  59. data/src/com/redcareditor/theme/ThemeSetting.java +78 -0
  60. data/src/com/redcareditor/util/FileUtility.java +64 -0
  61. data/src/com/redcareditor/util/SingleLineFormatter.java +11 -0
  62. data/src/com/redcareditor/util/swt/ColourUtil.java +56 -0
  63. data/src/ruby/java-mateview.rb +68 -0
  64. data/test/com/redcareditor/mate/BundleTest.java +33 -0
  65. data/test/com/redcareditor/mate/EmptyRangeSetTest.java +27 -0
  66. data/test/com/redcareditor/mate/FilledRangeSetTest.java +82 -0
  67. data/test/com/redcareditor/mate/GrammarTest.java +158 -0
  68. data/test/com/redcareditor/mate/MateTextTest.java +35 -0
  69. data/test/com/redcareditor/mate/ScopeMatcherMatchingTest.java +55 -0
  70. data/test/com/redcareditor/mate/ScopeMatcherRankingTest.java +40 -0
  71. data/test/com/redcareditor/onig/RxTest.java +54 -0
  72. data/test/com/redcareditor/plist/DictTest.java +33 -0
  73. data/test/com/redcareditor/theme/RailsCastThemeTest.java +37 -0
  74. data/test/com/redcareditor/theme/ScopeSelectorTest.java +38 -0
  75. data/test/com/redcareditor/theme/ThemeManagerTest.java +29 -0
  76. data/test/com/redcareditor/util/swt/ColourUtilTest.java +17 -0
  77. metadata +134 -0
@@ -0,0 +1,33 @@
1
+ package com.redcareditor.plist;
2
+
3
+ import static org.junit.Assert.assertArrayEquals;
4
+ import static org.junit.Assert.assertEquals;
5
+ import static org.junit.Assert.assertNotNull;
6
+
7
+ import org.junit.Before;
8
+ import org.junit.Test;
9
+
10
+ public class DictTest {
11
+ private Dict dict;
12
+
13
+ @Before
14
+ public void setup() {
15
+ dict = Dict.parseFile("input/Bundles/Ruby.tmbundle/Syntaxes/Ruby.plist");
16
+ assertNotNull(dict);
17
+ }
18
+
19
+ @Test
20
+ public void testSimpleStringItem() {
21
+ String firstLine = dict.getString("firstLineMatch");
22
+ assertEquals("^#!/.*\\bruby\\b", firstLine);
23
+ }
24
+
25
+ @Test
26
+ public void testFileTypes() {
27
+ String[] check = { "rb", "rbx", "rjs", "Rakefile", "rake", "cgi",
28
+ "fcgi", "gemspec", "irbrc", "capfile" };
29
+ String[] types = dict.getStrings("fileTypes");
30
+
31
+ assertArrayEquals(check, types);
32
+ }
33
+ }
@@ -0,0 +1,37 @@
1
+ package com.redcareditor.theme;
2
+
3
+ import org.junit.Before;
4
+ import org.junit.Test;
5
+ import static org.junit.Assert.*;
6
+
7
+ import com.redcareditor.plist.Dict;
8
+
9
+
10
+ public class RailsCastThemeTest {
11
+ private Theme theme;
12
+
13
+ @Before
14
+ public void setup(){
15
+ Dict themeDict = Dict.parseFile("input/Themes/Railscasts.tmTheme");
16
+ theme = new Theme(themeDict);
17
+ }
18
+
19
+ @Test
20
+ public void testGlobalSettings(){
21
+ String background = theme.globalSettings.get("background");
22
+ assertEquals("#2B2B2B", background);
23
+
24
+ String invisibles = theme.globalSettings.get("invisibles");
25
+ assertEquals("#404040", invisibles);
26
+ }
27
+
28
+ @Test
29
+ public void testSingleScopeSetting(){
30
+
31
+ }
32
+
33
+ @Test
34
+ public void testMultipleScopeSetting(){
35
+
36
+ }
37
+ }
@@ -0,0 +1,38 @@
1
+ package com.redcareditor.theme;
2
+
3
+ import java.util.List;
4
+
5
+ import org.junit.Test;
6
+ import static org.junit.Assert.*;
7
+
8
+ public class ScopeSelectorTest {
9
+ @Test
10
+ public void testSinglePositiveSelector(){
11
+ String selector = "entity.name.function";
12
+ List<ScopeSelector> selectors = ScopeSelector.compile(selector);
13
+ assertEquals(1, selectors.size());
14
+
15
+ ScopeSelector s = selectors.get(0);
16
+ assertEquals("(entity\\.name\\.function)", s.positiveRegex.pattern);
17
+ }
18
+
19
+ @Test
20
+ public void testMultiplePositiveSelectors(){
21
+ String selector = "meta.tag, declaration.tag, entity.name.tag, entity.other.attribute-name";
22
+ List<ScopeSelector> selectors = ScopeSelector.compile(selector);
23
+ assertEquals(4, selectors.size());
24
+
25
+ ScopeSelector s1 = selectors.get(0);
26
+ assertEquals("(meta\\.tag)", s1.positiveRegex.pattern);
27
+
28
+ ScopeSelector s3 = selectors.get(2);
29
+ assertEquals("(entity\\.name\\.tag)", s3.positiveRegex.pattern);
30
+ }
31
+
32
+ @Test
33
+ public void testPositiveAndNegativeSelector(){
34
+ String selector = "source.ruby string - string source";
35
+ List<ScopeSelector> selectors = ScopeSelector.compile(selector);
36
+ // TODO: test something here!
37
+ }
38
+ }
@@ -0,0 +1,29 @@
1
+ package com.redcareditor.theme;
2
+
3
+ import org.junit.Test;
4
+
5
+ import static org.junit.Assert.*;
6
+ import com.redcareditor.theme.ThemeManager;
7
+
8
+ public class ThemeManagerTest {
9
+ @Test
10
+ public void shouldLoadThemes() {
11
+ ThemeManager.loadThemes("input/");
12
+ assertEquals(3, ThemeManager.themes.size());
13
+ }
14
+
15
+ @Test
16
+ public void shouldContainTwoRightThemes() {
17
+ String [] expectedThemeNames = {"Mac Classic", "Railscasts", "Twilight"};
18
+ for(String theme : expectedThemeNames){
19
+ boolean found = false;
20
+ for(Theme t : ThemeManager.themes){
21
+ if(t.name.equals(theme)){
22
+ found = true;
23
+ break;
24
+ }
25
+ }
26
+ assertTrue(String.format("Could not find theme '%s', which sould be loaded by now", theme), found);
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,17 @@
1
+ package com.redcareditor.util.swt;
2
+
3
+ import static org.junit.Assert.*;
4
+
5
+ import org.junit.Test;
6
+
7
+ /**
8
+ * User: Mat Schaffer <mat.schaffer@gmail.com>
9
+ * Date: Sep 6, 2009
10
+ * Time: 1:08:54 PM
11
+ */
12
+ public class ColourUtilTest {
13
+ @Test
14
+ public void shouldMergeColoursAccordingToTransparencyRules() {
15
+ assertEquals("#080808", ColourUtil.mergeColour("#000000", "#FFFFFF08"));
16
+ }
17
+ }
metadata ADDED
@@ -0,0 +1,134 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: redcar-javamateview
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.2'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Daniel Lucraft
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-09-10 00:00:00.000000000 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: swt
17
+ requirement: &70125445745040 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *70125445745040
26
+ description: ''
27
+ email:
28
+ - dan@fluentradical.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/javamateview/example.rb
34
+ - lib/javamateview/jar/java-mateview.jar
35
+ - lib/javamateview/jcodings.jar
36
+ - lib/javamateview/jdom.jar
37
+ - lib/javamateview/joni.jar
38
+ - LICENSE
39
+ - README
40
+ - Rakefile
41
+ - lib/javamateview.rb
42
+ - test/com/redcareditor/mate/BundleTest.java
43
+ - test/com/redcareditor/mate/EmptyRangeSetTest.java
44
+ - test/com/redcareditor/mate/FilledRangeSetTest.java
45
+ - test/com/redcareditor/mate/GrammarTest.java
46
+ - test/com/redcareditor/mate/MateTextTest.java
47
+ - test/com/redcareditor/mate/ScopeMatcherMatchingTest.java
48
+ - test/com/redcareditor/mate/ScopeMatcherRankingTest.java
49
+ - test/com/redcareditor/onig/RxTest.java
50
+ - test/com/redcareditor/plist/DictTest.java
51
+ - test/com/redcareditor/theme/RailsCastThemeTest.java
52
+ - test/com/redcareditor/theme/ScopeSelectorTest.java
53
+ - test/com/redcareditor/theme/ThemeManagerTest.java
54
+ - test/com/redcareditor/util/swt/ColourUtilTest.java
55
+ - spec/onig/match_spec.rb
56
+ - spec/parsing/dynamic_parsing_spec.rb
57
+ - spec/parsing/static_parsing_spec.rb
58
+ - spec/spec_helper.rb
59
+ - src/com/redcareditor/mate/Bundle.java
60
+ - src/com/redcareditor/mate/colouring/Colourer.java
61
+ - src/com/redcareditor/mate/colouring/swt/MarginPaintListener.java
62
+ - src/com/redcareditor/mate/colouring/swt/SwtColourer.java
63
+ - src/com/redcareditor/mate/document/MateDocument.java
64
+ - src/com/redcareditor/mate/document/MateTextFactory.java
65
+ - src/com/redcareditor/mate/document/MateTextLocation.java
66
+ - src/com/redcareditor/mate/document/MateTextLocationComparator.java
67
+ - src/com/redcareditor/mate/document/MateTextRange.java
68
+ - src/com/redcareditor/mate/document/swt/SwtMateDocument.java
69
+ - src/com/redcareditor/mate/document/swt/SwtMateTextLocation.java
70
+ - src/com/redcareditor/mate/document/swt/SwtMateTextRange.java
71
+ - src/com/redcareditor/mate/document/swt/SwtScopePositionUpdater.java
72
+ - src/com/redcareditor/mate/DoublePattern.java
73
+ - src/com/redcareditor/mate/Grammar.java
74
+ - src/com/redcareditor/mate/IAnnotationAreaListener.java
75
+ - src/com/redcareditor/mate/IGrammarListener.java
76
+ - src/com/redcareditor/mate/IncludePattern.java
77
+ - src/com/redcareditor/mate/LineNumberRulerColumn.java
78
+ - src/com/redcareditor/mate/Marker.java
79
+ - src/com/redcareditor/mate/MateText.java
80
+ - src/com/redcareditor/mate/Parser.java
81
+ - src/com/redcareditor/mate/ParserScheduler.java
82
+ - src/com/redcareditor/mate/ParseThunk.java
83
+ - src/com/redcareditor/mate/Pattern.java
84
+ - src/com/redcareditor/mate/RangeSet.java
85
+ - src/com/redcareditor/mate/Scanner.java
86
+ - src/com/redcareditor/mate/Scope.java
87
+ - src/com/redcareditor/mate/ScopeMatcher.java
88
+ - src/com/redcareditor/mate/SharedTextColors.java
89
+ - src/com/redcareditor/mate/SinglePattern.java
90
+ - src/com/redcareditor/mate/undo/MateTextUndoManager.java
91
+ - src/com/redcareditor/mate/undo/swt/SwtMateTextUndoManager.java
92
+ - src/com/redcareditor/mate/WhitespaceCharacterPainter.java
93
+ - src/com/redcareditor/onig/Match.java
94
+ - src/com/redcareditor/onig/NullMatch.java
95
+ - src/com/redcareditor/onig/NullRx.java
96
+ - src/com/redcareditor/onig/Range.java
97
+ - src/com/redcareditor/onig/Rx.java
98
+ - src/com/redcareditor/plist/Dict.java
99
+ - src/com/redcareditor/plist/PlistNode.java
100
+ - src/com/redcareditor/plist/PlistPropertyLoader.java
101
+ - src/com/redcareditor/theme/ScopeSelector.java
102
+ - src/com/redcareditor/theme/Theme.java
103
+ - src/com/redcareditor/theme/ThemeManager.java
104
+ - src/com/redcareditor/theme/ThemeSetting.java
105
+ - src/com/redcareditor/util/FileUtility.java
106
+ - src/com/redcareditor/util/SingleLineFormatter.java
107
+ - src/com/redcareditor/util/swt/ColourUtil.java
108
+ - src/ruby/java-mateview.rb
109
+ has_rdoc: true
110
+ homepage: http://github.com/danlucraft/redcar-javamateview
111
+ licenses: []
112
+ post_install_message:
113
+ rdoc_options: []
114
+ require_paths:
115
+ - lib
116
+ required_ruby_version: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ! '>='
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ requirements: []
129
+ rubyforge_project:
130
+ rubygems_version: 1.6.2
131
+ signing_key:
132
+ specification_version: 3
133
+ summary: A source editing widget for SWT that understands Textmate syntaxes and themes
134
+ test_files: []