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 @@ |
|||||||
|
/* |
||||||
|
* 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