예제 #1
0
        ITagger <T> IViewTaggerProvider.CreateTagger <T>(ITextView textView, ITextBuffer textBuffer)
        {
            if (textView.TextBuffer != textBuffer || !_vim.ShouldCreateVimBuffer(textView))
            {
                return(null);
            }

            Func <IBasicTaggerSource <IntraTextAdornmentTag> > func = () => CreateCharDisplayTaggerSource(textView);

            return(TaggerUtil.CreateBasicTagger(
                       textView.Properties,
                       _key,
                       func.ToFSharpFunc()) as ITagger <T>);
        }
예제 #2
0
        ITagger <T> IViewTaggerProvider.CreateTagger <T>(ITextView textView, ITextBuffer textBuffer)
        {
            if (textView.TextBuffer != textBuffer)
            {
                return(null);
            }

            if (!_vim.TryGetOrCreateVimBufferForHost(textView, out IVimBuffer vimBuffer))
            {
                return(null);
            }
            var vimBufferData = vimBuffer.VimBufferData;

            Func <IBasicTaggerSource <MarkGlyphTag> > func =
                () => CreateMarkGlyphTaggerSource(vimBufferData);

            return(TaggerUtil.CreateBasicTagger(
                       textView.Properties,
                       _key,
                       func.ToFSharpFunc()) as ITagger <T>);
        }