Preserve additional alignment spaces

Additional spaces for alignment can make code easier to read:

firstName    /\ setFirstName    <- useState p.firstName        
lastName     /\ setLastName     <- useState p.lastName        
street       /\ setStreet       <- useState a.street        
city         /\ setCity         <- useState a.city        
state        /\ setState        <- useState a.state        
phoneNumbers /\ setPhoneNumbers <- useState p.phones

But Purty squashes multiple spaces together:

firstName /\ setFirstName <- useState p.firstName
lastName /\ setLastName <- useState p.lastName
street /\ setStreet <- useState a.street
city /\ setCity <- useState a.city
state /\ setState <- useState a.state
phoneNumbers /\ setPhoneNumbers <- useState p.phones

Is it feasible to preserve these alignment spaces?

Would this type of formatting rule work?:

  • If a line is not split or joined with other lines, then don't squash 2+ spaces together, unless adjusting indentation or trimming trailing spaces.

For reference vim-easy-align is what I'm using to improve code readability, but it's unfortunately incompatible with Purty's current formatting rules.

This issue's theme is loosely related to #135 in asking for more whitespace flexibility.