The lazy regex approach has failed. Now that a reparse can be forced before indentation, both comma-first and operator-first should use the AST to determine where things should be placed based on precedence / node type.
The parser doesn't preserve the order-of-operations structure spelled out in the spec, but it should provide enough to make the relevant distinctions.
Thus, the rule for commas becomes simply, "line up with the previous sibling comma, or with the last character of the parent node" (roughly).
The lazy regex approach has failed. Now that a reparse can be forced before indentation, both comma-first and operator-first should use the AST to determine where things should be placed based on precedence / node type.
The parser doesn't preserve the order-of-operations structure spelled out in the spec, but it should provide enough to make the relevant distinctions.
Thus, the rule for commas becomes simply, "line up with the previous sibling comma, or with the last character of the parent node" (roughly).
Comments welcome.