Mono.TextEditor.TextDocument.GetMatchingBracketOffset C# (CSharp) Method

GetMatchingBracketOffset() public method

public GetMatchingBracketOffset ( System worker, int offset ) : int
worker System
offset int
return int
		public int GetMatchingBracketOffset (System.ComponentModel.BackgroundWorker worker, int offset)
		{
			if (offset < 0 || offset >= TextLength)
				return -1;
			char ch = GetCharAt (offset);
			int bracket = openBrackets.IndexOf (ch);
			int result;
			if (bracket >= 0) {
				result = SearchMatchingBracketForward (worker, offset + 1, bracket);
			} else {
				bracket = closingBrackets.IndexOf (ch);
				if (bracket >= 0) {
					result = SearchMatchingBracketBackward (worker, offset - 1, bracket);
				} else {
					result = -1;
				}
			}
			return result;
		}
		IBracketMatcher bracketMatcher = new DefaultBracketMatcher ();

Same methods

TextDocument::GetMatchingBracketOffset ( int offset ) : int

Usage Example

		public void MatchingBracketTests (string text, int offset, int expectedOffsetMatch)
		{
			var editor = TextEditorFactory.CreateNewEditor ();
			editor.MimeType = "text/x-csharp";
			editor.Text = text;
			var document = new TextDocument (text);

			int actualOffset = SimpleBracketMatcher.GetMatchingBracketOffset (editor, offset);
			int actualOffset2 = document.GetMatchingBracketOffset (offset);

			Assert.AreEqual (actualOffset2, actualOffset);
			Assert.AreEqual (expectedOffsetMatch, actualOffset);
		}
TextDocument