Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4851 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
6 changed files with 53 additions and 4 deletions
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: daniel |
||||
* Date: 31.08.2009 |
||||
* Time: 17:11 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
|
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using System; |
||||
using ICSharpCode.Core; |
||||
|
||||
namespace ICSharpCode.SharpDevelop.Editor.Commands |
||||
{ |
||||
public class GoToMatchingBrace : AbstractMenuCommand |
||||
{ |
||||
public override void Run() |
||||
{ |
||||
ITextEditorProvider editorProvider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorProvider; |
||||
if (editorProvider != null) { |
||||
Run(editorProvider.TextEditor, editorProvider.TextEditor.Caret.Offset); |
||||
} |
||||
} |
||||
|
||||
public static void Run(ITextEditor editor, int offset) |
||||
{ |
||||
BracketSearchResult result = editor.Language.BracketSearcher.SearchBracket(editor.Document, offset); |
||||
if (result != null) { |
||||
// place caret after the other bracket
|
||||
if (result.OpeningBracketOffset <= offset && offset <= result.OpeningBracketOffset + result.OpeningBracketLength) { |
||||
editor.Select(result.ClosingBracketOffset + result.ClosingBracketLength, 0); |
||||
} else { |
||||
editor.Select(result.OpeningBracketOffset + result.OpeningBracketLength, 0); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue