コード例 #1
0
        internal static void CheckTab(IBraceCompletionSession session, bool allowTab = true)
        {
            session.PreTab(out var handled);
            if (!handled)
            {
                session.PostTab();
            }

            var caret = session.TextView.GetCaretPoint(session.SubjectBuffer).Value;

            if (allowTab)
            {
                Assert.Equal(
                    session.ClosingPoint.GetPosition(session.SubjectBuffer.CurrentSnapshot),
                    caret.Position
                    );
            }
            else
            {
                Assert.True(
                    caret.Position
                    < session.ClosingPoint.GetPosition(session.SubjectBuffer.CurrentSnapshot)
                    );
            }
        }
コード例 #2
0
        public void PostTab()
        {
            if (_postSession != null)
            {
                _guardedOperations.CallExtensionPoint(() => {
                    _postSession.PostTab();
                });

                _postSession = null;
            }
        }
コード例 #3
0
        internal void CheckTab(IBraceCompletionSession session, bool allowTab = true)
        {
            session.PreTab(out var handled);
            if (!handled)
            {
                session.PostTab();
            }

            var caret = session.TextView.GetCaretPoint(session.SubjectBuffer).Value;
            if (allowTab)
            {
                Assert.Equal(session.ClosingPoint.GetPosition(session.SubjectBuffer.CurrentSnapshot), caret.Position);
            }
            else
            {
                Assert.True(caret.Position < session.ClosingPoint.GetPosition(session.SubjectBuffer.CurrentSnapshot));
            }
        }