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));
        }
Exemple #6
0
        public static void GotoMatchingBrace(TextEditor textEditor)
        {
            var offset = SimpleBracketMatcher.GetMatchingBracketOffset(textEditor, textEditor.CaretOffset);

            if (offset > 0)
            {
                textEditor.CaretOffset = offset;
            }
        }
Exemple #7
0
        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);
        }