Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2013-08-27 00:08:56 +0400
committerMike Krüger <mkrueger@xamarin.com>2013-08-27 00:09:34 +0400
commitf4d26903c6d3305de6d05ba119fb757f728939ef (patch)
tree4ede8b202e25cbcadfab39f0a62d843c1b5d61ff /main
parent295c7b86020ce75d81aa3da182fee078b89b3345 (diff)
[CSHarpBinding] Fixed script selection bug.
Diffstat (limited to 'main')
-rw-r--r--main/src/addins/CSharpBinding/MonoDevelop.CSharp.Refactoring.CodeActions/MDRefactoringScript.cs23
1 files changed, 14 insertions, 9 deletions
diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Refactoring.CodeActions/MDRefactoringScript.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Refactoring.CodeActions/MDRefactoringScript.cs
index 9b8504b9f9..c7429099fa 100644
--- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Refactoring.CodeActions/MDRefactoringScript.cs
+++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Refactoring.CodeActions/MDRefactoringScript.cs
@@ -73,18 +73,23 @@ namespace MonoDevelop.CSharp.Refactoring.CodeActions
public override void Select (AstNode node)
{
var seg = GetSegment (node);
- var length = seg.Length;
- while (length > 0) {
- char ch = context.TextEditor.GetCharAt (seg.Offset + length);
- if (!char.IsWhiteSpace (ch)) {
- length++;
+ var startOffset = seg.Offset;
+ var endOffset = seg.EndOffset;
+ while (startOffset < endOffset) {
+ char ch = context.TextEditor.GetCharAt (startOffset);
+ if (!char.IsWhiteSpace (ch))
break;
- }
- length--;
+ startOffset++;
+ }
+ while (startOffset < endOffset && endOffset > 0) {
+ char ch = context.TextEditor.GetCharAt (endOffset - 1);
+ if (!char.IsWhiteSpace (ch))
+ break;
+ endOffset--;
}
- context.TextEditor.Caret.Offset = seg.Offset + length;
- context.TextEditor.SelectionRange = new TextSegment (seg.Offset, length);
+ context.TextEditor.Caret.Offset = endOffset;
+ context.TextEditor.SelectionRange = new TextSegment (startOffset, endOffset - startOffset);
}
public override Task<Script> InsertWithCursor (string operation, InsertPosition defaultPosition, IEnumerable<AstNode> nodes)