/// <summary> /// Returns the last non-whitespace position on the given line, or null if /// the line is empty or contains only whitespace. /// </summary> public static int?GetLastNonWhitespacePosition(this ITextSnapshotLine line) { var startPosition = line.Start; var text = line.ToString(); for (var i = text.Length - 1; i >= 0; i--) { if (!char.IsWhiteSpace(text[i])) { return(startPosition + i); } } return(null); }