public void VimBufferCreated(IVimBuffer vimBuffer) { var taggerList = new List<ITagger<ITag>>(); var bufferAdapterList = new List<IExternalEditAdapter>(); var textView = vimBuffer.TextView; foreach (var adapter in _adapterList) { ITagger<ITag> tagger; if (adapter.IsInterested(textView, out tagger)) { bufferAdapterList.Add(adapter); if (tagger != null) { taggerList.Add(tagger); } } } if (bufferAdapterList.Count > 0) { _monitorMap[vimBuffer] = new ExternalEditMonitor( vimBuffer, _protectedOperations, _vsAdapter.GetTextLines(vimBuffer.TextBuffer), taggerList.ToReadOnlyCollectionShallow(), bufferAdapterList.ToReadOnlyCollectionShallow()); vimBuffer.Closed += delegate { _monitorMap.Remove(vimBuffer); }; } }
public void VimBufferCreated(IVimBuffer vimBuffer) { var taggerList = new List <ITagger <ITag> >(); var bufferAdapterList = new List <IExternalEditAdapter>(); var textView = vimBuffer.TextView; foreach (var adapter in _adapterList) { ITagger <ITag> tagger; if (adapter.IsInterested(textView, out tagger)) { bufferAdapterList.Add(adapter); if (tagger != null) { taggerList.Add(tagger); } } } if (bufferAdapterList.Count > 0) { _monitorMap[vimBuffer] = new ExternalEditMonitor( vimBuffer, _protectedOperations, _vsAdapter.GetTextLines(vimBuffer.TextBuffer), taggerList.ToReadOnlyCollectionShallow(), bufferAdapterList.ToReadOnlyCollectionShallow()); vimBuffer.Closed += delegate { _monitorMap.Remove(vimBuffer); }; } }
public void VimBufferCreated(IVimBuffer value) { _monitorMap[value] = new ExternalEditMonitor( value, _vsAdapter.GetTextLines(value.TextBuffer), new ReadOnlyCollection <IExternalEditAdapter>(_adapterList), _viewTagAggregatorFactoryService.CreateTagAggregator <ITag>(value.TextView)); value.Closed += delegate { _monitorMap.Remove(value); }; }
public void VimBufferCreated(IVimBuffer buffer) { Result<ITagger<ITag>> tagger = Result.Error; if (IsResharperInstalled) { tagger = GetResharperTagger(buffer.TextBuffer); } _monitorMap[buffer] = new ExternalEditMonitor( buffer, _vsAdapter.GetTextLines(buffer.TextBuffer), tagger, new ReadOnlyCollection<IExternalEditAdapter>(_adapterList)); buffer.Closed += delegate { _monitorMap.Remove(buffer); }; }
public void VimBufferCreated(IVimBuffer buffer) { Result <ITagger <ITag> > tagger = Result.Error; if (IsResharperInstalled) { tagger = GetResharperTagger(buffer.TextBuffer); } _monitorMap[buffer] = new ExternalEditMonitor( buffer, _protectedOperations, _vsAdapter.GetTextLines(buffer.TextBuffer), tagger, new ReadOnlyCollection <IExternalEditAdapter>(_adapterList)); buffer.Closed += delegate { _monitorMap.Remove(buffer); }; }
public void Create(bool hasTextLines, bool hasTagger, params string[] lines) { _factory = new MockRepository(MockBehavior.Loose); _textView = EditorUtil.CreateTextView(lines); _textBuffer = _textView.TextBuffer; _buffer = EditorUtil.FactoryService.Vim.CreateBuffer(_textView); // Have adatper ignore by default _adapter = _factory.Create<IExternalEditAdapter>(MockBehavior.Strict); _adapter.Setup(x => x.IsExternalEditTag(It.IsAny<ITag>())).Returns(false); _adapter.Setup(x => x.IsExternalEditMarker(It.IsAny<IVsTextLineMarker>())).Returns(false); Result<IVsTextLines> textLines = Result.Error; if (hasTextLines) { _vsTextLines = _factory.Create<IVsTextLines>(MockBehavior.Strict); _vsTextLines.SetupNoEnumMarkers(); textLines = Result.CreateSuccess(_vsTextLines.Object); } Result<ITagger<ITag>> tagger = Result.Error; if (hasTagger) { _tagger = _factory.Create<ITagger<ITag>>(MockBehavior.Loose); _tagger.Setup(x => x.GetTags(It.IsAny<NormalizedSnapshotSpanCollection>())).Returns(new List<ITagSpan<ITag>>()); tagger = Result.CreateSuccess(_tagger.Object); } var list = new List<IExternalEditAdapter> { _adapter.Object }; var adapters = new ReadOnlyCollection<IExternalEditAdapter>(list); _monitor = new ExternalEditMonitor( _buffer, textLines, tagger, adapters); }
public void VimBufferCreated(IVimBuffer value) { _monitorMap[value] = new ExternalEditMonitor( value, _vsAdapter.GetTextLines(value.TextBuffer), new ReadOnlyCollection<IExternalEditAdapter>(_adapterList), _viewTagAggregatorFactoryService.CreateTagAggregator<ITag>(value.TextView)); value.Closed += delegate { _monitorMap.Remove(value); }; }
public void Setup(bool isShimmed = true, params string[] lines) { _factory = new MockRepository(MockBehavior.Loose); _textBuffer = EditorUtil.CreateBuffer(lines); _textView = MockObjectFactory.CreateTextView(textBuffer: _textBuffer); _buffer = MockObjectFactory.CreateVimBuffer(textView: _textView.Object); _buffer.SetupGet(x => x.ModeKind).Returns(ModeKind.Normal).Verifiable(); // Have adatper ignore by default _adapter = _factory.Create<IExternalEditAdapter>(MockBehavior.Strict); _adapter.Setup(x => x.IsExternalEditTag(It.IsAny<ITag>())).Returns(false); _adapter.Setup(x => x.IsExternalEditMarker(It.IsAny<IVsTextLineMarker>())).Returns(false); _aggregator = _factory.Create<ITagAggregator<ITag>>(MockBehavior.Strict); SetupTags(); Result<IVsTextLines> result; if (isShimmed) { _vsTextLines = _factory.Create<IVsTextLines>(); _vsTextLines.SetupNoEnumMarkers(); result = Result.CreateSuccess(_vsTextLines.Object); } else { result = Result.Error; } var list = new List<IExternalEditAdapter> {_adapter.Object}; var adapters = new ReadOnlyCollection<IExternalEditAdapter>(list); _monitor = new ExternalEditMonitor( _buffer.Object, result, adapters, _aggregator.Object); }