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); }
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; }
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(); } } } }
// 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); }
public override void Start(IBraceCompletionSession session) { base.LanguageInfo.TryFormat(session.GetSessionSpan()); }