Rob Rix
|
46b43c63e9
|
This is Text, now.
|
2016-05-30 12:40:41 -04:00 |
|
Rob Rix
|
7fe5be7fe2
|
Verbatim wraps Text.
|
2016-05-30 12:39:43 -04:00 |
|
Rob Rix
|
7a52507e94
|
Derive an Eq instance for Verbatim.
|
2016-05-30 12:39:39 -04:00 |
|
Rob Rix
|
3774bfb816
|
We treat this argument as a FilePath.
|
2016-05-30 12:38:21 -04:00 |
|
Rob Rix
|
d584832b6b
|
We treat this argument as a FilePath.
|
2016-05-30 12:37:45 -04:00 |
|
Rob Rix
|
93b36a852f
|
Add a Show instance for Verbatim which emits the unquoted string.
|
2016-05-30 12:37:05 -04:00 |
|
Rob Rix
|
58883000b1
|
Add a Verbatim newtype wrapping a String.
|
2016-05-30 12:36:52 -04:00 |
|
Rob Rix
|
160417d5a6
|
Move nested-insert out of the todos list.
|
2016-05-30 10:20:43 -04:00 |
|
Rob Rix
|
06c7437e66
|
Move insert out of the todos list.
|
2016-05-30 10:20:31 -04:00 |
|
Rob Rix
|
f77d8e023c
|
Do the mapping all in one go.
|
2016-05-27 15:43:45 -04:00 |
|
Rob Rix
|
8ea9b44aef
|
Traverse instead of sequenceA/fmap.
|
2016-05-27 15:43:14 -04:00 |
|
Rob Rix
|
a48404b53a
|
Don’t use unionThese in the spec.
|
2016-05-27 15:42:36 -04:00 |
|
Rob Rix
|
0cbc8e514f
|
Correct the fixtures for a couple of cases.
|
2016-05-27 15:30:39 -04:00 |
|
Rob Rix
|
ecb37f8f00
|
Correct the commented-out PrettyDiff full output thing.
|
2016-05-27 15:30:27 -04:00 |
|
Rob Rix
|
962b637d24
|
Update the asymmetrical-context fixture.
|
2016-05-27 15:16:50 -04:00 |
|
Rob Rix
|
1e6af52d35
|
Update the multiline-insert fixture.
|
2016-05-27 15:16:44 -04:00 |
|
Rob Rix
|
3351d2a2e3
|
Move the multiline-insert fixture into the done folder.
|
2016-05-27 15:16:22 -04:00 |
|
Rob Rix
|
ee9dd67bdf
|
Move the asymmetrical-context test into the done dir.
|
2016-05-27 15:16:12 -04:00 |
|
Rob Rix
|
1153970864
|
Rebuild the other JSON fixtures now that we preserve ordering again.
|
2016-05-27 15:11:37 -04:00 |
|
Rob Rix
|
cdaa21d7d9
|
Move the newline-at-eof test into the functioning set.
|
2016-05-27 15:11:18 -04:00 |
|
Rob Rix
|
610d6e05da
|
🔥 some redundant imports.
|
2016-05-27 15:10:54 -04:00 |
|
Rob Rix
|
f60faefee5
|
🔥 a redundant import of Identity.
|
2016-05-27 14:05:29 -04:00 |
|
Rob Rix
|
14e9a3372f
|
alignBranch takes a list of lines, not of aligned children.
|
2016-05-27 13:58:50 -04:00 |
|
Rob Rix
|
ebefc1c124
|
🔥 a redundant import.
|
2016-05-27 09:36:36 -04:00 |
|
Rob Rix
|
de6d7edec2
|
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
# semantic-diff.cabal
# src/Alignment.hs
# src/Control/Comonad/Cofree.hs
# src/Data/Adjoined.hs
# src/Diffing.hs
# src/Interpreter.hs
# src/Prologue.hs
# src/Renderer/JSON.hs
# src/Renderer/Patch.hs
# src/Renderer/Split.hs
# src/SplitDiff.hs
# src/Term.hs
# test/AlignmentSpec.hs
# test/ArbitraryTerm.hs
# test/PatchOutputSpec.hs
|
2016-05-27 09:35:26 -04:00 |
|
Rob Rix
|
cfe15a5afa
|
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
# src/Alignment.hs
# src/Control/Comonad/Cofree.hs
# src/Data/Adjoined.hs
# src/Data/Align.hs
# src/Data/Bifunctor/These.hs
# src/Data/Coalescent.hs
# src/Data/Copointed.hs
# src/Data/Functor/Both.hs
# src/Data/Option.hs
# src/Line.hs
# src/Patch.hs
# src/Range.hs
# src/Renderer/JSON.hs
# src/Renderer/Patch.hs
# src/Renderer/Split.hs
# src/SplitDiff.hs
# stack.yaml
# test/AlignmentSpec.hs
# test/CorpusSpec.hs
# test/Data/Adjoined/Spec.hs
# test/Data/Functor/Both/Spec.hs
|
2016-05-26 15:25:45 -04:00 |
|
joshvera
|
ebd5d20171
|
Remove duplicate imports
|
2016-05-26 14:04:27 -04:00 |
|
joshvera
|
473ec980b1
|
Merge remote-tracking branch 'origin/master' into diff-summaries
|
2016-05-26 13:40:54 -04:00 |
|
joshvera
|
85553f281c
|
Remove duplicate Prologue import
|
2016-05-26 13:13:30 -04:00 |
|
joshvera
|
ed144bbb1f
|
Fix tests
|
2016-05-26 13:11:34 -04:00 |
|
joshvera
|
8180b37285
|
Use Protolude via the Prologue module and add NoImplicitPrelude
|
2016-05-26 12:58:04 -04:00 |
|
Rob Rix
|
8313074e50
|
Test that we preserve child lines in the output.
|
2016-05-26 11:39:24 -04:00 |
|
Rob Rix
|
7854e32c51
|
Unique the keys on both sides.
This avoids false negatives in the tests where, if we generate two
children with the same key, we appear to drop one of the keys.
|
2016-05-26 10:16:26 -04:00 |
|
Rob Rix
|
5933a0809d
|
Move branchElementContents into toAlignBranchInputs.
|
2016-05-26 09:37:06 -04:00 |
|
Rob Rix
|
f48e5c37bc
|
Move alignBranchElement into toAlignBranchInputs.
|
2016-05-26 09:36:44 -04:00 |
|
Rob Rix
|
6ef8758d7e
|
Add a test case for symmetrical reformatted nodes and context following them.
|
2016-05-26 09:31:25 -04:00 |
|
Rob Rix
|
3820ab3e66
|
Filter out bogus empty ranges.
|
2016-05-25 17:10:38 -04:00 |
|
Rob Rix
|
0025b044f7
|
Increment the ranges for successive lines.
|
2016-05-25 17:10:30 -04:00 |
|
Rob Rix
|
b0d154271c
|
Take the actual lines on both sides.
We were getting the wrong ranges.
|
2016-05-25 17:10:14 -04:00 |
|
Rob Rix
|
5fad7be0f5
|
🔥 the unused Arbitrary instance over PrettyDiff.
|
2016-05-25 14:31:47 -04:00 |
|
Rob Rix
|
04e36c4dcb
|
🔥 alignmentFromBranchElements.
|
2016-05-25 14:14:38 -04:00 |
|
Rob Rix
|
2ea50d9387
|
Roll toSourcesAndRanges into toAlignedChildren.
|
2016-05-25 14:13:27 -04:00 |
|
Rob Rix
|
b4d0749d52
|
🔥 the top-level bothContents binding.
|
2016-05-25 13:32:33 -04:00 |
|
Rob Rix
|
eb15740170
|
Roll toSources into toSourcesAndRanges.
|
2016-05-25 11:18:49 -04:00 |
|
Rob Rix
|
e5a2c384fc
|
Test that alignBranch covers every line of the input ranges.
|
2016-05-25 11:13:34 -04:00 |
|
Rob Rix
|
6caf9d3930
|
Extract alignment from the property test.
|
2016-05-25 10:59:16 -04:00 |
|
Rob Rix
|
5c1b0809ec
|
Shrink BranchElement by crosswalking.
|
2016-05-25 10:54:41 -04:00 |
|
Rob Rix
|
5237c7ccc5
|
Revert "Add a BranchAlignment type."
This reverts commit c85b9fcca08b147c8f2c7bae573f7b30c08f14f4.
|
2016-05-25 10:43:24 -04:00 |
|
Rob Rix
|
3663cc612b
|
Revert "Add an Arbitrary instance over BranchAlignment."
This reverts commit 17e215b1aec6fdb80212133fe362a9c5120e0b8f.
|
2016-05-25 10:43:20 -04:00 |
|
Rob Rix
|
e524b4e0fe
|
Revert "Add a Show instance over BranchAlignment."
This reverts commit afd605d4e80d759c8d75b3d912e2e5f36bcc217c.
|
2016-05-25 10:43:15 -04:00 |
|
Rob Rix
|
d42c071a08
|
Add a Show instance over BranchAlignment.
|
2016-05-25 10:42:44 -04:00 |
|
Rob Rix
|
366dba33b3
|
Add an Arbitrary instance over BranchAlignment.
|
2016-05-25 10:42:35 -04:00 |
|
Rob Rix
|
03ec660dbc
|
Add a BranchAlignment type.
|
2016-05-25 10:41:17 -04:00 |
|
Rob Rix
|
13aaee7526
|
Correct branch element alignment to use crosswalk .
|
2016-05-25 10:34:22 -04:00 |
|
Rob Rix
|
dbd1030a34
|
Derive the Show instance for BranchElement.
|
2016-05-25 10:26:44 -04:00 |
|
Rob Rix
|
1f0d0eb714
|
Test that alignBranch covers every child in the input.
|
2016-05-25 09:54:42 -04:00 |
|
Rob Rix
|
c1198065e2
|
Correct the assignment of ranges to lines.
|
2016-05-25 09:54:21 -04:00 |
|
Rob Rix
|
6fb9383fb1
|
Rewrite keysOfAlignedChildren in tacit style in hopes of finding an infinite loop.
|
2016-05-24 16:21:12 -04:00 |
|
Rob Rix
|
79ef67e6e3
|
Find the keys of aligned children.
|
2016-05-24 13:36:12 -04:00 |
|
Rob Rix
|
10a689090b
|
Implement a function to find the key in branch elements that have any.
|
2016-05-24 13:36:04 -04:00 |
|
Rob Rix
|
a594f54279
|
Implement construction of arbitrary PrettyDiffs.
|
2016-05-24 13:04:28 -04:00 |
|
Rob Rix
|
e0e7f0fa4a
|
Add a toPrettyDiff function to abstract the construction of pretty diffs away.
|
2016-05-24 13:04:10 -04:00 |
|
Rob Rix
|
24a732322c
|
Forgot to commit the import of Control.Monad.State.
|
2016-05-24 12:00:03 -04:00 |
|
joshvera
|
72dea795d2
|
Remove literal string from tests
|
2016-05-23 13:57:04 -04:00 |
|
Rob Rix
|
f3f7b5e6b9
|
Aligned children contain ranges.
|
2016-05-21 00:08:01 -04:00 |
|
Rob Rix
|
f720901dbc
|
Compute the aligned children from a list of branch elements.
|
2016-05-20 23:51:24 -04:00 |
|
Rob Rix
|
e4dd1e7cd8
|
Compute the sources and ranges in a single step.
|
2016-05-20 23:49:17 -04:00 |
|
Rob Rix
|
bdb02a4bf4
|
Compute the ranges for a list of elements.
|
2016-05-20 23:46:14 -04:00 |
|
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
|
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 |
|