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.
- data/codemirror-rails-0.0.0.gem +0 -0
- data/codemirror-rails-0.1.gem +0 -0
- data/lib/codemirror/rails/version.rb +2 -2
- data/vendor/assets/javascripts/codemirror.js +122 -63
- data/vendor/assets/javascripts/codemirror/modes/clike.js +221 -0
- data/vendor/assets/javascripts/codemirror/modes/css.js +124 -0
- data/vendor/assets/javascripts/codemirror/modes/diff.js +13 -0
- data/vendor/assets/javascripts/codemirror/modes/haskell.js +242 -0
- data/vendor/assets/javascripts/codemirror/modes/htmlmixed.js +79 -0
- data/vendor/assets/javascripts/codemirror/modes/javascript.js +348 -0
- data/vendor/assets/javascripts/codemirror/modes/lua.js +138 -0
- data/vendor/assets/javascripts/codemirror/modes/php.js +111 -0
- data/vendor/assets/javascripts/codemirror/modes/plsql.js +217 -0
- data/vendor/assets/javascripts/codemirror/modes/python.js +321 -0
- data/vendor/assets/javascripts/codemirror/modes/rst.js +333 -0
- data/vendor/assets/javascripts/codemirror/modes/scheme.js +181 -0
- data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +122 -0
- data/vendor/assets/javascripts/codemirror/modes/stex.js +167 -0
- data/vendor/assets/javascripts/codemirror/modes/xml.js +227 -0
- data/vendor/assets/javascripts/codemirror/modes/yaml.js +95 -0
- data/vendor/assets/javascripts/codemirror/overlay.js +51 -0
- data/vendor/assets/javascripts/codemirror/runmode.js +27 -0
- data/vendor/assets/stylesheets/codemirror.css +3 -0
- data/vendor/assets/stylesheets/codemirror/modes/clike.css +7 -0
- data/vendor/assets/stylesheets/codemirror/modes/diff.css +3 -0
- data/vendor/assets/stylesheets/codemirror/modes/rst.css +75 -0
- metadata +25 -3
- 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
|
+
};
|
@@ -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.
|
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-
|
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.
|
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
|
data/codemirror-rails-0.1.1.gem
DELETED
File without changes
|