Python: черный не переносит длинные строки
Я использую black==20.8b1
.
У меня длинная строка вроде:
return f"{self.name}, a {adjective.to_name()} {kin_string}{self._type.to_name()} who works for the {target.get_relationship_target_string()}."
Я бегу:
$ black -l 80 . -t py38
All done! ✨ ✨
2 files left unchanged.
Почему строка не оборачивается? я думал такblack
теперь поддерживает упаковку строк (на основе проблем в github).
3 ответа
В настоящее время мы должны добавить
--experimental-string-processing
тег к нему. Думаю, в будущих версиях это будет по умолчанию.
black -l 80 --experimental-string-processing file.py
В настоящее время Black не оборачивает длинные строки или длинные комментарии. Вы можете увидеть открытую проблему в их проекте GitHub:
В настоящее время черный не переносит длинные строковые литералы и не объединяет строковые литералы, которые оказались в одной строке. [...] Это потребует изменения AST, что не на 100% безопасно и имеет кучу крайних случаев, с которыми нужно иметь дело.