diff --git a/src/vs/editor/common/services/modelServiceImpl.ts b/src/vs/editor/common/services/modelServiceImpl.ts index 07a0874862adce17688db6bbdcbfc98a5ed0e2f4..3b9734e0a166ee662f6528055f2bbc4ff02266f5 100644 --- a/src/vs/editor/common/services/modelServiceImpl.ts +++ b/src/vs/editor/common/services/modelServiceImpl.ts @@ -466,9 +466,12 @@ class SemanticStyling extends Disposable { ) { super(); this._caches = new WeakMap(); - this._register(this._themeService.onThemeChange(() => { - this._caches = new WeakMap(); - })); + if (this._themeService) { + // workaround for tests which use undefined... :/ + this._register(this._themeService.onThemeChange(() => { + this._caches = new WeakMap(); + })); + } } public get(provider: SemanticColoringProvider): SemanticColoringProviderStyling { @@ -629,11 +632,14 @@ class ModelSemanticColoring extends Disposable { this._register(this._model.onDidChangeContent(e => this._fetchSemanticTokens.schedule())); this._register(SemanticColoringProviderRegistry.onDidChange(e => this._fetchSemanticTokens.schedule())); - this._register(themeService.onThemeChange(_ => { - // clear out existing tokens - this._setSemanticTokens(null, null, []); - this._fetchSemanticTokens.schedule(); - })); + if (themeService) { + // workaround for tests which use undefined... :/ + this._register(themeService.onThemeChange(_ => { + // clear out existing tokens + this._setSemanticTokens(null, null, []); + this._fetchSemanticTokens.schedule(); + })); + } this._fetchSemanticTokens.schedule(0); }