Пример #1
0
            public void TwoViews_NoScroll()
            {
                // Reported in #2673.
                Create(Enumerable.Range(0, 26).Select(x => ((char)('a' + x)).ToString()).ToArray());
                VimHost.FocusedTextView = _textView;
                _vimBuffer.ProcessNotation("1G");
                Assert.Equal(0, _textView.GetFirstVisibleLineNumber());
                var visibleLines = _textView.TextViewLines.Count;
                var altTextView  = TextEditorFactoryService.CreateTextView(_textBuffer);
                var altVimBuffer = CreateVimBuffer(CreateVimBufferData(altTextView));

                try
                {
                    VimHost.FocusedTextView = altTextView;
                    altVimBuffer.ProcessNotation("13G");
                    Assert.True(altTextView.GetFirstVisibleLineNumber() > visibleLines);
                    var visualSpan      = VimUtil.CreateVisualSpanCharacter(_textBuffer.GetLineSpan(13, 1));
                    var visualSelection = VisualSelection.CreateForward(visualSpan);
                    _vimBuffer.VimTextBuffer.SwitchMode(
                        ModeKind.VisualCharacter,
                        ModeArgument.NewInitialVisualSelection(visualSelection, FSharpOption <SnapshotPoint> .None));
                    Assert.Equal(0, _textView.GetFirstVisibleLineNumber());
                }
                finally
                {
                    altVimBuffer.Close();
                }
            }
Пример #2
0
        public void InitialVisualSelection_Character()
        {
            Create("dogs", "cats");

            var visualSpan      = VimUtil.CreateVisualSpanCharacter(_textBuffer.GetSpan(1, 2));
            var visualSelection = VisualSelection.CreateForVisualSpan(visualSpan);

            _buffer.SwitchMode(ModeKind.VisualCharacter, ModeArgument.NewInitialVisualSelection(visualSelection));
            _context.RunAll();
            Assert.AreEqual(visualSelection, VisualSelection.CreateForSelection(_textView, VisualKind.Character));
        }