codemirror-rails 2.32 → 2.33
Sign up to get free protection for your applications and to get access to all the features.
- data/codemirror-rails.gemspec +1 -1
- data/lib/codemirror/rails/version.rb +2 -2
- data/vendor/assets/javascripts/codemirror.js +355 -349
- data/vendor/assets/javascripts/codemirror/keymaps/vim.js +6 -5
- data/vendor/assets/javascripts/codemirror/modes/clike.js +6 -2
- data/vendor/assets/javascripts/codemirror/modes/clojure.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/coffeescript.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/css.js +52 -2
- data/vendor/assets/javascripts/codemirror/modes/ecl.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/gfm.js +4 -3
- data/vendor/assets/javascripts/codemirror/modes/go.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/groovy.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/haskell.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/haxe.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/htmlembedded.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/htmlmixed.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/javascript.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/less.js +94 -60
- data/vendor/assets/javascripts/codemirror/modes/markdown.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/ntriples.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/ocaml.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/pascal.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/perl.js +71 -71
- data/vendor/assets/javascripts/codemirror/modes/php.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/pig.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/python.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/scheme.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/shell.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/sieve.js +156 -0
- data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/smarty.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/stex.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/tiki.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/velocity.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/verilog.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/xml.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/xquery.js +7 -4
- data/vendor/assets/javascripts/codemirror/utils/dialog.js +4 -1
- data/vendor/assets/javascripts/codemirror/utils/formatting.js +1 -1
- data/vendor/assets/javascripts/codemirror/utils/javascript-hint.js +3 -3
- data/vendor/assets/javascripts/codemirror/utils/loadmode.js +1 -1
- data/vendor/assets/javascripts/codemirror/utils/multiplex.js +1 -1
- data/vendor/assets/javascripts/codemirror/utils/pig-hint.js +1 -1
- data/vendor/assets/javascripts/codemirror/utils/runmode.js +8 -4
- data/vendor/assets/javascripts/codemirror/utils/search.js +4 -4
- data/vendor/assets/javascripts/codemirror/utils/searchcursor.js +13 -11
- data/vendor/assets/javascripts/codemirror/utils/simple-hint.js +89 -68
- data/vendor/assets/javascripts/codemirror/utils/xml-hint.js +8 -8
- data/vendor/assets/stylesheets/codemirror.css +15 -11
- metadata +13 -13
@@ -1,4 +1,8 @@
|
|
1
1
|
CodeMirror.runMode = function(string, modespec, callback, options) {
|
2
|
+
function esc(str) {
|
3
|
+
return str.replace(/[<&]/, function(ch) { return ch == "<" ? "<" : "&"; });
|
4
|
+
}
|
5
|
+
|
2
6
|
var mode = CodeMirror.getMode(CodeMirror.defaults, modespec);
|
3
7
|
var isNode = callback.nodeType == 1;
|
4
8
|
var tabSize = (options && options.tabSize) || CodeMirror.defaults.tabSize;
|
@@ -15,12 +19,12 @@ CodeMirror.runMode = function(string, modespec, callback, options) {
|
|
15
19
|
for (var pos = 0;;) {
|
16
20
|
var idx = text.indexOf("\t", pos);
|
17
21
|
if (idx == -1) {
|
18
|
-
escaped +=
|
22
|
+
escaped += esc(text.slice(pos));
|
19
23
|
col += text.length - pos;
|
20
24
|
break;
|
21
25
|
} else {
|
22
26
|
col += idx - pos;
|
23
|
-
escaped +=
|
27
|
+
escaped += esc(text.slice(pos, idx));
|
24
28
|
var size = tabSize - col % tabSize;
|
25
29
|
col += size;
|
26
30
|
for (var i = 0; i < size; ++i) escaped += " ";
|
@@ -29,10 +33,10 @@ CodeMirror.runMode = function(string, modespec, callback, options) {
|
|
29
33
|
}
|
30
34
|
|
31
35
|
if (style)
|
32
|
-
accum.push("<span class=\"cm-" +
|
36
|
+
accum.push("<span class=\"cm-" + esc(style) + "\">" + escaped + "</span>");
|
33
37
|
else
|
34
38
|
accum.push(escaped);
|
35
|
-
}
|
39
|
+
};
|
36
40
|
}
|
37
41
|
var lines = CodeMirror.splitLines(string), state = CodeMirror.startState(mode);
|
38
42
|
for (var i = 0, e = lines.length; i < e; ++i) {
|
@@ -40,7 +40,7 @@
|
|
40
40
|
if (!query || state.query) return;
|
41
41
|
state.query = parseQuery(query);
|
42
42
|
if (cm.lineCount() < 2000) { // This is too expensive on big documents.
|
43
|
-
for (var cursor = getSearchCursor(cm, query); cursor.findNext();)
|
43
|
+
for (var cursor = getSearchCursor(cm, state.query); cursor.findNext();)
|
44
44
|
state.marked.push(cm.markText(cursor.from(), cursor.to(), "CodeMirror-searching"));
|
45
45
|
}
|
46
46
|
state.posFrom = state.posTo = cm.getCursor();
|
@@ -57,14 +57,14 @@
|
|
57
57
|
}
|
58
58
|
cm.setSelection(cursor.from(), cursor.to());
|
59
59
|
state.posFrom = cursor.from(); state.posTo = cursor.to();
|
60
|
-
})}
|
60
|
+
});}
|
61
61
|
function clearSearch(cm) {cm.operation(function() {
|
62
62
|
var state = getSearchState(cm);
|
63
63
|
if (!state.query) return;
|
64
64
|
state.query = null;
|
65
65
|
for (var i = 0; i < state.marked.length; ++i) state.marked[i].clear();
|
66
66
|
state.marked.length = 0;
|
67
|
-
})}
|
67
|
+
});}
|
68
68
|
|
69
69
|
var replaceQueryDialog =
|
70
70
|
'Replace: <input type="text" style="width: 10em"/> <span style="color: #888">(Use /re/ syntax for regexp search)</span>';
|
@@ -83,7 +83,7 @@
|
|
83
83
|
cursor.replace(text.replace(/\$(\d)/, function(w, i) {return match[i];}));
|
84
84
|
} else cursor.replace(text);
|
85
85
|
}
|
86
|
-
})});
|
86
|
+
});});
|
87
87
|
} else {
|
88
88
|
clearSearch(cm);
|
89
89
|
var cursor = getSearchCursor(cm, query, cm.getCursor());
|
@@ -10,30 +10,32 @@
|
|
10
10
|
// It takes a position and a direction, and returns an object
|
11
11
|
// describing the next occurrence of the query, or null if no
|
12
12
|
// more matches were found.
|
13
|
-
if (typeof query != "string") // Regexp match
|
13
|
+
if (typeof query != "string") { // Regexp match
|
14
|
+
if (!query.global) query = new RegExp(query.source, query.ignoreCase ? "ig" : "g");
|
14
15
|
this.matches = function(reverse, pos) {
|
15
16
|
if (reverse) {
|
16
|
-
|
17
|
+
query.lastIndex = 0;
|
18
|
+
var line = cm.getLine(pos.line).slice(0, pos.ch), match = query.exec(line), start = 0;
|
17
19
|
while (match) {
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
var newmatch =
|
20
|
+
start += match.index;
|
21
|
+
line = line.slice(match.index);
|
22
|
+
query.lastIndex = 0;
|
23
|
+
var newmatch = query.exec(line);
|
22
24
|
if (newmatch) match = newmatch;
|
23
25
|
else break;
|
24
26
|
start++;
|
25
27
|
}
|
26
|
-
}
|
27
|
-
|
28
|
-
var line = cm.getLine(pos.line)
|
29
|
-
start = match &&
|
28
|
+
} else {
|
29
|
+
query.lastIndex = pos.ch;
|
30
|
+
var line = cm.getLine(pos.line), match = query.exec(line),
|
31
|
+
start = match && match.index;
|
30
32
|
}
|
31
33
|
if (match)
|
32
34
|
return {from: {line: pos.line, ch: start},
|
33
35
|
to: {line: pos.line, ch: start + match[0].length},
|
34
36
|
match: match};
|
35
37
|
};
|
36
|
-
else { // String query
|
38
|
+
} else { // String query
|
37
39
|
if (caseFold) query = query.toLowerCase();
|
38
40
|
var fold = caseFold ? function(str){return str.toLowerCase();} : function(str){return str;};
|
39
41
|
var target = query.split("\n");
|
@@ -1,76 +1,97 @@
|
|
1
1
|
(function() {
|
2
|
-
CodeMirror.simpleHint = function(editor, getHints) {
|
3
|
-
//
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
CodeMirror.simpleHint = function(editor, getHints, givenOptions) {
|
3
|
+
// Determine effective options based on given values and defaults.
|
4
|
+
var options = {}, defaults = CodeMirror.simpleHint.defaults;
|
5
|
+
for (var opt in defaults)
|
6
|
+
if (defaults.hasOwnProperty(opt))
|
7
|
+
options[opt] = (givenOptions && givenOptions.hasOwnProperty(opt) ? givenOptions : defaults)[opt];
|
8
|
+
|
9
|
+
function collectHints(previousToken) {
|
10
|
+
// We want a single cursor position.
|
11
|
+
if (editor.somethingSelected()) return;
|
8
12
|
|
9
|
-
|
10
|
-
if (!result || !result.list.length) return;
|
11
|
-
var completions = result.list;
|
12
|
-
function insert(str) {
|
13
|
-
editor.replaceRange(str, result.from, result.to);
|
14
|
-
}
|
15
|
-
// When there is only one completion, use it directly.
|
16
|
-
if (completions.length == 1) {insert(completions[0]); return true;}
|
13
|
+
var tempToken = editor.getTokenAt(editor.getCursor());
|
17
14
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
// multi-select, but it does properly support the size property on
|
24
|
-
// single-selects, so no multi-select is necessary.
|
25
|
-
if (!window.opera) sel.multiple = true;
|
26
|
-
for (var i = 0; i < completions.length; ++i) {
|
27
|
-
var opt = sel.appendChild(document.createElement("option"));
|
28
|
-
opt.appendChild(document.createTextNode(completions[i]));
|
29
|
-
}
|
30
|
-
sel.firstChild.selected = true;
|
31
|
-
sel.size = Math.min(10, completions.length);
|
32
|
-
var pos = editor.cursorCoords();
|
33
|
-
complete.style.left = pos.x + "px";
|
34
|
-
complete.style.top = pos.yBot + "px";
|
35
|
-
document.body.appendChild(complete);
|
36
|
-
// If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
|
37
|
-
var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);
|
38
|
-
if(winW - pos.x < sel.clientWidth)
|
39
|
-
complete.style.left = (pos.x - sel.clientWidth) + "px";
|
40
|
-
// Hack to hide the scrollbar.
|
41
|
-
if (completions.length <= 10)
|
42
|
-
complete.style.width = (sel.clientWidth - 1) + "px";
|
15
|
+
// Don't show completions if token has changed and the option is set.
|
16
|
+
if (options.closeOnTokenChange && previousToken != null &&
|
17
|
+
(tempToken.start != previousToken.start || tempToken.className != previousToken.className)) {
|
18
|
+
return;
|
19
|
+
}
|
43
20
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
insert(completions[
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
//
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
21
|
+
var result = getHints(editor);
|
22
|
+
if (!result || !result.list.length) return;
|
23
|
+
var completions = result.list;
|
24
|
+
function insert(str) {
|
25
|
+
editor.replaceRange(str, result.from, result.to);
|
26
|
+
}
|
27
|
+
// When there is only one completion, use it directly.
|
28
|
+
if (completions.length == 1) {insert(completions[0]); return true;}
|
29
|
+
|
30
|
+
// Build the select widget
|
31
|
+
var complete = document.createElement("div");
|
32
|
+
complete.className = "CodeMirror-completions";
|
33
|
+
var sel = complete.appendChild(document.createElement("select"));
|
34
|
+
// Opera doesn't move the selection when pressing up/down in a
|
35
|
+
// multi-select, but it does properly support the size property on
|
36
|
+
// single-selects, so no multi-select is necessary.
|
37
|
+
if (!window.opera) sel.multiple = true;
|
38
|
+
for (var i = 0; i < completions.length; ++i) {
|
39
|
+
var opt = sel.appendChild(document.createElement("option"));
|
40
|
+
opt.appendChild(document.createTextNode(completions[i]));
|
41
|
+
}
|
42
|
+
sel.firstChild.selected = true;
|
43
|
+
sel.size = Math.min(10, completions.length);
|
44
|
+
var pos = editor.cursorCoords();
|
45
|
+
complete.style.left = pos.x + "px";
|
46
|
+
complete.style.top = pos.yBot + "px";
|
47
|
+
document.body.appendChild(complete);
|
48
|
+
// If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
|
49
|
+
var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);
|
50
|
+
if(winW - pos.x < sel.clientWidth)
|
51
|
+
complete.style.left = (pos.x - sel.clientWidth) + "px";
|
52
|
+
// Hack to hide the scrollbar.
|
53
|
+
if (completions.length <= 10)
|
54
|
+
complete.style.width = (sel.clientWidth - 1) + "px";
|
55
|
+
|
56
|
+
var done = false;
|
57
|
+
function close() {
|
58
|
+
if (done) return;
|
59
|
+
done = true;
|
60
|
+
complete.parentNode.removeChild(complete);
|
67
61
|
}
|
68
|
-
|
69
|
-
|
62
|
+
function pick() {
|
63
|
+
insert(completions[sel.selectedIndex]);
|
64
|
+
close();
|
65
|
+
setTimeout(function(){editor.focus();}, 50);
|
66
|
+
}
|
67
|
+
CodeMirror.connect(sel, "blur", close);
|
68
|
+
CodeMirror.connect(sel, "keydown", function(event) {
|
69
|
+
var code = event.keyCode;
|
70
|
+
// Enter
|
71
|
+
if (code == 13) {CodeMirror.e_stop(event); pick();}
|
72
|
+
// Escape
|
73
|
+
else if (code == 27) {CodeMirror.e_stop(event); close(); editor.focus();}
|
74
|
+
else if (code != 38 && code != 40) {
|
75
|
+
close(); editor.focus();
|
76
|
+
// Pass the event to the CodeMirror instance so that it can handle things like backspace properly.
|
77
|
+
editor.triggerOnKeyDown(event);
|
78
|
+
// Don't show completions if the code is backspace and the option is set.
|
79
|
+
if (!options.closeOnBackspace || code != 8) {
|
80
|
+
setTimeout(function(){collectHints(tempToken);}, 50);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
});
|
84
|
+
CodeMirror.connect(sel, "dblclick", pick);
|
70
85
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
86
|
+
sel.focus();
|
87
|
+
// Opera sometimes ignores focusing a freshly created node
|
88
|
+
if (window.opera) setTimeout(function(){if (!done) sel.focus();}, 100);
|
89
|
+
return true;
|
90
|
+
}
|
91
|
+
return collectHints();
|
92
|
+
};
|
93
|
+
CodeMirror.simpleHint.defaults = {
|
94
|
+
closeOnBackspace: true,
|
95
|
+
closeOnTokenChange: false
|
75
96
|
};
|
76
97
|
})();
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
|
2
2
|
(function() {
|
3
3
|
|
4
4
|
CodeMirror.xmlHints = [];
|
@@ -15,7 +15,7 @@
|
|
15
15
|
// dirty hack for simple-hint to receive getHint event on space
|
16
16
|
var getTokenAt = editor.getTokenAt;
|
17
17
|
|
18
|
-
editor.getTokenAt = function() { return 'disabled'; }
|
18
|
+
editor.getTokenAt = function() { return 'disabled'; };
|
19
19
|
CodeMirror.simpleHint(cm, getHint);
|
20
20
|
|
21
21
|
editor.getTokenAt = getTokenAt;
|
@@ -40,7 +40,7 @@
|
|
40
40
|
}
|
41
41
|
}
|
42
42
|
|
43
|
-
text = text.
|
43
|
+
text = text.slice(0, text.length - typed.length);
|
44
44
|
|
45
45
|
var path = getActiveElement(cm, text) + simbol;
|
46
46
|
var hints = CodeMirror.xmlHints[path];
|
@@ -58,10 +58,10 @@
|
|
58
58
|
return {
|
59
59
|
list: hints,
|
60
60
|
from: { line: cursor.line, ch: cursor.ch - typed.length },
|
61
|
-
to: cursor
|
61
|
+
to: cursor
|
62
62
|
};
|
63
63
|
};
|
64
|
-
}
|
64
|
+
};
|
65
65
|
|
66
66
|
var getActiveElement = function(codeMirror, text) {
|
67
67
|
|
@@ -76,7 +76,7 @@
|
|
76
76
|
while ((match = regex.exec(text)) != null) {
|
77
77
|
matches.push({
|
78
78
|
tag: match[1],
|
79
|
-
selfclose: (match[0].
|
79
|
+
selfclose: (match[0].slice(match[0].length - 2) === '/>')
|
80
80
|
});
|
81
81
|
}
|
82
82
|
|
@@ -114,7 +114,7 @@
|
|
114
114
|
|
115
115
|
if (close < open)
|
116
116
|
{
|
117
|
-
text = text.
|
117
|
+
text = text.slice(open);
|
118
118
|
|
119
119
|
if(text != '<') {
|
120
120
|
|
@@ -127,7 +127,7 @@
|
|
127
127
|
if (space < 0)
|
128
128
|
space = text.length;
|
129
129
|
|
130
|
-
return text.
|
130
|
+
return text.slice(0, space);
|
131
131
|
}
|
132
132
|
}
|
133
133
|
|
@@ -9,8 +9,7 @@
|
|
9
9
|
}
|
10
10
|
|
11
11
|
.CodeMirror-scroll {
|
12
|
-
overflow
|
13
|
-
overflow-y: hidden;
|
12
|
+
overflow: auto;
|
14
13
|
height: 300px;
|
15
14
|
/* This is needed to prevent an IE[67] bug where the scrolled content
|
16
15
|
is visible outside of the scrolling box. */
|
@@ -20,13 +19,11 @@
|
|
20
19
|
|
21
20
|
/* Vertical scrollbar */
|
22
21
|
.CodeMirror-scrollbar {
|
23
|
-
|
22
|
+
position: absolute;
|
23
|
+
right: 0; top: 0;
|
24
24
|
overflow-x: hidden;
|
25
25
|
overflow-y: scroll;
|
26
|
-
|
27
|
-
/* This corrects for the 1px gap introduced to the left of the scrollbar
|
28
|
-
by the rule for .CodeMirror-scrollbar-inner. */
|
29
|
-
margin-left: -1px;
|
26
|
+
z-index: 5;
|
30
27
|
}
|
31
28
|
.CodeMirror-scrollbar-inner {
|
32
29
|
/* This needs to have a nonzero width in order for the scrollbar to appear
|
@@ -69,10 +66,6 @@
|
|
69
66
|
white-space: pre;
|
70
67
|
cursor: text;
|
71
68
|
}
|
72
|
-
.CodeMirror-lines * {
|
73
|
-
/* Necessary for throw-scrolling to decelerate properly on Safari. */
|
74
|
-
pointer-events: none;
|
75
|
-
}
|
76
69
|
|
77
70
|
.CodeMirror pre {
|
78
71
|
-moz-border-radius: 0;
|
@@ -165,5 +158,16 @@ span.cm-em {font-style: italic;}
|
|
165
158
|
span.cm-emstrong {font-style: italic; font-weight: bold;}
|
166
159
|
span.cm-link {text-decoration: underline;}
|
167
160
|
|
161
|
+
span.cm-invalidchar {color: #f00;}
|
162
|
+
|
168
163
|
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
|
169
164
|
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
165
|
+
|
166
|
+
@media print {
|
167
|
+
|
168
|
+
/* Hide the cursor when printing */
|
169
|
+
.CodeMirror pre.CodeMirror-cursor {
|
170
|
+
visibility: hidden;
|
171
|
+
}
|
172
|
+
|
173
|
+
}
|
metadata
CHANGED
@@ -1,20 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codemirror-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '2.
|
4
|
+
version: '2.33'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Nathan Fixler
|
9
|
-
- Robin Bühler
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2012-
|
12
|
+
date: 2012-08-25 00:00:00.000000000Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: railties
|
17
|
-
requirement: &
|
16
|
+
requirement: &2165662860 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
18
|
requirements:
|
20
19
|
- - ~>
|
@@ -22,10 +21,10 @@ dependencies:
|
|
22
21
|
version: '3.0'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
24
|
+
version_requirements: *2165662860
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: rails
|
28
|
-
requirement: &
|
27
|
+
requirement: &2165662340 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
29
|
requirements:
|
31
30
|
- - ~>
|
@@ -33,10 +32,10 @@ dependencies:
|
|
33
32
|
version: '3.0'
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
35
|
+
version_requirements: *2165662340
|
37
36
|
- !ruby/object:Gem::Dependency
|
38
37
|
name: sqlite3
|
39
|
-
requirement: &
|
38
|
+
requirement: &2165661960 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
40
|
requirements:
|
42
41
|
- - ! '>='
|
@@ -44,10 +43,10 @@ dependencies:
|
|
44
43
|
version: '0'
|
45
44
|
type: :development
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
46
|
+
version_requirements: *2165661960
|
48
47
|
- !ruby/object:Gem::Dependency
|
49
48
|
name: minitest
|
50
|
-
requirement: &
|
49
|
+
requirement: &2165661320 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
51
|
requirements:
|
53
52
|
- - ! '>='
|
@@ -55,10 +54,10 @@ dependencies:
|
|
55
54
|
version: '0'
|
56
55
|
type: :development
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
57
|
+
version_requirements: *2165661320
|
59
58
|
- !ruby/object:Gem::Dependency
|
60
59
|
name: capybara
|
61
|
-
requirement: &
|
60
|
+
requirement: &2165645620 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
62
|
requirements:
|
64
63
|
- - ! '>='
|
@@ -66,7 +65,7 @@ dependencies:
|
|
66
65
|
version: '0'
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
68
|
+
version_requirements: *2165645620
|
70
69
|
description: This gem provides CodeMirror assets for your Rails 3 application.
|
71
70
|
email: nathan@fixler.org
|
72
71
|
executables: []
|
@@ -165,6 +164,7 @@ files:
|
|
165
164
|
- vendor/assets/javascripts/codemirror/modes/rust.js
|
166
165
|
- vendor/assets/javascripts/codemirror/modes/scheme.js
|
167
166
|
- vendor/assets/javascripts/codemirror/modes/shell.js
|
167
|
+
- vendor/assets/javascripts/codemirror/modes/sieve.js
|
168
168
|
- vendor/assets/javascripts/codemirror/modes/smalltalk.js
|
169
169
|
- vendor/assets/javascripts/codemirror/modes/smarty.js
|
170
170
|
- vendor/assets/javascripts/codemirror/modes/sparql.js
|