codemirror-rails 2.33 → 2.34
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/lib/codemirror/rails/version.rb +2 -2
- data/vendor/assets/javascripts/codemirror.js +359 -453
- data/vendor/assets/javascripts/codemirror/keymaps/vim.js +4 -1
- data/vendor/assets/javascripts/codemirror/modes/clojure.js +7 -8
- data/vendor/assets/javascripts/codemirror/modes/commonlisp.js +101 -0
- data/vendor/assets/javascripts/codemirror/modes/css.js +336 -62
- data/vendor/assets/javascripts/codemirror/modes/gfm.js +6 -1
- data/vendor/assets/javascripts/codemirror/modes/haxe.js +0 -3
- data/vendor/assets/javascripts/codemirror/modes/htmlembedded.js +5 -1
- data/vendor/assets/javascripts/codemirror/modes/htmlmixed.js +11 -12
- data/vendor/assets/javascripts/codemirror/modes/javascript.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/markdown.js +131 -17
- data/vendor/assets/javascripts/codemirror/modes/php.js +4 -6
- data/vendor/assets/javascripts/codemirror/modes/shell.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/tiki.js +0 -7
- data/vendor/assets/javascripts/codemirror/modes/vb.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/xml.js +0 -8
- data/vendor/assets/javascripts/codemirror/utils/closetag.js +35 -35
- data/vendor/assets/javascripts/codemirror/utils/formatting.js +147 -253
- data/vendor/assets/javascripts/codemirror/utils/multiplex.js +4 -8
- data/vendor/assets/javascripts/codemirror/utils/overlay.js +3 -1
- data/vendor/assets/javascripts/codemirror/utils/runmode-standalone.js +90 -0
- data/vendor/assets/javascripts/codemirror/utils/simple-hint.js +1 -1
- data/vendor/assets/stylesheets/codemirror.css +2 -2
- metadata +14 -12
@@ -68,14 +68,10 @@ CodeMirror.multiplexingMode = function(outer /*, others */) {
|
|
68
68
|
return mode.indent(state.innerActive ? state.inner : state.outer, textAfter);
|
69
69
|
},
|
70
70
|
|
71
|
-
|
72
|
-
if (a.innerActive != b.innerActive) return false;
|
73
|
-
var mode = a.innerActive || outer;
|
74
|
-
if (!mode.compareStates) return CodeMirror.Pass;
|
75
|
-
return mode.compareStates(a.innerActive ? a.inner : a.outer,
|
76
|
-
b.innerActive ? b.inner : b.outer);
|
77
|
-
},
|
71
|
+
electricChars: outer.electricChars,
|
78
72
|
|
79
|
-
|
73
|
+
innerMode: function(state) {
|
74
|
+
return state.inner ? {state: state.inner, mode: state.innerActive.mode} : {state: state.outer, mode: outer};
|
75
|
+
}
|
80
76
|
};
|
81
77
|
};
|
@@ -47,6 +47,8 @@ CodeMirror.overlayMode = CodeMirror.overlayParser = function(base, overlay, comb
|
|
47
47
|
indent: base.indent && function(state, textAfter) {
|
48
48
|
return base.indent(state.base, textAfter);
|
49
49
|
},
|
50
|
-
electricChars: base.electricChars
|
50
|
+
electricChars: base.electricChars,
|
51
|
+
|
52
|
+
innerMode: function(state) { return {state: state.base, mode: base}; }
|
51
53
|
};
|
52
54
|
};
|
@@ -0,0 +1,90 @@
|
|
1
|
+
/* Just enough of CodeMirror to run runMode under node.js */
|
2
|
+
|
3
|
+
function splitLines(string){ return string.split(/\r?\n|\r/); };
|
4
|
+
|
5
|
+
function StringStream(string) {
|
6
|
+
this.pos = this.start = 0;
|
7
|
+
this.string = string;
|
8
|
+
}
|
9
|
+
StringStream.prototype = {
|
10
|
+
eol: function() {return this.pos >= this.string.length;},
|
11
|
+
sol: function() {return this.pos == 0;},
|
12
|
+
peek: function() {return this.string.charAt(this.pos) || null;},
|
13
|
+
next: function() {
|
14
|
+
if (this.pos < this.string.length)
|
15
|
+
return this.string.charAt(this.pos++);
|
16
|
+
},
|
17
|
+
eat: function(match) {
|
18
|
+
var ch = this.string.charAt(this.pos);
|
19
|
+
if (typeof match == "string") var ok = ch == match;
|
20
|
+
else var ok = ch && (match.test ? match.test(ch) : match(ch));
|
21
|
+
if (ok) {++this.pos; return ch;}
|
22
|
+
},
|
23
|
+
eatWhile: function(match) {
|
24
|
+
var start = this.pos;
|
25
|
+
while (this.eat(match)){}
|
26
|
+
return this.pos > start;
|
27
|
+
},
|
28
|
+
eatSpace: function() {
|
29
|
+
var start = this.pos;
|
30
|
+
while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) ++this.pos;
|
31
|
+
return this.pos > start;
|
32
|
+
},
|
33
|
+
skipToEnd: function() {this.pos = this.string.length;},
|
34
|
+
skipTo: function(ch) {
|
35
|
+
var found = this.string.indexOf(ch, this.pos);
|
36
|
+
if (found > -1) {this.pos = found; return true;}
|
37
|
+
},
|
38
|
+
backUp: function(n) {this.pos -= n;},
|
39
|
+
column: function() {return this.start;},
|
40
|
+
indentation: function() {return 0;},
|
41
|
+
match: function(pattern, consume, caseInsensitive) {
|
42
|
+
if (typeof pattern == "string") {
|
43
|
+
function cased(str) {return caseInsensitive ? str.toLowerCase() : str;}
|
44
|
+
if (cased(this.string).indexOf(cased(pattern), this.pos) == this.pos) {
|
45
|
+
if (consume !== false) this.pos += pattern.length;
|
46
|
+
return true;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
else {
|
50
|
+
var match = this.string.slice(this.pos).match(pattern);
|
51
|
+
if (match && consume !== false) this.pos += match[0].length;
|
52
|
+
return match;
|
53
|
+
}
|
54
|
+
},
|
55
|
+
current: function(){return this.string.slice(this.start, this.pos);}
|
56
|
+
};
|
57
|
+
exports.StringStream = StringStream;
|
58
|
+
|
59
|
+
exports.startState = function(mode, a1, a2) {
|
60
|
+
return mode.startState ? mode.startState(a1, a2) : true;
|
61
|
+
};
|
62
|
+
|
63
|
+
var modes = exports.modes = {}, mimeModes = exports.mimeModes = {};
|
64
|
+
exports.defineMode = function(name, mode) { modes[name] = mode; };
|
65
|
+
exports.defineMIME = function(mime, spec) { mimeModes[mime] = spec; };
|
66
|
+
exports.getMode = function(options, spec) {
|
67
|
+
if (typeof spec == "string" && mimeModes.hasOwnProperty(spec))
|
68
|
+
spec = mimeModes[spec];
|
69
|
+
if (typeof spec == "string")
|
70
|
+
var mname = spec, config = {};
|
71
|
+
else if (spec != null)
|
72
|
+
var mname = spec.name, config = spec;
|
73
|
+
var mfactory = modes[mname];
|
74
|
+
if (!mfactory) throw new Error("Unknown mode: " + spec);
|
75
|
+
return mfactory(options, config || {});
|
76
|
+
};
|
77
|
+
|
78
|
+
exports.runMode = function(string, modespec, callback) {
|
79
|
+
var mode = exports.getMode({indentUnit: 2}, modespec);
|
80
|
+
var lines = splitLines(string), state = exports.startState(mode);
|
81
|
+
for (var i = 0, e = lines.length; i < e; ++i) {
|
82
|
+
if (i) callback("\n");
|
83
|
+
var stream = new exports.StringStream(lines[i]);
|
84
|
+
while (!stream.eol()) {
|
85
|
+
var style = mode.token(stream, state);
|
86
|
+
callback(stream.current(), style, i, stream.start);
|
87
|
+
stream.start = stream.pos;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
};
|
@@ -71,7 +71,7 @@
|
|
71
71
|
if (code == 13) {CodeMirror.e_stop(event); pick();}
|
72
72
|
// Escape
|
73
73
|
else if (code == 27) {CodeMirror.e_stop(event); close(); editor.focus();}
|
74
|
-
else if (code != 38 && code != 40) {
|
74
|
+
else if (code != 38 && code != 40 && code != 33 && code != 34) {
|
75
75
|
close(); editor.focus();
|
76
76
|
// Pass the event to the CodeMirror instance so that it can handle things like backspace properly.
|
77
77
|
editor.triggerOnKeyDown(event);
|
@@ -145,7 +145,7 @@ div.CodeMirror-selected { background: #d9d9d9; }
|
|
145
145
|
.cm-s-default span.cm-error {color: #f00;}
|
146
146
|
.cm-s-default span.cm-qualifier {color: #555;}
|
147
147
|
.cm-s-default span.cm-builtin {color: #30a;}
|
148
|
-
.cm-s-default span.cm-bracket {color: #
|
148
|
+
.cm-s-default span.cm-bracket {color: #997;}
|
149
149
|
.cm-s-default span.cm-tag {color: #170;}
|
150
150
|
.cm-s-default span.cm-attribute {color: #00c;}
|
151
151
|
.cm-s-default span.cm-header {color: blue;}
|
@@ -170,4 +170,4 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|
170
170
|
visibility: hidden;
|
171
171
|
}
|
172
172
|
|
173
|
-
}
|
173
|
+
}
|
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: '2.
|
4
|
+
version: '2.34'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-13 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &2165230860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2165230860
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &2165230340 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2165230340
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sqlite3
|
38
|
-
requirement: &
|
38
|
+
requirement: &2165229960 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2165229960
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: minitest
|
49
|
-
requirement: &
|
49
|
+
requirement: &2165229320 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2165229320
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: capybara
|
60
|
-
requirement: &
|
60
|
+
requirement: &2165228760 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2165228760
|
69
69
|
description: This gem provides CodeMirror assets for your Rails 3 application.
|
70
70
|
email: nathan@fixler.org
|
71
71
|
executables: []
|
@@ -130,6 +130,7 @@ files:
|
|
130
130
|
- vendor/assets/javascripts/codemirror/modes/clike.js
|
131
131
|
- vendor/assets/javascripts/codemirror/modes/clojure.js
|
132
132
|
- vendor/assets/javascripts/codemirror/modes/coffeescript.js
|
133
|
+
- vendor/assets/javascripts/codemirror/modes/commonlisp.js
|
133
134
|
- vendor/assets/javascripts/codemirror/modes/css.js
|
134
135
|
- vendor/assets/javascripts/codemirror/modes/diff.js
|
135
136
|
- vendor/assets/javascripts/codemirror/modes/ecl.js
|
@@ -189,6 +190,7 @@ files:
|
|
189
190
|
- vendor/assets/javascripts/codemirror/utils/multiplex.js
|
190
191
|
- vendor/assets/javascripts/codemirror/utils/overlay.js
|
191
192
|
- vendor/assets/javascripts/codemirror/utils/pig-hint.js
|
193
|
+
- vendor/assets/javascripts/codemirror/utils/runmode-standalone.js
|
192
194
|
- vendor/assets/javascripts/codemirror/utils/runmode.js
|
193
195
|
- vendor/assets/javascripts/codemirror/utils/search.js
|
194
196
|
- vendor/assets/javascripts/codemirror/utils/searchcursor.js
|