Skip to content

Commit f8b2fd8

Browse files
author
aiday-mar
committed
Ordering the first set of outline elements in the function StickyOutlineElements.fromFoldingModel. Adding one to the end line number returned from the folding model (it turns out it returns the second to last end line number).
1 parent 43a909c commit f8b2fd8

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,14 @@ class StickyOutlineElement {
242242
outlineElements = outlineModel.children as Map<string, OutlineElement>;
243243
}
244244
const stickyChildren: StickyOutlineElement[] = [];
245-
for (const outlineElement of outlineElements.values()) {
245+
const outlineElementsArray = Array.from(outlineElements.values()).sort((element1, element2) => {
246+
if (element1.symbol.selectionRange.startLineNumber !== element2.symbol.selectionRange.startLineNumber) {
247+
return element1.symbol.selectionRange.startLineNumber - element2.symbol.selectionRange.startLineNumber;
248+
} else {
249+
return element2.symbol.range.startLineNumber - element1.symbol.range.startLineNumber;
250+
}
251+
});
252+
for (const outlineElement of outlineElementsArray) {
246253
stickyChildren.push(StickyOutlineElement.fromOutlineElement(outlineElement, outlineElement.symbol.selectionRange.startLineNumber));
247254
}
248255
const stickyOutlineElement = new StickyOutlineElement(undefined, stickyChildren, undefined);
@@ -279,7 +286,7 @@ class StickyOutlineElement {
279286
let parentStickyOutlineElement = stickyOutlineElement;
280287

281288
for (let i = 0; i < length; i++) {
282-
range = new StickyRange(regions.getStartLineNumber(i), regions.getEndLineNumber(i));
289+
range = new StickyRange(regions.getStartLineNumber(i), regions.getEndLineNumber(i) + 1);
283290
while (stackOfParents.length !== 0 && (range.startLineNumber < stackOfParents[stackOfParents.length - 1].startLineNumber || range.endLineNumber > stackOfParents[stackOfParents.length - 1].endLineNumber)) {
284291
stackOfParents.pop();
285292
if (parentStickyOutlineElement.parent !== undefined) {

0 commit comments

Comments
 (0)