@@ -93,10 +93,8 @@ export class StickyLineCandidateProvider extends Disposable {
93
93
94
94
private findSumOfRangesOfGroup ( outline : OutlineGroup | OutlineElement ) : number {
95
95
let res = 0 ;
96
- if ( outline . children . size !== 0 ) {
97
- for ( const child of outline . children . values ( ) ) {
98
- res += this . findSumOfRangesOfGroup ( child ) ;
99
- }
96
+ for ( const child of outline . children . values ( ) ) {
97
+ res += this . findSumOfRangesOfGroup ( child ) ;
100
98
}
101
99
if ( outline instanceof OutlineElement ) {
102
100
return res + outline . symbol . range . endLineNumber - outline . symbol . selectionRange . startLineNumber ;
@@ -110,16 +108,18 @@ export class StickyLineCandidateProvider extends Disposable {
110
108
const model = this . _editor . getModel ( ) ;
111
109
const modelVersionId = model . getVersionId ( ) ;
112
110
let outlineModel = await OutlineModel . create ( this . _languageFeaturesService . documentSymbolProvider , model , token ) as OutlineModel ;
111
+
112
+ // When several possible outline providers
113
113
if ( outlineModel . children . size !== 0 && outlineModel . children . values ( ) . next ( ) . value instanceof OutlineGroup ) {
114
114
if ( outlineModel . children . has ( this . _providerString ) ) {
115
115
outlineModel = outlineModel . children . get ( this . _providerString ) as unknown as OutlineModel ;
116
116
} else {
117
117
let providerString = '' ;
118
- let maxTotalSumRanges = 0 ;
118
+ let maxTotalSumOfRanges = 0 ;
119
119
for ( const [ key , outlineGroup ] of outlineModel . children . entries ( ) ) {
120
120
const totalSumRanges = this . findSumOfRangesOfGroup ( outlineGroup ) ;
121
- if ( totalSumRanges > maxTotalSumRanges ) {
122
- maxTotalSumRanges = totalSumRanges ;
121
+ if ( totalSumRanges > maxTotalSumOfRanges ) {
122
+ maxTotalSumOfRanges = totalSumRanges ;
123
123
providerString = key ;
124
124
}
125
125
}
0 commit comments