Consolidate record expression layouter #184
No reviewers
Labels
No Label
blocked: dependency
blocked: info-needed
bug
duplicate
enhancement
fixed in HEAD
help wanted
hs:arrows
hs:brackets
hs:classes
hs:comments
hs:do-notation
hs:guards
hs:lists
hs:operators
hs:patterns
hs:records
hs:types
invalid
language extension support
layouting
needs confirmation
priority: high
priority: low
question
revisit before next release
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: hexagoxel/brittany#184
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "consolidate-record-expression-layouter"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Both record construction and update layouting have very similar
constructions. These each had their own layouter with slightly different
variations. Variations here lead to subtly different bugs in layout for
nearly identical syntactic forms.
The record update logic is more advanced and respects
IndentPolicyLeft
.Instead of keeping these layouters distinct we can consolidate
construction logic into the update logic. This results in a smaller
volume of code and more uniform layouting of syntax for these similar
forms.
Record constructors with fields and wildcards are not included in this
consolidation. A
TODO
has been left to handle this consolidation later.This fixes https://github.com/lspitzner/brittany/issues/176
thanks!