@@ -399,7 +399,7 @@ enum SemanticTokenTypes {
399399 referenceType = 5 ,
400400 valueType = 6 ,
401401 function = 7 ,
402- member = 8 ,
402+ method = 8 ,
403403 property = 9 ,
404404 cliProperty = 10 ,
405405 event = 11 ,
@@ -606,6 +606,7 @@ export class DefaultClient implements Client {
606606 private documentFormattingProviderDisposable : vscode . Disposable | undefined ;
607607 private formattingRangeProviderDisposable : vscode . Disposable | undefined ;
608608 private onTypeFormattingProviderDisposable : vscode . Disposable | undefined ;
609+ private codeFoldingProvider : FoldingRangeProvider | undefined ;
609610 private codeFoldingProviderDisposable : vscode . Disposable | undefined ;
610611 private semanticTokensProvider : SemanticTokensProvider | undefined ;
611612 private semanticTokensProviderDisposable : vscode . Disposable | undefined ;
@@ -838,7 +839,8 @@ export class DefaultClient implements Client {
838839 this . onTypeFormattingProviderDisposable = vscode . languages . registerOnTypeFormattingEditProvider ( this . documentSelector , new OnTypeFormattingEditProvider ( this ) , ";" , "}" , "\n" ) ;
839840 }
840841 if ( settings . codeFolding ) {
841- this . codeFoldingProviderDisposable = vscode . languages . registerFoldingRangeProvider ( this . documentSelector , new FoldingRangeProvider ( this ) ) ;
842+ this . codeFoldingProvider = new FoldingRangeProvider ( this ) ;
843+ this . codeFoldingProviderDisposable = vscode . languages . registerFoldingRangeProvider ( this . documentSelector , this . codeFoldingProvider ) ;
842844 }
843845 if ( settings . enhancedColorization && this . semanticTokensLegend ) {
844846 this . semanticTokensProvider = new SemanticTokensProvider ( this ) ;
@@ -1347,16 +1349,18 @@ export class DefaultClient implements Client {
13471349 }
13481350 if ( changedSettings [ "codeFolding" ] ) {
13491351 if ( settings . codeFolding ) {
1350- this . codeFoldingProviderDisposable = vscode . languages . registerFoldingRangeProvider ( this . documentSelector , new FoldingRangeProvider ( this ) ) ;
1352+ this . codeFoldingProvider = new FoldingRangeProvider ( this ) ;
1353+ this . codeFoldingProviderDisposable = vscode . languages . registerFoldingRangeProvider ( this . documentSelector , this . codeFoldingProvider ) ;
13511354 } else if ( this . codeFoldingProviderDisposable ) {
13521355 this . codeFoldingProviderDisposable . dispose ( ) ;
13531356 this . codeFoldingProviderDisposable = undefined ;
1357+ this . codeFoldingProvider = undefined ;
13541358 }
13551359 }
13561360 if ( changedSettings [ "enhancedColorization" ] ) {
13571361 if ( settings . enhancedColorization && this . semanticTokensLegend ) {
13581362 this . semanticTokensProvider = new SemanticTokensProvider ( this ) ;
1359- this . semanticTokensProviderDisposable = vscode . languages . registerDocumentSemanticTokensProvider ( this . documentSelector , new SemanticTokensProvider ( this ) , this . semanticTokensLegend ) ; ;
1363+ this . semanticTokensProviderDisposable = vscode . languages . registerDocumentSemanticTokensProvider ( this . documentSelector , this . semanticTokensProvider , this . semanticTokensLegend ) ; ;
13601364 } else if ( this . semanticTokensProviderDisposable ) {
13611365 this . semanticTokensProviderDisposable . dispose ( ) ;
13621366 this . semanticTokensProviderDisposable = undefined ;
@@ -2162,6 +2166,9 @@ export class DefaultClient implements Client {
21622166 }
21632167 }
21642168 }
2169+ if ( this . codeFoldingProvider ) {
2170+ this . codeFoldingProvider . refresh ( ) ;
2171+ }
21652172 }
21662173
21672174 public logIntellisenseSetupTime ( notification : IntelliSenseSetup ) : void {
0 commit comments