- # track the most recent whitespace we've seen
- # TODO(fungi) exclude non-breaking spaces (\x0a)
- elif unicodedata.category(each_character) in ("Cc", "Zs"):
- if each_character == "\n":
- # the current character is a newline, so reset the relative
- # position too (start a new line)
- rel_pos = 0
- if each_character != "\r":
- # the current character is not a carriage return, so mark it as
- # whitespace (we don't want to break and wrap between CR+LF)
- last_abs_whitespace = abs_pos
- last_rel_whitespace = rel_pos
+ # the current character is a space
+ elif each_character == " ":
+ last_abs_whitespace = abs_pos
+ last_rel_whitespace = rel_pos
+
+ # the current character is a newline, so reset the relative
+ # position too (start a new line)
+ elif each_character == "\n":
+ rel_pos = 0
+ last_abs_whitespace = abs_pos
+ last_rel_whitespace = rel_pos