dedent is not working properly with tab indent (original) (raw)

utils.formatting.dedent is not working properly with tab indent. whitespace_counts contains number of spaces from the beginning of each line (see formatting.py#L35), if string doesn't contain spaces then it is equal to [0,0,0,...,0] which is always true (see formatting.py#L45), hence it will never go to tab stripping.

Steps to reproduce

dedent("first string\n\n\tsecond string")

Expected behavior

"first string\n\nsecond string"

Actual behavior

"first string\n\n\tsecond string"