added detectindent, endwise, sensible, and surround