public ITagger <T> CreateTagger <T>(ITextView textView, ITextBuffer textBuffer) where T : ITag { IIntraTextAdornmentFactory <PackageGlyphTag> factory = new PackageGlyphTagFactory(_searchManager); return(IntraTextAdornmentTagger <PackageGlyphTag> .GetOrCreate(textView, textBuffer, factory, "DotNetCliToolReference") as ITagger <T>); }
public static ITagger <ITag> GetOrCreate(ITextView textView, ITextBuffer textBuffer, IIntraTextAdornmentFactory <TTag> factory, string tagName) { if (!textBuffer.Properties.TryGetProperty(PropertyName + "_" + tagName, out IntraTextAdornmentTagger <TTag> existingTagger)) { existingTagger = new IntraTextAdornmentTagger <TTag>(textView, textBuffer, factory, tagName); textBuffer.Properties.AddProperty(PropertyName + "_" + tagName, existingTagger); } return(existingTagger); }