public void TestWithNotMatchedCurlyBrackets() { var roundBrackets = "[12]3{}[12]3()1{{}3[]{}"; var matcher = new SimpleBracketMatcher(); Assert.Equal(15, matcher.Match(roundBrackets)); }
public void TestEmptyString() { var emptyString = ""; var matcher = new SimpleBracketMatcher(); Assert.Equal(-1, matcher.Match(emptyString)); }
public void TestWithMatchedSquareBrackets() { var roundBrackets = "[12]3[12]3()13[]"; var matcher = new SimpleBracketMatcher(); Assert.Equal(-1, matcher.Match(roundBrackets)); }
public void TestWithNotMatchedRoundBrackets2() { var roundBrackets = "1(())23(12)313)"; var matcher = new SimpleBracketMatcher(); Assert.Equal(14, matcher.Match(roundBrackets)); }
public void TestWithRoundBrackets() { var roundBrackets = "123(12313)"; var matcher = new SimpleBracketMatcher(); Assert.Equal(-1, matcher.Match(roundBrackets)); }
public static void GotoMatchingBrace(TextEditor textEditor) { var offset = SimpleBracketMatcher.GetMatchingBracketOffset(textEditor, textEditor.CaretOffset); if (offset > 0) { textEditor.CaretOffset = offset; } }
public void MatchingBracketTests(string text, int offset, int expectedOffsetMatch) { var editor = TextEditorFactory.CreateNewEditor(); editor.MimeType = "text/x-csharp"; editor.Text = text; int actualOffset = SimpleBracketMatcher.GetMatchingBracketOffset(editor, offset); Assert.AreEqual(expectedOffsetMatch, actualOffset); }
public override Task <BraceMatchingResult?> GetMatchingBracesAsync(IReadonlyTextDocument editor, DocumentContext context, int offset, CancellationToken cancellationToken) { BraceMatchingResult?result = null; var matching = SimpleBracketMatcher.GetMatchingBracketOffset(editor, offset, cancellationToken); if (matching >= 0) { int start = Math.Min(offset, matching); int end = Math.Max(offset, matching); result = new BraceMatchingResult(new TextSegment(start, 1), new TextSegment(end, 1), offset == start); } return(Task.FromResult(result)); }
public bool IsEndingBracket(DocumentLocation bracketLocation) { // If document isn't entirely loaded if (Document == null || Document.LineCount < Region.BeginLine) { return(false); } if (!FirstBracket.HasValue && !FindFirstBracket(bracketLocation)) { return(false); } int firstBracketOffset = Document.LocationToOffset(FirstBracket.Value); int currentBracketOffset = Document.LocationToOffset(bracketLocation); return(SimpleBracketMatcher.GetMatchingBracketOffset(Document, firstBracketOffset) == currentBracketOffset); }