mirror of
https://github.com/Microsoft/vscode
synced 2024-10-05 19:02:54 +00:00
Fixes #213141
This commit is contained in:
parent
7496c883cc
commit
b0c91dda31
|
@ -8,7 +8,7 @@ import { Emitter } from 'vs/base/common/event';
|
|||
import { Disposable, DisposableStore, IDisposable, IReference, MutableDisposable } from 'vs/base/common/lifecycle';
|
||||
import { IPosition, Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { ILanguageConfigurationService } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { ILanguageConfigurationService, LanguageConfigurationServiceChangeEvent } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { ignoreBracketsInToken } from 'vs/editor/common/languages/supports';
|
||||
import { LanguageBracketsConfiguration } from 'vs/editor/common/languages/supports/languageBracketsConfiguration';
|
||||
import { BracketsUtils, RichEditBracket, RichEditBrackets } from 'vs/editor/common/languages/supports/richEditBrackets';
|
||||
|
@ -36,19 +36,17 @@ export class BracketPairsTextModelPart extends Disposable implements IBracketPai
|
|||
private readonly languageConfigurationService: ILanguageConfigurationService
|
||||
) {
|
||||
super();
|
||||
|
||||
this._register(
|
||||
this.languageConfigurationService.onDidChange(e => {
|
||||
if (!e.languageId || this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)) {
|
||||
this.bracketPairsTree.clear();
|
||||
this.updateBracketPairsTree();
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
//#region TextModel events
|
||||
|
||||
public handleLanguageConfigurationServiceChange(e: LanguageConfigurationServiceChangeEvent): void {
|
||||
if (!e.languageId || this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)) {
|
||||
this.bracketPairsTree.clear();
|
||||
this.updateBracketPairsTree();
|
||||
}
|
||||
}
|
||||
|
||||
public handleDidChangeOptions(e: IModelOptionsChangedEvent): void {
|
||||
this.bracketPairsTree.clear();
|
||||
this.updateBracketPairsTree();
|
||||
|
|
|
@ -381,6 +381,11 @@ export class TextModel extends Disposable implements model.ITextModel, IDecorati
|
|||
}));
|
||||
|
||||
this._languageService.requestRichLanguageFeatures(languageId);
|
||||
|
||||
this._register(this._languageConfigurationService.onDidChange(e => {
|
||||
this._bracketPairs.handleLanguageConfigurationServiceChange(e);
|
||||
this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e);
|
||||
}));
|
||||
}
|
||||
|
||||
public override dispose(): void {
|
||||
|
|
|
@ -17,7 +17,7 @@ import { IWordAtPosition, getWordAtText } from 'vs/editor/common/core/wordHelper
|
|||
import { StandardTokenType } from 'vs/editor/common/encodedTokenAttributes';
|
||||
import { IBackgroundTokenizationStore, IBackgroundTokenizer, ILanguageIdCodec, IState, ITokenizationSupport, TokenizationRegistry } from 'vs/editor/common/languages';
|
||||
import { ILanguageService } from 'vs/editor/common/languages/language';
|
||||
import { ILanguageConfigurationService, ResolvedLanguageConfiguration } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { ILanguageConfigurationService, LanguageConfigurationServiceChangeEvent, ResolvedLanguageConfiguration } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { IAttachedView } from 'vs/editor/common/model';
|
||||
import { BracketPairsTextModelPart } from 'vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl';
|
||||
import { AttachedViews, IAttachedViewState, TextModel } from 'vs/editor/common/model/textModel';
|
||||
|
@ -56,12 +56,6 @@ export class TokenizationTextModelPart extends TextModelPart implements ITokeniz
|
|||
) {
|
||||
super();
|
||||
|
||||
this._register(this._languageConfigurationService.onDidChange(e => {
|
||||
if (e.affects(this._languageId)) {
|
||||
this._onDidChangeLanguageConfiguration.fire({});
|
||||
}
|
||||
}));
|
||||
|
||||
this._register(this.grammarTokens.onDidChangeTokens(e => {
|
||||
this._emitModelTokensChangedEvent(e);
|
||||
}));
|
||||
|
@ -77,6 +71,12 @@ export class TokenizationTextModelPart extends TextModelPart implements ITokeniz
|
|||
|| this._onDidChangeTokens.hasListeners());
|
||||
}
|
||||
|
||||
public handleLanguageConfigurationServiceChange(e: LanguageConfigurationServiceChangeEvent): void {
|
||||
if (e.affects(this._languageId)) {
|
||||
this._onDidChangeLanguageConfiguration.fire({});
|
||||
}
|
||||
}
|
||||
|
||||
public handleDidChangeContent(e: IModelContentChangedEvent): void {
|
||||
if (e.isFlush) {
|
||||
this._semanticTokens.flush();
|
||||
|
|
Loading…
Reference in a new issue