codemirror-rails 2.32 → 2.33
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.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
|