1
1
mirror of https://github.com/github/semantic.git synced 2024-11-24 17:04:47 +03:00
Commit Graph

6351 Commits

Author SHA1 Message Date
Rob Rix
db6f2b6430 Arbitrary BranchElements’ contents contain their key, not a fresh key. 2016-05-20 23:19:44 -04:00
Rob Rix
96f94c9bdb Shrink Child contents respecting their prefixes/suffixes. 2016-05-20 23:13:36 -04:00
Rob Rix
ff3691eac4 🔥 showThese. 2016-05-20 23:13:17 -04:00
Rob Rix
9acdb24243 🔥 toSource. 2016-05-20 22:42:46 -04:00
Rob Rix
5d9de67ecc Use the Applicative instance to generate BranchElements. 2016-05-20 22:41:48 -04:00
Rob Rix
ea79ce4f04 Rewrite BranchElement/Source computations correctly. 2016-05-20 22:41:38 -04:00
Rob Rix
e086107bf9 Add a Monoid instance over Source. 2016-05-20 22:38:55 -04:00
Rob Rix
61c2bf0ccc Simplify the Show instance for BranchElement. 2016-05-20 22:33:06 -04:00
Rob Rix
111b12846a Arbitrary BranchElements have their contents set appropriately up front. 2016-05-20 22:32:00 -04:00
Rob Rix
bfcd3193da Add a convenience to extract the contents from a branch element. 2016-05-20 22:25:41 -04:00
Rob Rix
26d31fa12a Remove the comments describing the contents of Margin & Child since we no longer guarantee them. 2016-05-20 22:19:35 -04:00
Rob Rix
24af4c4af5 Add a function to align branch elements into their lines. 2016-05-20 22:17:39 -04:00
Rob Rix
30bfae37aa Child, not Child'. 2016-05-20 22:13:36 -04:00
Rob Rix
e1110869e3 🔥 Child. 2016-05-20 22:11:48 -04:00
Rob Rix
2eba6e726e toSource(s)/toChildLists operate over BranchElements. 2016-05-20 22:11:22 -04:00
Rob Rix
ed00a34bee Shrink BranchElements. 2016-05-20 22:08:22 -04:00
Rob Rix
c7ed296e8b Don’t re-quote the contents of branch elements. 2016-05-20 22:04:09 -04:00
Rob Rix
f830256a5c Pretty-print Margin elements. 2016-05-20 22:03:39 -04:00
Rob Rix
f09f9cf3a2 Extract showThese to the top. 2016-05-20 22:03:13 -04:00
Rob Rix
097220a454 Pretty-print Child elements differently. 2016-05-20 22:02:29 -04:00
Rob Rix
919f32a650 Spike out an Arbitrary instance for BranchElement. 2016-05-20 21:59:46 -04:00
Rob Rix
419bcfe776 Add a Show instance over BranchElement. 2016-05-20 21:54:33 -04:00
Rob Rix
3aaa9f79ca Stub in a type representing the elements of branches. 2016-05-20 21:50:52 -04:00
Rob Rix
6eabdd06eb Compute a pair of Sources from a list of child lines. 2016-05-20 21:50:41 -04:00
Rob Rix
048c9d34c2 Add a function to compute lists of children. 2016-05-20 21:50:08 -04:00
Rob Rix
2541405fdc Compute a Source from a list of children. 2016-05-20 21:49:29 -04:00
Rob Rix
aff7fbbc47 Ensure that we do not shrink when both childContents and childMargin are empty. 2016-05-20 16:40:25 -04:00
Rob Rix
0e86c8149a Ensure that we can shrink when either childContents or childMargin is empty. 2016-05-20 16:39:58 -04:00
Rob Rix
21fac60bf1 Shrink contents and margins string-wise but not character-wise.
🎩 @rewinfrey
2016-05-20 16:32:28 -04:00
Rob Rix
bd286bfbce Implement shrink over Child. 2016-05-20 16:29:09 -04:00
Rob Rix
97f6183a55 Destructure the child using RecordWildcards. 2016-05-20 16:13:15 -04:00
Rob Rix
2b65c06ffc Add a Show instance for Child.
🎩 @rewinfrey
2016-05-20 16:07:13 -04:00
Rob Rix
1ae30309b4 Newlines are less common than other padding characters. 2016-05-20 16:06:49 -04:00
Rob Rix
f8e007bb46 Children contain asterisks and newlines. 2016-05-20 15:50:31 -04:00
Rob Rix
b0c0f13b61 Children have a string of contents. 2016-05-20 15:50:15 -04:00
Rob Rix
765ac74532 Generate arbitrary margins of spaces and newlines. 2016-05-20 15:44:47 -04:00
Rob Rix
5efb5d8987 Write the childMargin type as String to silence hlint. 2016-05-20 15:44:24 -04:00
Rob Rix
391b1da75e Arbitrary child keys are alphanumeric. 2016-05-20 15:41:20 -04:00
Rob Rix
f2835ac7a6 Child keys are strings. 2016-05-20 15:40:40 -04:00
Rob Rix
13a90624de Stub in a quick Arbitrary instance for Child. 2016-05-20 15:34:20 -04:00
Rob Rix
72455cdecd Add a datatype to represent children for alignBranch property tests. 2016-05-20 15:34:11 -04:00
Rob Rix
5355143395 Add some pending properties. 2016-05-20 13:05:38 -04:00
Rob Rix
018f289fb5 Abstract PrettyDiff over a type parameter. 2016-05-20 12:39:56 -04:00
Rob Rix
a2952307f6 Produce a single element with the rest of the lines in a split-up child. 2016-05-20 11:09:15 -04:00
Rob Rix
d99e4ab39b When we only have ranges on one side, default the other to assume intersecting. 2016-05-19 16:51:33 -04:00
Rob Rix
cb2ffd188c Add a test case of ungreedy asymmetrical node alignment. 2016-05-19 16:16:35 -04:00
Rob Rix
f1d9cc3f2f Skip past nonintersecting children.
This resolves failures in two distinct cases where changing the default
for handling asymmetrical ranges had opposite outcomes.
2016-05-19 16:16:15 -04:00
Rob Rix
2fa8060a1c Revert "Default the intersection assumption to True."
This reverts commit 9bf8bb93f3ddf06027e9aafd7b7062b398c5409f.
2016-05-19 16:13:43 -04:00
Rob Rix
16b1d5b4f3 Handle the empty child case with otherwise. 2016-05-19 16:12:51 -04:00
Rob Rix
0fd78af15e 🔥 the properties, since we’ve captured them. 2016-05-19 15:12:24 -04:00