tree ccec56b2f259b505803b86d995ffe6f18d59afaf
parent 6f894c0ca33686122be9085f06e5b9bf6ad55262
author Bob Nystrom <rnystrom@google.com> 1645654742 -0800
committer GitHub <noreply@github.com> 1645654742 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJiFrLWCRBK7hj4Ov3rIwAAs14IAAnPxr6SmkGQ1P+IXzr91Q3d
 jmvc/ezhl6s/4IQMZ5yCkD1Hf8eA2OULgRxSC4/9Vyw5zs70bKdjhZgVpVg9B83O
 TAJAbuENZqGQPnwy/sgSHHxjSKqdgPwoLZQUSyU1l2OSJCMRTLAP+JNGvMRXXspA
 WbiXWD3pHD2L1YD34VA8YedZqBgFcpC9epA1q8zGZN52H+V54J1FX8qNAp6cqIfR
 RHveX6IbDbyqmIVvTKHDYsA7aX4jibzBTPq7aDHxrqMxF7bSuF9OfGHktyx5tNCA
 SbyhAeQI9rfmk8UrXGtGZvyW/EnpGb8o+6A5T+QcAygRa/n5tc/ZN+J/PMqXY4o=
 =5cJt
 -----END PGP SIGNATURE-----
 

Formatting support for named arguments anywhere. (#1094)

* Formatting support for named arguments anywhere.

I opted to add support for this while being minimally invasive to the
existing style and formatting. All existing code which does not have any
positional arguments after named ones retains its previous formatting.

For new argument lists that use positional arguments after named ones,
I try to mostly follow the existing style rules even though they can be
fairly complex. In particular, it will be pretty aggressive about
applying block-style formatting to function literals inside argument
lists even with named args anywhere. I think that's important to support
the main use case I know of for the feature which is trailing positional
closures like:

function(named: 1, another: 2, () {
  block...
});

In argument lists using named args anywhere that don't have block
functions, it treats all arguments like named ones. That provides nice
simple formatting like:

function(
    argument1,
    named: argument2,
    argument3,
    another: argument4);

I think that does a good job of highlighting which arguments are named,
which is what we want.

Fix #1072.

* Rewrite doc comments.