ARCed.Scintilla.Range.StripTrailingSpaces C# (CSharp) Method

StripTrailingSpaces() public method

Removes trailing spaces from each line
public StripTrailingSpaces ( ) : void
return void
        public void StripTrailingSpaces()
        {
            NativeScintilla.BeginUndoAction();

            for (int line = this.startingLine; line < this.endingLine; line++)
            {
                int lineStart = NativeScintilla.PositionFromLine(line);
                int lineEnd = NativeScintilla.GetLineEndPosition(line);
                int i = lineEnd - 1;
                char ch = NativeScintilla.GetCharAt(i);
                while ((i >= lineStart) && ((ch == ' ') || (ch == '\t')))
                {
                    i--;
                    ch = NativeScintilla.GetCharAt(i);
                }
                if (i == lineStart - 1)
                {
                    ch = NativeScintilla.GetCharAt(i + 1);
                    while (i < lineEnd && ch == '\t')
                    {
                        i++;
                        ch = NativeScintilla.GetCharAt(i + 1);
                    }
                }
                if (i < (lineEnd - 1))
                {
                    NativeScintilla.SetTargetStart(i + 1);
                    NativeScintilla.SetTargetEnd(lineEnd);
                    NativeScintilla.ReplaceTarget(0, string.Empty);
                }
            }
            NativeScintilla.EndUndoAction();
        }