Example #1
0
        private static bool ContainsOnlyWhitespace(IBraceCompletionSession session)
        {
            var text = session.Text;
            var span = session.GetSessionSpan();

            var start = span.Start;

            start = text[start] == session.OpeningBrace ? start + 1 : start;

            var end = span.End - 1;

            end = text[end] == session.ClosingBrace ? end - 1 : end;

            if (start > text.Length ||
                end < 0 ||
                end > text.Length)
            {
                return(false);
            }

            for (int i = start; i <= end; i++)
            {
                if (!char.IsWhiteSpace(text[i]))
                {
                    return(false);
                }
            }

            return(true);
        }
Example #2
0
        private static bool ContainsOnlyWhitespace(IBraceCompletionSession session)
        {
            var span = session.GetSessionSpan();

            var snapshot = span.Snapshot;

            var start = span.Start.Position;

            start = snapshot[start] == session.OpeningBrace ? start + 1 : start;

            var end = span.End.Position - 1;

            end = snapshot[end] == session.ClosingBrace ? end - 1 : end;

            if (!start.PositionInSnapshot(snapshot) ||
                !end.PositionInSnapshot(snapshot))
            {
                return(false);
            }

            for (var i = start; i <= end; i++)
            {
                if (!char.IsWhiteSpace(snapshot[i]))
                {
                    return(false);
                }
            }

            return(true);
        }
        private static bool ContainsOnlyWhitespace(IBraceCompletionSession session)
        {
            var span = session.GetSessionSpan();

            var snapshot = span.Snapshot;

            var start = span.Start.Position;
            start = snapshot[start] == session.OpeningBrace ? start + 1 : start;

            var end = span.End.Position - 1;
            end = snapshot[end] == session.ClosingBrace ? end - 1 : end;

            if (!start.PositionInSnapshot(snapshot) ||
                !end.PositionInSnapshot(snapshot))
            {
                return false;
            }

            for (int i = start; i <= end; i++)
            {
                if (!char.IsWhiteSpace(snapshot[i]))
                {
                    return false;
                }
            }

            return true;
        }
Example #4
0
        private void Format(IBraceCompletionSession session)
        {
            SnapshotSpan sessionSpan = session.GetSessionSpan();

            if (!base.LanguageInfo.TryFormat(sessionSpan))
            {
                string            str;
                ITextSnapshotLine containingLine = sessionSpan.End.GetContainingLine();
                if (base.LanguageInfo.TryGetLineIndentation(containingLine, session.TextView.Options, out str))
                {
                    using (ITextEdit edit = session.SubjectBuffer.CreateEdit())
                    {
                        edit.Replace(Span.FromBounds((int)containingLine.Start, sessionSpan.End.Position - 1), str);
                        edit.Apply();
                    }
                }
            }
        }
Example #5
0
        // Methods
        public static bool ContainsOnlyWhitespace(this IBraceCompletionSession session)
        {
            SnapshotSpan  sessionSpan = session.GetSessionSpan();
            ITextSnapshot snapshot    = sessionSpan.Snapshot;
            int           position    = sessionSpan.Start.Position;

            position = (snapshot[position] == session.OpeningBrace) ? (position + 1) : position;
            int num2 = sessionSpan.End.Position - 1;

            num2 = (snapshot[num2] == session.ClosingBrace) ? (num2 - 1) : num2;
            if (!position.PositionInSnapshot(snapshot) || !num2.PositionInSnapshot(snapshot))
            {
                return(false);
            }
            for (int i = position; i <= num2; i++)
            {
                if (!char.IsWhiteSpace(snapshot[i]))
                {
                    return(false);
                }
            }
            return(true);
        }
Example #6
0
 public override void Start(IBraceCompletionSession session)
 {
     base.LanguageInfo.TryFormat(session.GetSessionSpan());
 }