public void GetBuffer_ReturnNoneForViewThatHasNoBuffer() { var textView = EditorUtil.CreateView(); var ret = _vim.GetBuffer(textView); Assert.IsTrue(ret.IsNone()); }
public void RemoveBuffer2() { var view = EditorUtil.CreateView("foo bar"); var vimBuffer = _vim.CreateBuffer(view); Assert.IsTrue(_vim.RemoveBuffer(view)); Assert.IsTrue(_vim.GetBuffer(view).IsNone()); }
void IVsTextViewCreationListener.VsTextViewCreated(IVsTextView vsView) { var view = _adaptersFactory.GetWpfTextView(vsView); if (view == null) { return; } var opt = _vim.GetBuffer(view); if (!opt.IsSome()) { return; } var buffer = opt.Value; var broker = _displayWindowBrokerFactoryServcie.CreateDisplayWindowBroker(view); var result = VsCommandTarget.Create(buffer, vsView, _adapter, broker, _externalEditorManager); if (result.IsSuccess) { _filterMap.Add(buffer, result.Value); } // Try and install the IVsFilterKeys adapter. This cannot be done synchronously here // because Venus projects are not fully initialized at this state. Merely querying // for properties cause them to corrupt internal state and prevents rendering of the // view. Occurs for aspx and .js pages Action install = () => VsFilterKeysAdapter.TryInstallFilterKeysAdapter(_adapter, _editorOptionsFactoryService, buffer); Dispatcher.CurrentDispatcher.BeginInvoke(install, null); }