Ejemplo n.º 1
0
        public void GetBuffer_ReturnNoneForViewThatHasNoBuffer()
        {
            var textView = EditorUtil.CreateView();
            var ret      = _vim.GetBuffer(textView);

            Assert.IsTrue(ret.IsNone());
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
        }