Beispiel #1
0
        public void FindIndentPosition3()
        {
            Create("\tfoo");
            var line = _snapshot.GetLineFromLineNumber(0);

            Assert.AreEqual(4, TssUtil.FindIndentPosition(line, 4));
        }
Beispiel #2
0
        public void FindNextOccurranceOfCharOnLine3()
        {
            Create("foo bar jaz");
            var next = TssUtil.FindNextOccurranceOfCharOnLine(_textBuffer.GetLine(0).Start, 'f', 1);

            Assert.IsFalse(next.IsSome());
        }
Beispiel #3
0
        public void FindNextWordStart2()
        {
            Create("foo bar");
            var p = TssUtil.FindNextWordStart(new SnapshotPoint(_snapshot, 0), 1, WordKind.NormalWord);

            Assert.AreEqual(4, p.Position);
        }
Beispiel #4
0
        public void FindPreviousOccuranceOfCharOnLine1()
        {
            Create("foo bar baz");
            var prev = TssUtil.FindPreviousOccurranceOfCharOnLine(_textBuffer.GetPoint(0), 'f', 1);

            Assert.IsFalse(prev.IsSome());
        }
Beispiel #5
0
        public void FindPreviousWordStart2()
        {
            Create("foo bar jazz dog");
            var prev = TssUtil.FindPreviousWordStart(_snapshot.GetLine(0).End, 2, WordKind.NormalWord);

            Assert.AreEqual('j', prev.GetChar());
        }
Beispiel #6
0
        public void FindTillPreviousOccuranceOfCharOnLine2()
        {
            Create("foo", "bar", "baz");
            var prev = TssUtil.FindTillPreviousOccurranceOfCharOnLine(_textBuffer.GetLine(1).End, 'r', 1);

            Assert.IsFalse(prev.IsSome());
        }
Beispiel #7
0
        public void FindNextWordStart7()
        {
            Create("foo bar jazz");
            var next = TssUtil.FindNextWordStart(_snapshot.GetPoint(0), 2, WordKind.NormalWord);

            Assert.AreEqual('j', next.GetChar());
        }
Beispiel #8
0
        public void FindFirstNoneWhiteSpaceCharacter4()
        {
            Create("  bar");
            var point = TssUtil.FindFirstNonWhiteSpaceCharacter(_textBuffer.GetLine(0));

            Assert.AreEqual(_textBuffer.GetLine(0).Start.Add(2), point);
        }
Beispiel #9
0
        public void FindAnyWordSpan3()
        {
            Create("foo bar baz");
            var span = TssUtil.FindAnyWordSpan(_textBuffer.CurrentSnapshot.GetLineFromLineNumber(0).Extent, WordKind.NormalWord, Path.Backward);

            Assert.IsTrue(span.IsSome());
            Assert.AreEqual("baz", span.Value.GetText());
        }
Beispiel #10
0
        public void FindCurrentWordSpan1()
        {
            Create("foo bar");
            var line = _textBuffer.CurrentSnapshot.GetLineFromLineNumber(0);
            var opt  = TssUtil.FindCurrentWordSpan(line.End, WordKind.NormalWord);

            Assert.IsTrue(opt.IsNone());
        }
Beispiel #11
0
        public void GetReverseCharacterSpan3()
        {
            Create("foo");
            var line = _textBuffer.CurrentSnapshot.GetLineFromLineNumber(0);
            var span = TssUtil.GetReverseCharacterSpan(line.Start.Add(2), 200);

            Assert.AreEqual("fo", span.GetText());
        }
Beispiel #12
0
        public void FindPreviousWordSpan6()
        {
            Create("foo bar");
            var line = _snapshot.GetLineFromLineNumber(0);
            var span = TssUtil.FindPreviousWordSpan(line.End, WordKind.NormalWord);

            Assert.AreEqual("bar", span.GetText());
        }
Beispiel #13
0
        public void FindNextWordStart3()
        {
            Create("foo", "bar baz");
            var line = _snapshot.GetLineFromLineNumber(1);
            var p    = TssUtil.FindNextWordStart(line.Start, 1, WordKind.NormalWord);

            Assert.AreNotEqual(line.Start, p);
        }
Beispiel #14
0
        public void FindTillPreviousOccuranceOfCharOnLine3()
        {
            Create("foo", "bar", "baz");
            var prev = TssUtil.FindTillPreviousOccurranceOfCharOnLine(_textBuffer.GetLine(1).End, 'b', 1);

            Assert.IsTrue(prev.IsSome());
            Assert.AreEqual(_textBuffer.GetLine(1).Start.Add(1), prev.Value);
        }
Beispiel #15
0
        public void FindPreviousOccuranceOfCharOnLine3()
        {
            Create("foo bar baz");
            var prev = TssUtil.FindPreviousOccurranceOfCharOnLine(_textBuffer.GetPoint(5), 'o', 2);

            Assert.IsTrue(prev.IsSome());
            Assert.AreEqual(1, prev.Value.Position);
        }
Beispiel #16
0
        public void FindAnyWordSpan2()
        {
            Create("foo bar baz");
            var span = TssUtil.FindAnyWordSpan(new SnapshotSpan(_textBuffer.CurrentSnapshot, 0, 2), WordKind.BigWord, Path.Forward);

            Assert.IsTrue(span.IsSome());
            Assert.AreEqual("fo", span.Value.GetText());
        }
Beispiel #17
0
        public void FindTillNextOccuranceOfCharOnLine2()
        {
            Create("foo bar baz");
            var next = TssUtil.FindTillNextOccurranceOfCharOnLine(_textBuffer.GetPoint(0), 'o', 1);

            Assert.IsTrue(next.IsSome());
            Assert.AreEqual(0, next.Value.Position);
        }
Beispiel #18
0
        public void FindNextOccurranceOfCharOnLine4()
        {
            Create("foo bar jaz");
            var next = TssUtil.FindNextOccurranceOfCharOnLine(_textBuffer.GetLine(0).Start, 'a', 2);

            Assert.IsTrue(next.IsSome());
            Assert.AreEqual(9, next.Value.Position);
        }
Beispiel #19
0
        public void FindNextWordSpan1()
        {
            Create("foo bar");
            var line = _snapshot.GetLineFromLineNumber(0);
            var span = TssUtil.FindNextWordSpan(line.End, WordKind.NormalWord);

            Assert.AreEqual(String.Empty, span.GetText());
            Assert.AreEqual(line.End, span.Start);
        }
Beispiel #20
0
        public void FindPreviousWordSpan7()
        {
            Create("    foo bar");
            var line = _snapshot.GetLineFromLineNumber(0);
            var span = TssUtil.FindPreviousWordSpan(line.Start.Add(2), WordKind.NormalWord);

            Assert.AreEqual(0, span.Length);
            Assert.AreEqual(line.Start, span.Start);
        }
Beispiel #21
0
        public void FindNextWordStart6()
        {
            Create("foo bar");
            var line  = _snapshot.GetLineFromLineNumber(0);
            var point = line.Start.Add(5);
            var other = TssUtil.FindNextWordStart(point, 1, WordKind.NormalWord);

            Assert.AreEqual(line.End, other);
        }
Beispiel #22
0
        public void FindNextWordStart5()
        {
            Create("foo", "bar daz");
            var line  = _snapshot.GetLineFromLineNumber(0);
            var point = TssUtil.FindNextWordStart(line.End, 1, WordKind.NormalWord);
            var other = _snapshot.GetLineFromLineNumber(1);

            Assert.AreEqual(other.Start, point);
        }
Beispiel #23
0
        public void FindAnyWordSpan4()
        {
            Create("foo bar baz");
            var span = TssUtil.FindAnyWordSpan(
                new SnapshotSpan(_textBuffer.CurrentSnapshot, 0, _textBuffer.CurrentSnapshot.GetLineFromLineNumber(0).End.Subtract(1).Position),
                WordKind.NormalWord,
                Path.Backward);

            Assert.IsTrue(span.IsSome());
            Assert.AreEqual("ba", span.Value.GetText());
        }
Beispiel #24
0
        public void FindPreviousWordSpan4()
        {
            Create("foo bar");
            var line  = _snapshot.GetLineFromLineNumber(0);
            var point = line.Start + 4;

            Assert.AreEqual('b', point.GetChar());
            var span = TssUtil.FindPreviousWordSpan(point, WordKind.NormalWord);

            Assert.AreEqual("foo", span.GetText());
        }
Beispiel #25
0
        public void FindNextWordStart4()
        {
            Create("foo", "bar caz dang");
            var line = _snapshot.GetLineFromLineNumber(1);
            var p    = line.Start + 4;

            Assert.AreEqual('c', p.GetChar());
            var p2 = TssUtil.FindNextWordStart(line.Start + 4, 1, WordKind.NormalWord);

            Assert.AreNotEqual(p2, p);
            Assert.AreEqual(p + 4, p2);
        }
Beispiel #26
0
        /// <summary>
        /// The C++ project system requires that the target of GoToDefinition be passed
        /// as an argument to the command.
        /// </summary>
        private bool GoToDefinitionCPlusPlus(ITextView textView, string target)
        {
            if (target == null)
            {
                var caretPoint = textView.Caret.Position.BufferPosition;
                var span       = TssUtil.FindCurrentFullWordSpan(caretPoint, WordKind.NormalWord);
                target = span.IsSome()
                    ? span.Value.GetText()
                    : null;
            }

            if (target != null)
            {
                return(SafeExecuteCommand(CommandNameGoToDefinition, target));
            }

            return(SafeExecuteCommand(CommandNameGoToDefinition));
        }
Beispiel #27
0
        internal static ITextStructureNavigator CreateTextStructureNavigator(ITextBuffer textBuffer, WordKind kind)
        {
            var navigator = CreateTextStructureNavigator(textBuffer);

            return(TssUtil.CreateTextStructureNavigator(kind, navigator));
        }