Пример #1
0
 public override CommandResult Invoke(Guid group, int id, object inputArg, ref object outputArg)
 {
     if (!TextView.Caret.InVirtualSpace)
     {
         int  caretPosition = TextView.Caret.Position.BufferPosition.Position;
         var  snapshot      = TextView.TextBuffer.CurrentSnapshot;
         Span?spanToSelect  = RTextStructure.GetWordSpan(snapshot, caretPosition);
         if (spanToSelect.HasValue && spanToSelect.Value.Length > 0)
         {
             TextView.Selection.Select(new SnapshotSpan(snapshot, spanToSelect.Value), isReversed: false);
             TextView.Caret.MoveTo(new SnapshotPoint(snapshot, spanToSelect.Value.End));
             return(CommandResult.Executed);
         }
     }
     return(CommandResult.NotSupported);
 }
Пример #2
0
        public void GetWordSpan(string content, int position, int start, int length)
        {
            var  tb   = new TextBufferMock(content, RContentTypeDefinition.ContentType);
            Span?span = RTextStructure.GetWordSpan(tb.CurrentSnapshot, position);

            if (span.HasValue)
            {
                span.Value.Start.Should().Be(start);
                span.Value.Length.Should().Be(length);
            }
            else
            {
                length.Should().Be(0);
                start.Should().Be(0);
            }
        }
Пример #3
0
 public override CommandResult Invoke(Guid group, int id, object inputArg, ref object outputArg)
 {
     if (!TextView.Caret.InVirtualSpace)
     {
         var point = TextView.MapDownToBuffer(TextView.Caret.Position.BufferPosition, _textBuffer);
         if (point.HasValue)
         {
             var snapshot     = point.Value.Snapshot;
             var spanToSelect = RTextStructure.GetWordSpan(snapshot, point.Value);
             if (spanToSelect.HasValue && spanToSelect.Value.Length > 0)
             {
                 var viewSpan = TextView.MapUpToView(snapshot, spanToSelect.Value);
                 if (viewSpan.HasValue)
                 {
                     TextView.Selection.Select(viewSpan.Value, isReversed: false);
                     TextView.Caret.MoveTo(viewSpan.Value.End);
                     return(CommandResult.Executed);
                 }
             }
         }
     }
     return(CommandResult.NotSupported);
 }