ace2_inner: Fix efficiency of rangeForLine()

Returning `true` or `false` has no effect when iterating using
`Array.prototype.forEach`. This fixes a bug introduced in commit
b28bfe8e31.
This commit is contained in:
Richard Hansen 2021-08-15 01:15:39 -04:00
parent ca2e008e7b
commit 2d50a8aa95

View file

@ -2162,16 +2162,13 @@ function Ace2Inner(editorInfo, cssManagers) {
[-1, N + 1], [-1, N + 1],
]; ];
const rangeForLine = (i) => {
// returns index of cleanRange containing i, or -1 if none // returns index of cleanRange containing i, or -1 if none
let answer = -1; const rangeForLine = (i) => {
cleanRanges.forEach((r, idx) => { for (const [idx, r] of cleanRanges.entries()) {
if (i >= r[1]) return false; // keep looking if (i < r[0]) return -1;
if (i < r[0]) return true; // not found, stop looking if (i < r[1]) return idx;
answer = idx; }
return true; // found, stop looking return -1;
});
return answer;
}; };
const removeLineFromRange = (rng, line) => { const removeLineFromRange = (rng, line) => {