Blackening redux (was: Re: Auto-formatting code with black - object now if you have a strong opinion)

Matt Harbison mharbison72 at gmail.com
Wed May 8 23:06:25 EDT 2019


On Wed, 08 May 2019 22:28:10 -0400, Gregory Szorc  
<gregory.szorc at gmail.com> wrote:

> On Wed, May 8, 2019 at 12:42 PM Augie Fackler <raf at durin42.com> wrote:
>
>>
>>
>> > On Dec 6, 2018, at 23:21, Matt Harbison <mharbison72 at gmail.com> wrote:
>> >
>> > On Wed, 05 Dec 2018 08:23:17 -0500, Yuya Nishihara <yuya at tcha.org>
>> wrote:
>> >
>> >> On Tue, 4 Dec 2018 10:06:24 -0500, Augie Fackler wrote:
>> >>>
>> >>> So, options to move forward:
>> >>> 1) blacken everything (controversial for good reasons)
>> >>> 2) try black only on a subset
>> >>> 3) explore yapf
>> >>> 4) Give up and keep manually formatting files (I'd rather not do  
>> this,
>> but I understand if it's where we end up)
>> >>
>> >> My vote: 3 > 4 > 2 > 1
>> >>
>> >> I'm not super enthusiastic about 100%-machine-forced formatting. I  
>> like
>> >> consistency level provided by e.g. astyle command. clang-format is
>> pretty
>> >> good IMHO, but the black seems to sacrifice the code readability.
>> >
>> > +1.
>> >
>> > That said, I got used to longnamesthataresmooshedtogether, so I can
>> probably adjust to anything after awhile.
>>
>> I've gotten frustrated with yapf and explored autopep8 - yapf is
>> frustrating, and autopep8 isn't very good at wrapping lines.  
>> Fortunately,
>> at PyCon I was able to convince ambv that  
>> trailing-comma-implies-multiline
>> was a good feature, and the code for that is under review.
>>
>> https://phab.mercurial-scm.org/D6342 is an updated version of the
>> blackening preview with my black patch applied. I'm very happy with the
>> results (compare with the previous round - in particular imports are
>> cleaner.) It's not 100% what we want, specifically:
>>
>>  * imports of a single name will still get forced down to a single line
>>  * one-tuples will get forced down to a single line, even if they  
>> started
>> on multiple lines
>>
>> Overall I'm much happier with the results now - I can make another  
>> change
>> that blackens more files if people are curious and not opposed to moving
>> forward with black. Once we can reach a consensus on a formatter, we can
>> think about running byteify-strings on everything. Realistically  
>> byteifying
>> strings will require us to be on an auto-formatter because of all the
>> too-long lines it will otherwise create.
>>
>
> I'm pretty happy with the state of D6342.
>
> Out of curiosity, is Black opinionated about single versus double quotes?
> AFAICT it seems to preserve whatever is there? That somewhat surprises  
> me.

https://phab.mercurial-scm.org/D5064 seems to show that it did care.  I've  
gotten into the habit of single quotes, so I'm glad this round didn't  
change them around.


More information about the Mercurial-devel mailing list