MCPcopy Index your code
hub / github.com/witheve/Eve / triggerElectric

Function triggerElectric

src/codemirror.js:1161–1183  ·  view source on GitHub ↗
(cm, inserted)

Source from the content-addressed store, hash-verified

1159 }
1160
1161 function triggerElectric(cm, inserted) {
1162 // When an 'electric' character is inserted, immediately trigger a reindent
1163 if (!cm.options.electricChars || !cm.options.smartIndent) return;
1164 var sel = cm.doc.sel;
1165
1166 for (var i = sel.ranges.length - 1; i >= 0; i--) {
1167 var range = sel.ranges[i];
1168 if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) continue;
1169 var mode = cm.getModeAt(range.head);
1170 var indented = false;
1171 if (mode.electricChars) {
1172 for (var j = 0; j < mode.electricChars.length; j++)
1173 if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) {
1174 indented = indentLine(cm, range.head.line, "smart");
1175 break;
1176 }
1177 } else if (mode.electricInput) {
1178 if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch)))
1179 indented = indentLine(cm, range.head.line, "smart");
1180 }
1181 if (indented) signalLater(cm, "electricInput", cm, range.head.line);
1182 }
1183 }
1184
1185 function copyableRanges(cm) {
1186 var text = [], ranges = [];

Callers 2

applyTextInputFunction · 0.85
codemirror.jsFile · 0.85

Calls 4

indentLineFunction · 0.85
getLineFunction · 0.85
signalLaterFunction · 0.85
testMethod · 0.45

Tested by

no test coverage detected