protected internal override IEnumerable <ITagSpan <IClassificationTag> > GetTagsSynchronousImplementation(ITextSnapshot snapshot) { TaggerType currentTaggerType = GetCurrentTaggerTypeFromSettings(); if (!_taggersByType.TryGetValue(currentTaggerType, out PXColorizerTaggerBase activeTagger)) { return(Enumerable.Empty <ITagSpan <IClassificationTag> >()); } return(activeTagger.GetTagsSynchronousImplementation(snapshot)); }
protected internal override Task <IEnumerable <ITagSpan <IClassificationTag> > > GetTagsAsyncImplementationAsync(ITextSnapshot snapshot, CancellationToken cancellationToken) { TaggerType currentTaggerType = GetCurrentTaggerTypeFromSettings(); if (!_taggersByType.TryGetValue(currentTaggerType, out PXColorizerTaggerBase activeTagger)) { return(Task.FromResult(Enumerable.Empty <ITagSpan <IClassificationTag> >())); } if (activeTagger.UseAsyncTagging) { return(activeTagger.GetTagsAsyncImplementationAsync(snapshot, cancellationToken)); } else { var tags = activeTagger.GetTagsSynchronousImplementation(snapshot); return(Task.FromResult(tags)); } }