public void Empty() { Create("hello world"); var visualSpan = VisualSpan.CreateForSelection(_textView, VisualKind.Line, _vimBuffer.LocalSettings.TabStop); Assert.Equal(_textBuffer.GetLineRange(0), visualSpan.AsLine().LineRange); }
public void Empty() { Create("hello world"); var visualSpan = VisualSpan.CreateForSelection(_textView, VisualKind.Character, _vimBuffer.LocalSettings.TabStop); Assert.Equal(0, visualSpan.EditSpan.OverarchingSpan.Length); }
public void CreateForSelection_Line_Empty() { Create("hello world"); var visualSpan = VisualSpan.CreateForSelection(_textView, VisualKind.Line); Assert.Equal(_textBuffer.GetLineRange(0), visualSpan.AsLine().Item); }
/// <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); }
public void CreateForSelection_Character_Empty() { Create("hello world"); var visualSpan = VisualSpan.CreateForSelection(_textView, VisualKind.Character); Assert.Equal(0, visualSpan.EditSpan.OverarchingSpan.Length); }
public void CreateForSelectionPoints_Block_ForwardsMultipleLines() { Create("big cat", "big dog"); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Block, _textBuffer.GetPoint(1), _textBuffer.GetPointInLine(1, 3)); var blockSpan = new BlockSpan(_textBuffer.GetPoint(1), 2, 2); Assert.Equal(blockSpan, visualSpan.AsBlock().Item); }
/// <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 CreateForSelectionPoints_Block_Backwards() { Create("big cat", "big dog"); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Block, _textBuffer.GetPoint(2), _textBuffer.GetPoint(0)); var blockSpan = new BlockSpan(_textBuffer.GetPoint(0), 2, 1); Assert.Equal(blockSpan, visualSpan.AsBlock().Item); }
public void CreateForSelection_Block_Empty() { Create("hello world"); var visualSpan = VisualSpan.CreateForSelection(_textView, VisualKind.Block); var blockSpan = new BlockSpan(_textBuffer.GetPoint(0), 0, 1); Assert.Equal(blockSpan, visualSpan.AsBlock().Item); }
public void Empty() { Create("hello world"); var visualSpan = VisualSpan.CreateForSelection(_textView, VisualKind.Block, _vimBuffer.LocalSettings.TabStop); var blockSpan = new BlockSpan(_textBuffer.GetPoint(0), tabStop: _vimBuffer.LocalSettings.TabStop, spaces: 1, height: 1); Assert.Equal(blockSpan, visualSpan.AsBlock().BlockSpan); }
public void Backwards() { Create("big cat", "big dog"); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Block, _textBuffer.GetPoint(2), _textBuffer.GetPoint(0), _vimBuffer.LocalSettings.TabStop); var blockSpan = new BlockSpan(_textBuffer.GetPoint(0), _vimBuffer.LocalSettings.TabStop, 2, 1); Assert.Equal(blockSpan, visualSpan.AsBlock().BlockSpan); }
public void ForwardsMultipleLines() { Create("big cat", "big dog"); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Block, _textBuffer.GetPoint(1), _textBuffer.GetPointInLine(1, 3), _vimBuffer.LocalSettings.TabStop); var blockSpan = new BlockSpan(_textBuffer.GetPoint(1), _vimBuffer.LocalSettings.TabStop, 2, 2); Assert.Equal(blockSpan, visualSpan.AsBlock().BlockSpan); }
public void SamePoint() { Create("cat", "dog", "tree"); var point = _textBuffer.GetLine(1).Start; var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Line, point, point, _vimBuffer.LocalSettings.TabStop); Assert.Equal(_textBuffer.GetLineRange(1), visualSpan.AsLine().LineRange); }
public void EndOfSnapshot() { Create("cat", "dog"); var point = new SnapshotPoint(_textBuffer.CurrentSnapshot, _textBuffer.CurrentSnapshot.Length); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Line, point, point, _vimBuffer.LocalSettings.TabStop); Assert.Equal(1, visualSpan.AsLine().LineRange.LastLineNumber); }
public void CreateForSelectionPoints_Character_Empty() { Create("dog cat"); var point = _textBuffer.GetPoint(2); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Character, point, point); Assert.Equal(point, visualSpan.AsCharacter().Item.Start); Assert.Equal(0, visualSpan.AsCharacter().Item.Length); }
public void CreateForSelectionPoints_Block_Empty() { Create("dog cat"); var point = _textBuffer.GetPoint(2); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Block, point, point); var blockSpan = new BlockSpan(point, 0, 1); Assert.Equal(blockSpan, visualSpan.AsBlock().Item); }
public void Empty() { Create("dog cat"); var point = _textBuffer.GetPoint(2); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Block, point, point, _vimBuffer.LocalSettings.TabStop); var blockSpan = new BlockSpan(point, _vimBuffer.LocalSettings.TabStop, spaces: 1, height: 1); Assert.Equal(blockSpan, visualSpan.AsBlock().BlockSpan); }
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 CreateForVisualSpan_Block() { Create("cat", "dog"); var visualSpan = VisualSpan.NewBlock(_textView.GetBlockSpan(0, 2, 0, 2)); var visualSelection = VisualSelection.CreateForward(visualSpan); Assert.Equal(_textView.GetLine(1).Start.Add(1), visualSelection.GetCaretPoint(SelectionKind.Inclusive)); Assert.Equal(visualSpan, visualSelection.VisualSpan); }
public void AdjustForSelectionKind_Block_SingleColumnExclusive() { Create("cats", "dogs", "trees"); var blockSpan = _textBuffer.GetBlockSpan(1, 1, 0, 2); var visualSpan = VisualSpan.NewBlock(blockSpan); var visualSelection = VisualSelection.CreateForward(visualSpan); Assert.Equal(visualSelection, visualSelection.AdjustForSelectionKind(SelectionKind.Exclusive)); }
public void Empty() { Create("dog cat"); var point = _textBuffer.GetPoint(2); var visualSpan = VisualSpan.CreateForSelectionPoints(VisualKind.Character, point, point, _vimBuffer.LocalSettings.TabStop); Assert.Equal(point, visualSpan.AsCharacter().CharacterSpan.Start); Assert.Equal(0, visualSpan.AsCharacter().CharacterSpan.Length); }
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 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 IncludeLineBreak() { Create("cat", "dog"); _textView.Selection.Select(_textBuffer.GetPoint(0), _textBuffer.GetPoint(5)); var visualSpan = VisualSpan.CreateForSelection(_textView, VisualKind.Character, tabStop: 4); var characterSpan = visualSpan.AsCharacter().Item; Assert.True(characterSpan.IncludeLastLineLineBreak); Assert.Equal(1, characterSpan.LineCount); }
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 Forward() { Create("big dog", "big cat", "big tree", "big fish"); var lineRange = _textBuffer.GetLineRange(1); var visualSpan = VisualSpan.NewLine(lineRange); visualSpan.Select(_textView, SearchPath.Forward); Assert.False(_textView.Selection.IsReversed); Assert.Equal(lineRange.ExtentIncludingLineBreak, _textView.GetSelectionSpan()); }
public void Simple() { Create("big dog", "big cat", "big tree", "big fish"); var blockSpan = _vimBuffer.GetBlockSpan(1, 2, 0, 2); var visualSpan = VisualSpan.NewBlock(blockSpan); visualSpan.Select(_textView, SearchPath.Forward); Assert.Equal(blockSpan, _vimBuffer.GetSelectionBlockSpan()); Assert.Equal(TextSelectionMode.Box, _textView.Selection.Mode); }
public void EndsInEmptyLineCase() { Create("cat", "", "dog"); _textView.Selection.Select(_textBuffer.GetPoint(0), _textBuffer.GetPoint(6)); Assert.Equal(1, _textView.Selection.StreamSelectionSpan.End.Position.GetContainingLine().LineNumber); var visualSpan = VisualSpan.CreateForSelection(_textView, VisualKind.Character, tabStop: 4); var characterSpan = visualSpan.AsCharacter().Item; Assert.Equal(2, characterSpan.LineCount); Assert.True(characterSpan.IncludeLastLineLineBreak); }
internal static CommandRunData CreateCommandRunData( Command command, Register register, int? count = null, MotionRunData motionRunData = null, VisualSpan visualRunData = null) { var countOpt = count != null ? FSharpOption.Create(count.Value) : FSharpOption<int>.None; var motion = motionRunData != null ? FSharpOption.Create(motionRunData) : FSharpOption<MotionRunData>.None; var visual = visualRunData != null ? FSharpOption.Create(visualRunData) : FSharpOption<VisualSpan>.None; return new CommandRunData( command, register, countOpt, motion, visual); }
private CommandRunData CreateCommand( Func<FSharpOption<int>, Register, CommandResult> func = null, KeyInputSet name = null, CommandFlags? flags = null, int? count = 0, MotionRunData motionRunData = null, VisualSpan visualRunData = null) { name = name ?? KeyInputSet.NewOneKeyInput(KeyInputUtil.CharToKeyInput('c')); var flagsRaw = flags ?? CommandFlags.None; var countRaw = count.HasValue ? FSharpOption.Create(count.Value) : FSharpOption<int>.None; var funcRaw = func.ToFSharpFunc(); var cmd = Command.NewSimpleCommand( name, flagsRaw, func.ToFSharpFunc()); return new CommandRunData( cmd, new Register('c'), countRaw, motionRunData != null ? FSharpOption.Create(motionRunData) : FSharpOption<MotionRunData>.None, visualRunData != null ? FSharpOption.Create(visualRunData) : FSharpOption<VisualSpan>.None); }
protected void RunVisualCommand(VisualCommand command, VisualSpan visualSpan) { var commandData = CommandData.Default; _commandUtil.RunVisualCommand(command, commandData, visualSpan); }