Generalize chunking
This commit is contained in:
parent
69c8f6615d
commit
93a560885b
3 changed files with 19 additions and 15 deletions
|
|
@ -43,7 +43,7 @@ var Range = require("../range").Range;
|
|||
var FoldLine = require("./fold_line").FoldLine;
|
||||
var Fold = require("./fold").Fold;
|
||||
var TokenIterator = require("../token_iterator").TokenIterator;
|
||||
|
||||
var lang = require("../lib/lang");
|
||||
function Folding() {
|
||||
/*
|
||||
* Looks up a fold at a given row/column. Possible values for side:
|
||||
|
|
@ -749,13 +749,7 @@ function Folding() {
|
|||
var args = Array(len + 1);
|
||||
args.unshift(firstRow, 1);
|
||||
|
||||
var step = 100000;
|
||||
var l = Math.ceil(args.length / step);
|
||||
for (var targs, i = 0; i < l; i++) {
|
||||
targs = args.slice(i * step, step);
|
||||
this.foldWidgets.splice.apply(this.foldWidgets, targs);
|
||||
}
|
||||
|
||||
this.foldWidgets = lang.chunkLines(args, this.foldWidgets);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -147,4 +147,19 @@ exports.deferredCall = function(fcn) {
|
|||
return deferred;
|
||||
};
|
||||
|
||||
|
||||
exports.chunkLines = function(args, thingToSplice, thingtoApply) {
|
||||
if (thingtoApply === undefined)
|
||||
thingtoApply = thingToSplice;
|
||||
|
||||
var step = 100000;
|
||||
var l = Math.ceil(args.length / step);
|
||||
for (var targs, i = 0; i < l; i++) {
|
||||
targs = args.slice(i * step, step);
|
||||
thingToSplice.slice.apply(thingtoApply, targs);
|
||||
}
|
||||
|
||||
return thingToSplice;
|
||||
};
|
||||
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
"no use strict";
|
||||
|
||||
var lang = require("../lib/lang");
|
||||
var console = {
|
||||
log: function(msg) {
|
||||
postMessage({type: "log", data: msg});
|
||||
|
|
@ -123,12 +123,7 @@ var sender;
|
|||
onmessage = function(e) {
|
||||
var msg = e.data;
|
||||
if (msg.command) {
|
||||
var step = 100000;
|
||||
var l = Math.ceil(msg.args.length / step);
|
||||
for (var targs, i = 0; i < l; i++) {
|
||||
targs = msg.args.slice(i * step, step);
|
||||
main[msg.command].apply(main, targs);
|
||||
}
|
||||
main[msg.command] = lang.chunkLines(msg.args, main[msg.command], main);
|
||||
}
|
||||
else if (msg.init) {
|
||||
initBaseUrls(msg.tlns);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue