/// <summary> /// Change the selection to be the specified SnapshotSpan value and update the caret to be on the /// last included point in the SnapshotSpan. /// </summary> public static void SelectAndMoveCaret(this ITextView textView, SnapshotSpan span) { var characterSpan = new CharacterSpan(span); var visualSelection = VisualSelection.CreateForward(VisualSpan.NewCharacter(characterSpan)); visualSelection.SelectAndMoveCaret(textView); }
/// <summary> /// Change the selection to be the specified SnapshotSpan value and update the caret to be on the /// last included point in the SnapshotSpan. /// </summary> public static void SelectAndUpdateCaret(this ITextView textView, SnapshotSpan span) { var characterSpan = CharacterSpan.CreateForSpan(span); CommonUtil.SelectAndUpdateCaret( textView, VisualSelection.CreateForVisualSpan(VisualSpan.NewCharacter(characterSpan))); }
public void SetLocalMark_ReadOnlyMark() { Create("hello", "world"); var visualSpan = VisualSpan.NewCharacter(new CharacterSpan(_textBuffer.GetPoint(0), 1, 2)); _vimTextBuffer.LastVisualSelection = FSharpOption.Create(VisualSelection.CreateForward(visualSpan)); Assert.False(_vimTextBuffer.SetLocalMark(LocalMark.LastSelectionStart, 0, 4)); Assert.Equal(0, _vimTextBuffer.GetLocalMark(LocalMark.LastSelectionStart).Value.Position.Position); }
public void AdjustForSelectionKind_Character_Forward() { Create("cat dog bear"); var characterSpan = CharacterSpan.CreateForSpan(_textBuffer.GetSpan(0, 4)); var visualSpan = VisualSpan.NewCharacter(characterSpan); var visualSelection = VisualSelection.CreateForward(visualSpan); Assert.Equal("cat", visualSelection.AdjustForSelectionKind(SelectionKind.Exclusive).VisualSpan.EditSpan.OverarchingSpan.GetText()); }
public void Forward() { Create("big dog", "big cat", "big tree", "big fish"); var characterSpan = new CharacterSpan(_textBuffer.GetSpan(1, 3)); var visualSpan = VisualSpan.NewCharacter(characterSpan); visualSpan.Select(_textView, SearchPath.Forward); Assert.False(_textView.Selection.IsReversed); Assert.Equal(characterSpan.Span, _textView.GetSelectionSpan()); }
public void ForwardIntoLineBreak() { Create("cat", "dog"); var characterSpan = new CharacterSpan(_textBuffer.GetSpan(0, 4)); var visualSpan = VisualSpan.NewCharacter(characterSpan); visualSpan.Select(_textView, SearchPath.Forward); Assert.Equal(4, _textView.Selection.StreamSelectionSpan.Length); Assert.False(_textView.Selection.IsReversed); }
public void Select_Character_Backwards() { Create("big dog", "big cat", "big tree", "big fish"); var characterSpan = CharacterSpan.CreateForSpan(_textBuffer.GetSpan(1, 3)); var visualSpan = VisualSpan.NewCharacter(characterSpan); visualSpan.Select(_textView, Path.Backward); Assert.True(_textView.Selection.IsReversed); Assert.Equal(characterSpan.Span, _textView.GetSelectionSpan()); }
public void NegativeLastLineOffset1() { var textBuffer = CreateTextBuffer("cat", "dog"); var characterSpan = new CharacterSpan( textBuffer.GetPointInLine(line: 0, column: 2), textBuffer.GetPointInLine(line: 1, column: 1)); var sel = StoredVisualSelection.CreateFromVisualSpan(VisualSpan.NewCharacter(characterSpan)); Assert.Equal(StoredVisualSelection.NewCharacterLine(lineCount: 2, lastLineMaxOffset: -2), sel); }
public void BackwardIntoLineBreak() { Create("cat", "dog"); var characterSpan = new CharacterSpan(_textBuffer.GetSpan(0, 4)); var visualSpan = VisualSpan.NewCharacter(characterSpan); visualSpan.Select(_textView, SearchPath.Backward); TestableSynchronizationContext.RunAll(); Assert.Equal(4, _textView.Selection.StreamSelectionSpan.Length); Assert.True(_textView.Selection.IsReversed); }
public void Backward() { Create("big dog", "big cat", "big tree", "big fish"); var characterSpan = new CharacterSpan(_textBuffer.GetSpan(1, 3)); var visualSpan = VisualSpan.NewCharacter(characterSpan); visualSpan.Select(_textView, SearchPath.Backward); TestableSynchronizationContext.RunAll(); Assert.True(_textView.Selection.IsReversed); Assert.Equal(characterSpan.Span, _textView.GetSelectionSpan()); }
public void VisualSpan_Character_EditBeforeMultiLine() { var textBuffer = CreateTextBuffer("cat", "dog"); var visualSpan = VisualSpan.NewCharacter(new CharacterSpan(textBuffer.GetPoint(0), 2, 1)); var trackingVisualSpan = _bufferTrackingService.CreateVisualSpan(visualSpan); textBuffer.Insert(0, "bat "); var newVisualSpan = VisualSpan.NewCharacter(new CharacterSpan(textBuffer.GetPoint(0), 2, 1)); Assert.True(trackingVisualSpan.VisualSpan.IsSome()); Assert.Equal(newVisualSpan, trackingVisualSpan.VisualSpan.Value); }
public void Virtual(string line1) { Create(line1, ""); var point1 = _textBuffer.GetVirtualPointInLine(0, 0); var point2 = _textBuffer.GetVirtualPointInLine(0, 4); var span = new VirtualSnapshotSpan(point1, point2); var characterSpan = new CharacterSpan(span, true); var visualSpan = VisualSpan.NewCharacter(characterSpan); visualSpan.Select(_textView, SearchPath.Forward); DoEvents(); Assert.Equal(point1, _textView.Selection.Start); Assert.Equal(point2, _textView.Selection.End); }
internal static VisualSpan CreateVisualSpanCharacter(SnapshotSpan span) { return(VisualSpan.NewCharacter(new CharacterSpan(span))); }