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
@@ -107,11 +107,11 @@ CodeMirror.defineMode("pig", function(config, parserConfig) {
|
|
107
107
|
// is it one of the builtin functions?
|
108
108
|
if (builtins && builtins.propertyIsEnumerable(stream.current().toUpperCase()))
|
109
109
|
{
|
110
|
-
return ("keyword", "variable-2")
|
110
|
+
return ("keyword", "variable-2");
|
111
111
|
}
|
112
112
|
// is it one of the listed types?
|
113
113
|
if (types && types.propertyIsEnumerable(stream.current().toUpperCase()))
|
114
|
-
return ("keyword", "variable-3")
|
114
|
+
return ("keyword", "variable-3");
|
115
115
|
// default is a 'variable'
|
116
116
|
return ret("variable", "pig-word");
|
117
117
|
}
|
@@ -161,7 +161,7 @@ CodeMirror.defineMode("pig", function(config, parserConfig) {
|
|
161
161
|
+ "NEQ MATCHES TRUE FALSE ";
|
162
162
|
|
163
163
|
// data types
|
164
|
-
var pTypes = "BOOLEAN INT LONG FLOAT DOUBLE CHARARRAY BYTEARRAY BAG TUPLE MAP "
|
164
|
+
var pTypes = "BOOLEAN INT LONG FLOAT DOUBLE CHARARRAY BYTEARRAY BAG TUPLE MAP ";
|
165
165
|
|
166
166
|
CodeMirror.defineMIME("text/x-pig", {
|
167
167
|
name: "pig",
|
@@ -227,7 +227,7 @@ CodeMirror.defineMode("python", function(conf, parserConf) {
|
|
227
227
|
while (state.scopes[0].offset !== _indent) {
|
228
228
|
state.scopes.shift();
|
229
229
|
}
|
230
|
-
return false
|
230
|
+
return false;
|
231
231
|
} else {
|
232
232
|
if (type === 'py') {
|
233
233
|
state.scopes[0].offset = stream.indentation();
|
@@ -166,7 +166,7 @@ CodeMirror.defineMode("scheme", function (config, mode) {
|
|
166
166
|
stream.skipToEnd(); // rest of the line is a comment
|
167
167
|
returnType = COMMENT;
|
168
168
|
} else if (ch == "(" || ch == "[") {
|
169
|
-
|
169
|
+
var keyWord = ''; var indentTemp = stream.column(), letter;
|
170
170
|
/**
|
171
171
|
Either
|
172
172
|
(indent-word ..
|
@@ -107,7 +107,7 @@ CodeMirror.defineMode('shell', function(config) {
|
|
107
107
|
};
|
108
108
|
|
109
109
|
return {
|
110
|
-
startState: function() {return {tokens:[]}},
|
110
|
+
startState: function() {return {tokens:[]};},
|
111
111
|
token: function(stream, state) {
|
112
112
|
if (stream.eatSpace()) return null;
|
113
113
|
return tokenize(stream, state);
|
@@ -0,0 +1,156 @@
|
|
1
|
+
/*
|
2
|
+
* See LICENSE in this directory for the license under which this code
|
3
|
+
* is released.
|
4
|
+
*/
|
5
|
+
|
6
|
+
CodeMirror.defineMode("sieve", function(config) {
|
7
|
+
function words(str) {
|
8
|
+
var obj = {}, words = str.split(" ");
|
9
|
+
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
|
10
|
+
return obj;
|
11
|
+
}
|
12
|
+
|
13
|
+
var keywords = words("if elsif else stop require");
|
14
|
+
var atoms = words("true false not");
|
15
|
+
var indentUnit = config.indentUnit;
|
16
|
+
|
17
|
+
function tokenBase(stream, state) {
|
18
|
+
|
19
|
+
var ch = stream.next();
|
20
|
+
if (ch == "/" && stream.eat("*")) {
|
21
|
+
state.tokenize = tokenCComment;
|
22
|
+
return tokenCComment(stream, state);
|
23
|
+
}
|
24
|
+
|
25
|
+
if (ch === '#') {
|
26
|
+
stream.skipToEnd();
|
27
|
+
return "comment";
|
28
|
+
}
|
29
|
+
|
30
|
+
if (ch == "\"") {
|
31
|
+
state.tokenize = tokenString(ch);
|
32
|
+
return state.tokenize(stream, state);
|
33
|
+
}
|
34
|
+
|
35
|
+
if (ch === "{")
|
36
|
+
{
|
37
|
+
state._indent++;
|
38
|
+
return null;
|
39
|
+
}
|
40
|
+
|
41
|
+
if (ch === "}")
|
42
|
+
{
|
43
|
+
state._indent--;
|
44
|
+
return null;
|
45
|
+
}
|
46
|
+
|
47
|
+
if (/[{}\(\),;]/.test(ch))
|
48
|
+
return null;
|
49
|
+
|
50
|
+
// 1*DIGIT "K" / "M" / "G"
|
51
|
+
if (/\d/.test(ch)) {
|
52
|
+
stream.eatWhile(/[\d]/);
|
53
|
+
stream.eat(/[KkMmGg]/);
|
54
|
+
return "number";
|
55
|
+
}
|
56
|
+
|
57
|
+
// ":" (ALPHA / "_") *(ALPHA / DIGIT / "_")
|
58
|
+
if (ch == ":") {
|
59
|
+
stream.eatWhile(/[a-zA-Z_]/);
|
60
|
+
stream.eatWhile(/[a-zA-Z0-9_]/);
|
61
|
+
|
62
|
+
return "operator";
|
63
|
+
}
|
64
|
+
|
65
|
+
stream.eatWhile(/[\w\$_]/);
|
66
|
+
var cur = stream.current();
|
67
|
+
|
68
|
+
// "text:" *(SP / HTAB) (hash-comment / CRLF)
|
69
|
+
// *(multiline-literal / multiline-dotstart)
|
70
|
+
// "." CRLF
|
71
|
+
if ((cur == "text") && stream.eat(":"))
|
72
|
+
{
|
73
|
+
state.tokenize = tokenMultiLineString;
|
74
|
+
return "string";
|
75
|
+
}
|
76
|
+
|
77
|
+
if (keywords.propertyIsEnumerable(cur))
|
78
|
+
return "keyword";
|
79
|
+
|
80
|
+
if (atoms.propertyIsEnumerable(cur))
|
81
|
+
return "atom";
|
82
|
+
}
|
83
|
+
|
84
|
+
function tokenMultiLineString(stream, state)
|
85
|
+
{
|
86
|
+
state._multiLineString = true;
|
87
|
+
// the first line is special it may contain a comment
|
88
|
+
if (!stream.sol()) {
|
89
|
+
stream.eatSpace();
|
90
|
+
|
91
|
+
if (stream.peek() == "#") {
|
92
|
+
stream.skipToEnd();
|
93
|
+
return "comment";
|
94
|
+
}
|
95
|
+
|
96
|
+
stream.skipToEnd();
|
97
|
+
return "string";
|
98
|
+
}
|
99
|
+
|
100
|
+
if ((stream.next() == ".") && (stream.eol()))
|
101
|
+
{
|
102
|
+
state._multiLineString = false;
|
103
|
+
state.tokenize = tokenBase;
|
104
|
+
}
|
105
|
+
|
106
|
+
return "string";
|
107
|
+
}
|
108
|
+
|
109
|
+
function tokenCComment(stream, state) {
|
110
|
+
var maybeEnd = false, ch;
|
111
|
+
while ((ch = stream.next()) != null) {
|
112
|
+
if (maybeEnd && ch == "/") {
|
113
|
+
state.tokenize = tokenBase;
|
114
|
+
break;
|
115
|
+
}
|
116
|
+
maybeEnd = (ch == "*");
|
117
|
+
}
|
118
|
+
return "comment";
|
119
|
+
}
|
120
|
+
|
121
|
+
function tokenString(quote) {
|
122
|
+
return function(stream, state) {
|
123
|
+
var escaped = false, ch;
|
124
|
+
while ((ch = stream.next()) != null) {
|
125
|
+
if (ch == quote && !escaped)
|
126
|
+
break;
|
127
|
+
escaped = !escaped && ch == "\\";
|
128
|
+
}
|
129
|
+
if (!escaped) state.tokenize = tokenBase;
|
130
|
+
return "string";
|
131
|
+
};
|
132
|
+
}
|
133
|
+
|
134
|
+
return {
|
135
|
+
startState: function(base) {
|
136
|
+
return {tokenize: tokenBase,
|
137
|
+
baseIndent: base || 0,
|
138
|
+
_indent: 0};
|
139
|
+
},
|
140
|
+
|
141
|
+
token: function(stream, state) {
|
142
|
+
if (stream.eatSpace())
|
143
|
+
return null;
|
144
|
+
|
145
|
+
return (state.tokenize || tokenBase)(stream, state);;
|
146
|
+
},
|
147
|
+
|
148
|
+
indent: function(state, textAfter) {
|
149
|
+
return state.baseIndent + state._indent * indentUnit;
|
150
|
+
},
|
151
|
+
|
152
|
+
electricChars: "}"
|
153
|
+
};
|
154
|
+
});
|
155
|
+
|
156
|
+
CodeMirror.defineMIME("application/sieve", "sieve");
|
@@ -63,7 +63,7 @@ CodeMirror.defineMode('smalltalk', function(config, modeConfig) {
|
|
63
63
|
|
64
64
|
} else if (/\d/.test(aChar)) {
|
65
65
|
stream.eatWhile(/[\w\d]/);
|
66
|
-
token.name = 'number'
|
66
|
+
token.name = 'number';
|
67
67
|
|
68
68
|
} else if (/[\w_]/.test(aChar)) {
|
69
69
|
stream.eatWhile(/[\w\d_]/);
|
@@ -100,7 +100,7 @@ CodeMirror.defineMode('smalltalk', function(config, modeConfig) {
|
|
100
100
|
}
|
101
101
|
|
102
102
|
return token;
|
103
|
-
}
|
103
|
+
};
|
104
104
|
|
105
105
|
return {
|
106
106
|
startState: function() {
|
@@ -5,7 +5,7 @@ CodeMirror.defineMode("smarty", function(config, parserConfig) {
|
|
5
5
|
operatorChars: /[+\-*&%=<>!?]/,
|
6
6
|
validIdentifier: /[a-zA-Z0-9\_]/,
|
7
7
|
stringChar: /[\'\"]/
|
8
|
-
}
|
8
|
+
};
|
9
9
|
var leftDelim = (typeof config.mode.leftDelimiter != 'undefined') ? config.mode.leftDelimiter : "{";
|
10
10
|
var rightDelim = (typeof config.mode.rightDelimiter != 'undefined') ? config.mode.rightDelimiter : "}";
|
11
11
|
function ret(style, lst) { last = lst; return style; }
|
@@ -142,7 +142,7 @@ CodeMirror.defineMode("smarty", function(config, parserConfig) {
|
|
142
142
|
return style;
|
143
143
|
},
|
144
144
|
electricChars: ""
|
145
|
-
}
|
145
|
+
};
|
146
146
|
});
|
147
147
|
|
148
148
|
CodeMirror.defineMIME("text/x-smarty", "smarty");
|
@@ -18,7 +18,7 @@ CodeMirror.defineMode('tiki', function(config, parserConfig) {
|
|
18
18
|
function inLine(style, terminator) {
|
19
19
|
return function(stream, state) {
|
20
20
|
while(!stream.eol()) {
|
21
|
-
stream.next()
|
21
|
+
stream.next();
|
22
22
|
}
|
23
23
|
state.tokenize = inText;
|
24
24
|
return style;
|
@@ -37,9 +37,9 @@ CodeMirror.defineMode('tiki', function(config, parserConfig) {
|
|
37
37
|
//non start of line
|
38
38
|
switch (ch) { //switch is generally much faster than if, so it is used here
|
39
39
|
case "{": //plugin
|
40
|
-
type = stream.eat("/") ? "closeTag" : "openTag";
|
40
|
+
var type = stream.eat("/") ? "closeTag" : "openTag";
|
41
41
|
stream.eatSpace();
|
42
|
-
tagName = "";
|
42
|
+
var tagName = "";
|
43
43
|
var c;
|
44
44
|
while ((c = stream.eat(/[^\s\u00a0=\"\'\/?(}]/))) tagName += c;
|
45
45
|
state.tokenize = inPlugin;
|
@@ -251,7 +251,7 @@ CodeMirror.defineMode('tiki', function(config, parserConfig) {
|
|
251
251
|
if (err) setStyle = "error";
|
252
252
|
if (type == "endPlugin") return cont();
|
253
253
|
return pass();
|
254
|
-
}
|
254
|
+
};
|
255
255
|
}
|
256
256
|
|
257
257
|
function attributes(type) {
|
@@ -5,7 +5,7 @@ CodeMirror.defineMode("velocity", function(config) {
|
|
5
5
|
return obj;
|
6
6
|
}
|
7
7
|
|
8
|
-
var indentUnit = config.indentUnit
|
8
|
+
var indentUnit = config.indentUnit;
|
9
9
|
var keywords = parseWords("#end #else #break #stop #[[ #]] " +
|
10
10
|
"#{end} #{else} #{break} #{stop}");
|
11
11
|
var functions = parseWords("#if #elseif #foreach #set #include #parse #macro #define #evaluate " +
|
@@ -30,7 +30,7 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
|
|
30
30
|
},
|
31
31
|
doNotIndent: {"pre": true},
|
32
32
|
allowUnquoted: true,
|
33
|
-
allowMissing:
|
33
|
+
allowMissing: true
|
34
34
|
} : {
|
35
35
|
autoSelfClosers: {},
|
36
36
|
implicitlyClosed: {},
|
@@ -229,7 +229,7 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
|
|
229
229
|
if (type == "endTag") { popContext(); return cont(); }
|
230
230
|
setStyle = "error";
|
231
231
|
return cont(arguments.callee);
|
232
|
-
}
|
232
|
+
};
|
233
233
|
}
|
234
234
|
function maybePopContext(nextTagName) {
|
235
235
|
var parentTagName;
|
@@ -56,7 +56,7 @@ CodeMirror.defineMode("xquery", function(config, parserConfig) {
|
|
56
56
|
'preceding-sibling','processing-instruction','ref','return','returns','satisfies','schema','schema-element',
|
57
57
|
'self','some','sortby','stable','text','then','to','treat','typeswitch','union','variable','version','where',
|
58
58
|
'xquery', 'empty-sequence'];
|
59
|
-
for(var i=0, l=basic.length; i < l; i++) { kwObj[basic[i]] = kw(basic[i])};
|
59
|
+
for(var i=0, l=basic.length; i < l; i++) { kwObj[basic[i]] = kw(basic[i]);};
|
60
60
|
|
61
61
|
// a list of types. For each add a property to kwObj with the value of
|
62
62
|
// {type: "atom", style: "atom"}
|
@@ -191,7 +191,7 @@ CodeMirror.defineMode("xquery", function(config, parserConfig) {
|
|
191
191
|
if(!known) stream.eatWhile(/[\w\$_-]/);
|
192
192
|
|
193
193
|
// gobble a colon in the case that is a lib func type call fn:doc
|
194
|
-
var foundColon = stream.eat(":")
|
194
|
+
var foundColon = stream.eat(":");
|
195
195
|
|
196
196
|
// if there's not a second colon, gobble another word. Otherwise, it's probably an axis specifier
|
197
197
|
// which should get matched as a keyword
|
@@ -325,7 +325,7 @@ CodeMirror.defineMode("xquery", function(config, parserConfig) {
|
|
325
325
|
state.tokenize = tokenBase;
|
326
326
|
}
|
327
327
|
return ret("tag", "tag");
|
328
|
-
}
|
328
|
+
};
|
329
329
|
}
|
330
330
|
|
331
331
|
// tokenizer for XML attributes
|
@@ -365,6 +365,7 @@ CodeMirror.defineMode("xquery", function(config, parserConfig) {
|
|
365
365
|
|
366
366
|
// handle comments, including nested
|
367
367
|
function tokenXMLComment(stream, state) {
|
368
|
+
var ch;
|
368
369
|
while (ch = stream.next()) {
|
369
370
|
if (ch == "-" && stream.match("->", true)) {
|
370
371
|
state.tokenize = tokenBase;
|
@@ -376,6 +377,7 @@ CodeMirror.defineMode("xquery", function(config, parserConfig) {
|
|
376
377
|
|
377
378
|
// handle CDATA
|
378
379
|
function tokenCDATA(stream, state) {
|
380
|
+
var ch;
|
379
381
|
while (ch = stream.next()) {
|
380
382
|
if (ch == "]" && stream.match("]", true)) {
|
381
383
|
state.tokenize = tokenBase;
|
@@ -386,6 +388,7 @@ CodeMirror.defineMode("xquery", function(config, parserConfig) {
|
|
386
388
|
|
387
389
|
// handle preprocessing instructions
|
388
390
|
function tokenPreProcessing(stream, state) {
|
391
|
+
var ch;
|
389
392
|
while (ch = stream.next()) {
|
390
393
|
if (ch == "?" && stream.match(">", true)) {
|
391
394
|
state.tokenize = tokenBase;
|
@@ -422,7 +425,7 @@ CodeMirror.defineMode("xquery", function(config, parserConfig) {
|
|
422
425
|
|
423
426
|
function popStateStack(state) {
|
424
427
|
var popped = state.stack.pop();
|
425
|
-
var reinstateTokenize = state.stack.length && state.stack[state.stack.length-1].tokenize
|
428
|
+
var reinstateTokenize = state.stack.length && state.stack[state.stack.length-1].tokenize;
|
426
429
|
state.tokenize = reinstateTokenize || tokenBase;
|
427
430
|
}
|
428
431
|
|
@@ -30,7 +30,10 @@
|
|
30
30
|
inp.focus();
|
31
31
|
CodeMirror.connect(inp, "blur", close);
|
32
32
|
} else if (button = dialog.getElementsByTagName("button")[0]) {
|
33
|
-
CodeMirror.connect(button, "click",
|
33
|
+
CodeMirror.connect(button, "click", function() {
|
34
|
+
close();
|
35
|
+
me.focus();
|
36
|
+
});
|
34
37
|
button.focus();
|
35
38
|
CodeMirror.connect(button, "blur", close);
|
36
39
|
}
|
@@ -131,7 +131,7 @@ CodeMirror.modeExtensions["javascript"] = {
|
|
131
131
|
autoFormatLineBreaks: function (text, startPos, endPos) {
|
132
132
|
text = text.substring(startPos, endPos);
|
133
133
|
var curPos = 0;
|
134
|
-
var reLinesSplitter = new RegExp("(;|\\{|\\})([^\r\n])", "g");
|
134
|
+
var reLinesSplitter = new RegExp("(;|\\{|\\})([^\r\n;])", "g");
|
135
135
|
var nonBreakableBlocks = this.getNonBreakableBlocks(text);
|
136
136
|
if (nonBreakableBlocks != null) {
|
137
137
|
var res = "";
|
@@ -38,7 +38,7 @@
|
|
38
38
|
case '(': level--; break;
|
39
39
|
default: break;
|
40
40
|
}
|
41
|
-
} while (level > 0)
|
41
|
+
} while (level > 0);
|
42
42
|
tprop = getToken(editor, {line: cur.line, ch: tprop.start});
|
43
43
|
if (tprop.className == 'variable')
|
44
44
|
tprop.className = 'function';
|
@@ -55,7 +55,7 @@
|
|
55
55
|
CodeMirror.javascriptHint = function(editor) {
|
56
56
|
return scriptHint(editor, javascriptKeywords,
|
57
57
|
function (e, cur) {return e.getTokenAt(cur);});
|
58
|
-
}
|
58
|
+
};
|
59
59
|
|
60
60
|
function getCoffeeScriptToken(editor, cur) {
|
61
61
|
// This getToken, it is for coffeescript, imitates the behavior of
|
@@ -77,7 +77,7 @@
|
|
77
77
|
|
78
78
|
CodeMirror.coffeescriptHint = function(editor) {
|
79
79
|
return scriptHint(editor, coffeescriptKeywords, getCoffeeScriptToken);
|
80
|
-
}
|
80
|
+
};
|
81
81
|
|
82
82
|
var stringProps = ("charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight " +
|
83
83
|
"toUpperCase toLowerCase split concat match replace search").split(" ");
|
@@ -4,7 +4,7 @@
|
|
4
4
|
var loading = {};
|
5
5
|
function splitCallback(cont, n) {
|
6
6
|
var countDown = n;
|
7
|
-
return function() { if (--countDown == 0) cont(); }
|
7
|
+
return function() { if (--countDown == 0) cont(); };
|
8
8
|
}
|
9
9
|
function ensureDeps(mode, cont) {
|
10
10
|
var deps = CodeMirror.modes[mode].dependencies;
|
@@ -35,7 +35,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) {
|
|
35
35
|
if (found == stream.pos) {
|
36
36
|
stream.match(other.open);
|
37
37
|
state.innerActive = other;
|
38
|
-
state.inner = CodeMirror.startState(other.mode, outer.indent(state.outer, ""));
|
38
|
+
state.inner = CodeMirror.startState(other.mode, outer.indent ? outer.indent(state.outer, "") : 0);
|
39
39
|
return other.delimStyle;
|
40
40
|
} else if (found != -1 && found < cutOff) {
|
41
41
|
cutOff = found;
|