private ITagger <IClassificationTag> CreateTagger(ITextBuffer buffer) { return(new ModeAwareTagger( () => this._textMateProvider.Value.CreateTagger <IClassificationTag>(buffer), () => this._serverProvider.Value.CreateTagger <IClassificationTag>(buffer), SyntacticClassificationModeSelector.GetModeSelector(_lspClientServiceFactory, buffer))); }
public ModeAwareTagger( Func <ITagger <IClassificationTag> > createTextMateTagger, Func <ITagger <IClassificationTag> > createServerTagger, SyntacticClassificationModeSelector modeSelector) { this._modeSelector = modeSelector; this._textMateTagger = new Lazy <ITagger <IClassificationTag> >(() => CreateTagger(createTextMateTagger)); this._serverTagger = new Lazy <ITagger <IClassificationTag> >(() => CreateTagger(createServerTagger)); }