Skip to content

Commit eab4aa1

Browse files
Slight tweak
1 parent 2e74170 commit eab4aa1

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/RangeIterator.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,14 @@ import type { Range } from "@cursorless/common";
66
export class RangeIterator<T extends { range: Range }> {
77
private index = 0;
88

9-
constructor(public items: T[]) {}
9+
constructor(
10+
public items: T[],
11+
sortItems = false,
12+
) {
13+
if (sortItems) {
14+
this.items.sort((a, b) => a.range.start.compareTo(b.range.start));
15+
}
16+
}
1017

1118
contains(searchItem: Range): boolean {
1219
return this.advance(searchItem);

packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterOccurrences.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,14 @@ export function getDelimiterOccurrences(
2727
"disqualifyDelimiter",
2828
"textFragment",
2929
]);
30-
const disqualifyDelimiters = captures?.disqualifyDelimiter ?? [];
31-
const textFragments = captures?.textFragment ?? [];
32-
33-
const disqualifyDelimitersIterator = new RangeIterator(disqualifyDelimiters);
34-
const textFragmentsIterator = new RangeIterator(textFragments);
30+
const disqualifyDelimitersIterator = new RangeIterator(
31+
captures?.disqualifyDelimiter ?? [],
32+
true, // Sort items
33+
);
34+
const textFragmentsIterator = new RangeIterator(
35+
captures?.textFragment ?? [],
36+
true,
37+
);
3538

3639
const delimiterTextToDelimiterInfoMap = Object.fromEntries(
3740
individualDelimiters.map((individualDelimiter) => [

0 commit comments

Comments
 (0)