codemirror-rails 0.1.1 → 0.1.2

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.
Files changed (28) hide show
  1. data/codemirror-rails-0.0.0.gem +0 -0
  2. data/codemirror-rails-0.1.gem +0 -0
  3. data/lib/codemirror/rails/version.rb +2 -2
  4. data/vendor/assets/javascripts/codemirror.js +122 -63
  5. data/vendor/assets/javascripts/codemirror/modes/clike.js +221 -0
  6. data/vendor/assets/javascripts/codemirror/modes/css.js +124 -0
  7. data/vendor/assets/javascripts/codemirror/modes/diff.js +13 -0
  8. data/vendor/assets/javascripts/codemirror/modes/haskell.js +242 -0
  9. data/vendor/assets/javascripts/codemirror/modes/htmlmixed.js +79 -0
  10. data/vendor/assets/javascripts/codemirror/modes/javascript.js +348 -0
  11. data/vendor/assets/javascripts/codemirror/modes/lua.js +138 -0
  12. data/vendor/assets/javascripts/codemirror/modes/php.js +111 -0
  13. data/vendor/assets/javascripts/codemirror/modes/plsql.js +217 -0
  14. data/vendor/assets/javascripts/codemirror/modes/python.js +321 -0
  15. data/vendor/assets/javascripts/codemirror/modes/rst.js +333 -0
  16. data/vendor/assets/javascripts/codemirror/modes/scheme.js +181 -0
  17. data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +122 -0
  18. data/vendor/assets/javascripts/codemirror/modes/stex.js +167 -0
  19. data/vendor/assets/javascripts/codemirror/modes/xml.js +227 -0
  20. data/vendor/assets/javascripts/codemirror/modes/yaml.js +95 -0
  21. data/vendor/assets/javascripts/codemirror/overlay.js +51 -0
  22. data/vendor/assets/javascripts/codemirror/runmode.js +27 -0
  23. data/vendor/assets/stylesheets/codemirror.css +3 -0
  24. data/vendor/assets/stylesheets/codemirror/modes/clike.css +7 -0
  25. data/vendor/assets/stylesheets/codemirror/modes/diff.css +3 -0
  26. data/vendor/assets/stylesheets/codemirror/modes/rst.css +75 -0
  27. metadata +25 -3
  28. data/codemirror-rails-0.1.1.gem +0 -0
@@ -0,0 +1,95 @@
1
+ CodeMirror.defineMode("yaml", function() {
2
+
3
+ var cons = ['true', 'false', 'on', 'off', 'yes', 'no'];
4
+ var keywordRegex = new RegExp("\\b(("+cons.join(")|(")+"))$", 'i');
5
+
6
+ return {
7
+ token: function(stream, state) {
8
+ var ch = stream.peek();
9
+ var esc = state.escaped;
10
+ state.escaped = false;
11
+ /* comments */
12
+ if (ch == "#") { stream.skipToEnd(); return "comment"; }
13
+ if (state.literal && stream.indentation() > state.keyCol) {
14
+ stream.skipToEnd(); return "string";
15
+ } else if (state.literal) { state.literal = false; }
16
+ if (stream.sol()) {
17
+ state.keyCol = 0;
18
+ state.pair = false;
19
+ state.pairStart = false;
20
+ /* document start */
21
+ if(stream.match(/---/)) { return "def"; }
22
+ /* document end */
23
+ if (stream.match(/\.\.\./)) { return "def"; }
24
+ /* array list item */
25
+ if (stream.match(/\s*-\s+/)) { return 'meta'; }
26
+ }
27
+ /* pairs (associative arrays) -> key */
28
+ if (!state.pair && stream.match(/^\s*([a-z0-9\._-])+(?=\s*:)/i)) {
29
+ state.pair = true;
30
+ state.keyCol = stream.indentation();
31
+ return "atom";
32
+ }
33
+ if (state.pair && stream.match(/^:\s*/)) { state.pairStart = true; return 'meta'; }
34
+
35
+ /* inline pairs/lists */
36
+ if (stream.match(/^(\{|\}|\[|\])/)) {
37
+ if (ch == '{')
38
+ state.inlinePairs++;
39
+ else if (ch == '}')
40
+ state.inlinePairs--;
41
+ else if (ch == '[')
42
+ state.inlineList++;
43
+ else
44
+ state.inlineList--;
45
+ return 'meta';
46
+ }
47
+
48
+ /* list seperator */
49
+ if (state.inlineList > 0 && !esc && ch == ',') {
50
+ stream.next();
51
+ return 'meta';
52
+ }
53
+ /* pairs seperator */
54
+ if (state.inlinePairs > 0 && !esc && ch == ',') {
55
+ state.keyCol = 0;
56
+ state.pair = false;
57
+ state.pairStart = false;
58
+ stream.next();
59
+ return 'meta';
60
+ }
61
+
62
+ /* start of value of a pair */
63
+ if (state.pairStart) {
64
+ /* block literals */
65
+ if (stream.match(/^\s*(\||\>)\s*/)) { state.literal = true; return 'meta'; };
66
+ /* references */
67
+ if (stream.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i)) { return 'variable-2'; }
68
+ /* numbers */
69
+ if (state.inlinePairs == 0 && stream.match(/^\s*-?[0-9\.\,]+\s?$/)) { return 'number'; }
70
+ if (state.inlinePairs > 0 && stream.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/)) { return 'number'; }
71
+ /* keywords */
72
+ if (stream.match(keywordRegex)) { return 'keyword'; }
73
+ }
74
+
75
+ /* nothing found, continue */
76
+ state.pairStart = false;
77
+ state.escaped = (ch == '\\');
78
+ stream.next();
79
+ return null;
80
+ },
81
+ startState: function() {
82
+ return {
83
+ pair: false,
84
+ pairStart: false,
85
+ keyCol: 0,
86
+ inlinePairs: 0,
87
+ inlineList: 0,
88
+ literal: false,
89
+ escaped: false
90
+ };
91
+ }
92
+ };
93
+ });
94
+
95
+ CodeMirror.defineMIME("text/x-yaml", "yaml");
@@ -0,0 +1,51 @@
1
+ // Utility function that allows modes to be combined. The mode given
2
+ // as the base argument takes care of most of the normal mode
3
+ // functionality, but a second (typically simple) mode is used, which
4
+ // can override the style of text. Both modes get to parse all of the
5
+ // text, but when both assign a non-null style to a piece of code, the
6
+ // overlay wins, unless the combine argument was true, in which case
7
+ // the styles are combined.
8
+
9
+ CodeMirror.overlayParser = function(base, overlay, combine) {
10
+ return {
11
+ startState: function() {
12
+ return {
13
+ base: CodeMirror.startState(base),
14
+ overlay: CodeMirror.startState(overlay),
15
+ basePos: 0, baseCur: null,
16
+ overlayPos: 0, overlayCur: null
17
+ };
18
+ },
19
+ copyState: function(state) {
20
+ return {
21
+ base: CodeMirror.copyState(base, state.base),
22
+ overlay: CodeMirror.copyState(overlay, state.overlay),
23
+ basePos: state.basePos, baseCur: null,
24
+ overlayPos: state.overlayPos, overlayCur: null
25
+ };
26
+ },
27
+
28
+ token: function(stream, state) {
29
+ if (stream.start == state.basePos) {
30
+ state.baseCur = base.token(stream, state.base);
31
+ state.basePos = stream.pos;
32
+ }
33
+ if (stream.start == state.overlayPos) {
34
+ stream.pos = stream.start;
35
+ state.overlayCur = overlay.token(stream, state.overlay);
36
+ state.overlayPos = stream.pos;
37
+ }
38
+ stream.pos = Math.min(state.basePos, state.overlayPos);
39
+ if (stream.eol()) state.basePos = state.overlayPos = 0;
40
+
41
+ if (state.overlayCur == null) return state.baseCur;
42
+ if (state.baseCur != null && combine) return state.baseCur + " " + state.overlayCur;
43
+ else return state.overlayCur;
44
+ },
45
+
46
+ indent: function(state, textAfter) {
47
+ return base.indent(state.base, textAfter);
48
+ },
49
+ electricChars: base.electricChars
50
+ };
51
+ };
@@ -0,0 +1,27 @@
1
+ CodeMirror.runMode = function(string, modespec, callback) {
2
+ var mode = CodeMirror.getMode({indentUnit: 2}, modespec);
3
+ var isNode = callback.nodeType == 1;
4
+ if (isNode) {
5
+ var node = callback, accum = [];
6
+ callback = function(string, style) {
7
+ if (string == "\n")
8
+ accum.push("<br>");
9
+ else if (style)
10
+ accum.push("<span class=\"cm-" + CodeMirror.htmlEscape(style) + "\">" + CodeMirror.htmlEscape(string) + "</span>");
11
+ else
12
+ accum.push(CodeMirror.htmlEscape(string));
13
+ }
14
+ }
15
+ var lines = CodeMirror.splitLines(string), state = CodeMirror.startState(mode);
16
+ for (var i = 0, e = lines.length; i < e; ++i) {
17
+ if (i) callback("\n");
18
+ var stream = new CodeMirror.StringStream(lines[i]);
19
+ while (!stream.eol()) {
20
+ var style = mode.token(stream, state);
21
+ callback(stream.current(), style);
22
+ stream.start = stream.pos;
23
+ }
24
+ }
25
+ if (isNode)
26
+ node.innerHTML = accum.join("");
27
+ };
@@ -6,6 +6,9 @@
6
6
  .CodeMirror-scroll {
7
7
  overflow: auto;
8
8
  height: 300px;
9
+ /* This is needed to prevent an IE[67] bug where the scrolled content
10
+ is visible outside of the scrolling box. */
11
+ position: relative;
9
12
  }
10
13
 
11
14
  .CodeMirror-gutter {
@@ -0,0 +1,7 @@
1
+ span.c-like-keyword {color: #90b;}
2
+ span.c-like-number {color: #291;}
3
+ span.c-like-comment {color: #a70;}
4
+ span.c-like-string {color: #a22;}
5
+ span.c-like-preprocessor {color: #049;}
6
+ span.c-like-var {color: #22b;}
7
+ span.c-like-annotation {color: #666;}
@@ -0,0 +1,3 @@
1
+ .cm-s-default span.cm-rangeinfo {color: #a0b;}
2
+ .cm-s-default span.cm-minus {color: #a22;}
3
+ .cm-s-default span.cm-plus {color: #2b2;}
@@ -0,0 +1,75 @@
1
+ .cm-s-default span.cm-emphasis {
2
+ font-style: italic;
3
+ }
4
+
5
+ .cm-s-default span.cm-strong {
6
+ font-weight: bold;
7
+ }
8
+
9
+ .cm-s-default span.cm-interpreted {
10
+ color: #33cc66;
11
+ }
12
+
13
+ .cm-s-default span.cm-inline {
14
+ color: #3399cc;
15
+ }
16
+
17
+ .cm-s-default span.cm-role {
18
+ color: #666699;
19
+ }
20
+
21
+ .cm-s-default span.cm-list {
22
+ color: #cc0099;
23
+ font-weight: bold;
24
+ }
25
+
26
+ .cm-s-default span.cm-body {
27
+ color: #6699cc;
28
+ }
29
+
30
+ .cm-s-default span.cm-verbatim {
31
+ color: #3366ff;
32
+ }
33
+
34
+ .cm-s-default span.cm-comment {
35
+ color: #aa7700;
36
+ }
37
+
38
+ .cm-s-default span.cm-directive {
39
+ font-weight: bold;
40
+ color: #3399ff;
41
+ }
42
+
43
+ .cm-s-default span.cm-hyperlink {
44
+ font-weight: bold;
45
+ color: #3366ff;
46
+ }
47
+
48
+ .cm-s-default span.cm-footnote {
49
+ font-weight: bold;
50
+ color: #3333ff;
51
+ }
52
+
53
+ .cm-s-default span.cm-citation {
54
+ font-weight: bold;
55
+ color: #3300ff;
56
+ }
57
+
58
+ .cm-s-default span.cm-replacement {
59
+ color: #9933cc;
60
+ }
61
+
62
+ .cm-s-default span.cm-section {
63
+ font-weight: bold;
64
+ color: #cc0099;
65
+ }
66
+
67
+ .cm-s-default span.cm-directive-marker {
68
+ font-weight: bold;
69
+ color: #3399ff;
70
+ }
71
+
72
+ .cm-s-default span.cm-verbatim-marker {
73
+ font-weight: bold;
74
+ color: #9900ff;
75
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codemirror-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-21 00:00:00.000000000 -04:00
12
+ date: 2011-07-05 00:00:00.000000000 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
  description: This gem provides CodeMirror assets for your Rails 3 application.
@@ -18,7 +18,8 @@ executables: []
18
18
  extensions: []
19
19
  extra_rdoc_files: []
20
20
  files:
21
- - ./codemirror-rails-0.1.1.gem
21
+ - ./codemirror-rails-0.0.0.gem
22
+ - ./codemirror-rails-0.1.gem
22
23
  - ./codemirror-rails.gemspec
23
24
  - ./doc/CodeMirror-LICENSE
24
25
  - ./lib/codemirror/rails/railtie.rb
@@ -28,7 +29,28 @@ files:
28
29
  - ./lib/generators/codemirror/install/install_generator.rb
29
30
  - ./LICENSE
30
31
  - ./README.md
32
+ - ./vendor/assets/javascripts/codemirror/modes/clike.js
33
+ - ./vendor/assets/javascripts/codemirror/modes/css.js
34
+ - ./vendor/assets/javascripts/codemirror/modes/diff.js
35
+ - ./vendor/assets/javascripts/codemirror/modes/haskell.js
36
+ - ./vendor/assets/javascripts/codemirror/modes/htmlmixed.js
37
+ - ./vendor/assets/javascripts/codemirror/modes/javascript.js
38
+ - ./vendor/assets/javascripts/codemirror/modes/lua.js
39
+ - ./vendor/assets/javascripts/codemirror/modes/php.js
40
+ - ./vendor/assets/javascripts/codemirror/modes/plsql.js
41
+ - ./vendor/assets/javascripts/codemirror/modes/python.js
42
+ - ./vendor/assets/javascripts/codemirror/modes/rst.js
43
+ - ./vendor/assets/javascripts/codemirror/modes/scheme.js
44
+ - ./vendor/assets/javascripts/codemirror/modes/smalltalk.js
45
+ - ./vendor/assets/javascripts/codemirror/modes/stex.js
46
+ - ./vendor/assets/javascripts/codemirror/modes/xml.js
47
+ - ./vendor/assets/javascripts/codemirror/modes/yaml.js
48
+ - ./vendor/assets/javascripts/codemirror/overlay.js
49
+ - ./vendor/assets/javascripts/codemirror/runmode.js
31
50
  - ./vendor/assets/javascripts/codemirror.js
51
+ - ./vendor/assets/stylesheets/codemirror/modes/clike.css
52
+ - ./vendor/assets/stylesheets/codemirror/modes/diff.css
53
+ - ./vendor/assets/stylesheets/codemirror/modes/rst.css
32
54
  - ./vendor/assets/stylesheets/codemirror/themes/default.css
33
55
  - ./vendor/assets/stylesheets/codemirror.css
34
56
  has_rdoc: true
File without changes