@@ -71,6 +71,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
7171 private _lastState : IState ;
7272
7373 private _indentRanges : IndentRange [ ] ;
74+ private _languageRegistryListener : IDisposable ;
7475
7576 private _revalidateTokensTimeout : number ;
7677
@@ -98,12 +99,20 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
9899
99100 this . _revalidateTokensTimeout = - 1 ;
100101
102+ this . _languageRegistryListener = LanguageConfigurationRegistry . onDidChange ( ( e ) => {
103+ if ( e . languageIdentifier . id === this . _languageIdentifier . id ) {
104+ this . _resetIndentRanges ( ) ;
105+ this . _emitModelLanguageConfigurationEvent ( { } ) ;
106+ }
107+ } ) ;
108+
101109 this . _resetTokenizationState ( ) ;
102110 this . _resetIndentRanges ( ) ;
103111 }
104112
105113 public dispose ( ) : void {
106114 this . _tokenizationListener . dispose ( ) ;
115+ this . _languageRegistryListener . dispose ( ) ;
107116 this . _clearTimers ( ) ;
108117 this . _lastState = null ;
109118
@@ -239,6 +248,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
239248 } ]
240249 } ) ;
241250 this . _emitModelModeChangedEvent ( e ) ;
251+ this . _emitModelLanguageConfigurationEvent ( { } ) ;
242252 }
243253
244254 public getLanguageIdAtPosition ( _lineNumber : number , _column : number ) : LanguageId {
@@ -404,6 +414,12 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
404414 }
405415 }
406416
417+ private _emitModelLanguageConfigurationEvent ( e : textModelEvents . IModelLanguageConfigurationChangedEvent ) : void {
418+ if ( ! this . _isDisposing ) {
419+ this . _eventEmitter . emit ( textModelEvents . TextModelEventType . ModelLanguageConfigurationChanged , e ) ;
420+ }
421+ }
422+
407423 private _emitModelModeChangedEvent ( e : textModelEvents . IModelLanguageChangedEvent ) : void {
408424 if ( ! this . _isDisposing ) {
409425 this . _eventEmitter . emit ( textModelEvents . TextModelEventType . ModelLanguageChanged , e ) ;
0 commit comments