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.
pull/5153/head
Richard Hansen 2021-08-15 01:15:39 -04:00
parent ca2e008e7b
commit 2d50a8aa95
1 changed files with 6 additions and 9 deletions

View File

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