示例#1
0
        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>);
        }
示例#2
0
        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);
        }