Ejemplo n.º 1
0
        private void SetCaretPosition(IBraceCompletionSession session)
        {
            int               num;
            ITextSnapshot     currentSnapshot    = session.SubjectBuffer.CurrentSnapshot;
            ITextSnapshotLine containingLine     = session.OpeningPoint.GetPoint(currentSnapshot).GetContainingLine();
            ITextSnapshotLine lineFromLineNumber = currentSnapshot.GetLineFromLineNumber(containingLine.LineNumber + 1);

            if (!base.LanguageInfo.TryGetLineIndentation(lineFromLineNumber, out num))
            {
                session.MoveCaretTo(lineFromLineNumber.End, 0);
            }
            else
            {
                session.MoveCaretTo(lineFromLineNumber.End, Math.Max(0, num - lineFromLineNumber.Length));
            }
        }