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
|
cb2ffd188c
|
Add a test case of ungreedy asymmetrical node alignment.
|
2016-05-19 16:16:35 -04:00 |
|
Rob Rix
|
2df52eec1d
|
Ditto for the json output.
|
2016-05-19 14:04:16 -04:00 |
|
Rob Rix
|
172a0aaa47
|
We no longer extend an expression statement over the end of the line, apparently.
|
2016-05-19 14:00:22 -04:00 |
|
Rob Rix
|
1d2ec4c5f0
|
The expected alignment of this case has changed.
|
2016-05-19 13:54:29 -04:00 |
|
Rob Rix
|
20627f764f
|
Test alignBranch instead of alignChildrenInRanges.
|
2016-05-19 13:40:10 -04:00 |
|
Rob Rix
|
ac17a13167
|
Test that context-only lines are paired up before the asymmetrical halves of split-up symmetrical children.
|
2016-05-19 12:52:51 -04:00 |
|
Rob Rix
|
d25f7ddc7f
|
Test that we align deletions on a line before insertions.
|
2016-05-19 12:22:48 -04:00 |
|
Rob Rix
|
1979f4e32f
|
Make it convenient to show the raw structures for strange failure cases.
|
2016-05-19 12:22:33 -04:00 |
|
Rob Rix
|
80f58f01e3
|
Do some gymnastics to allow our DSL to construct terms/diffs uniformly.
|
2016-05-19 12:12:11 -04:00 |
|
Rob Rix
|
198304d45d
|
Use the insert/delete constructors in the test fixtures.
|
2016-05-19 11:10:48 -04:00 |
|
Rob Rix
|
7bc9a358a5
|
Add PatchConstructible instances to Patch/SplitPatch.
|
2016-05-19 11:04:19 -04:00 |
|
Rob Rix
|
04ef584b6c
|
Add a typeclass to make patches/split patches.
|
2016-05-19 11:03:45 -04:00 |
|
Rob Rix
|
3e63b464f7
|
Test that symmetrical nodes are split if forced by earlier symmetrical nodes.
|
2016-05-19 09:01:15 -04:00 |
|
Rob Rix
|
c50493175b
|
Remove the redundant tests of asymmetrical nodes preceding/following symmetrical ones.
|
2016-05-19 00:21:41 -04:00 |
|
Rob Rix
|
24f98f7db9
|
Test that symmetrical nodes force alignment on both sides.
|
2016-05-19 00:19:08 -04:00 |
|
Rob Rix
|
17403fc2b2
|
Fix up the test of symmetrical nodes and following asymmetrical ones.
|
2016-05-19 00:18:49 -04:00 |
|
Rob Rix
|
b86ce458b0
|
Test that symmetrical nodes force alignment of later asymmetrical nodes on the same line.
|
2016-05-19 00:15:03 -04:00 |
|
Rob Rix
|
7d591e737f
|
Test that symmetrical nodes force alignment of earlier asymmetrical nodes on the same line.
|
2016-05-19 00:13:49 -04:00 |
|
Rob Rix
|
5c2d9b6b01
|
Change a test name.
|
2016-05-19 00:13:26 -04:00 |
|
Rob Rix
|
dc8d0d4fdf
|
Add punctuation characters to a test case to clarify the failure.
|
2016-05-18 17:22:16 -04:00 |
|
joshvera
|
68948287f8
|
Add a summary renderer
|
2016-05-18 12:01:16 -04:00 |
|
joshvera
|
aade9415aa
|
Add replacement summaries
|
2016-05-18 10:24:08 -04:00 |
|
joshvera
|
ab3b8faf32
|
hey look it works
|
2016-05-18 10:18:26 -04:00 |
|
joshvera
|
5a8aed6e51
|
map infos to DifInfos in diffSummary'
|
2016-05-17 17:34:27 -04:00 |
|
joshvera
|
68f5b0f669
|
Remove description from diff summary
|
2016-05-17 15:59:07 -04:00 |
|
Rob Rix
|
7cfdeff5e5
|
Intersections with empty children have the same shape as the ranges.
|
2016-05-17 15:04:09 -04:00 |
|
joshvera
|
4d6427a24e
|
Stub some tests
|
2016-05-17 13:09:14 -04:00 |
|
joshvera
|
927acafcbd
|
add DiffSummarySpec
|
2016-05-16 14:45:33 -04:00 |
|
Rob Rix
|
e40434f476
|
Test that we align insertions into empty branches without losing nodes.
|
2016-05-16 12:37:13 -04:00 |
|
Rob Rix
|
6f819341ab
|
Test that we align insertions which span the entirety of the thing.
|
2016-05-16 10:54:56 -04:00 |
|
Rob Rix
|
8f05beb023
|
Spacing for alignment.
|
2016-05-16 10:41:10 -04:00 |
|
Rob Rix
|
2008b63c17
|
Compute the maximum value in each element correctly.
|
2016-05-13 18:44:27 -04:00 |
|
Rob Rix
|
9567c44c57
|
Guarantee non-empty by prepending.
|
2016-05-13 18:38:19 -04:00 |
|
Rob Rix
|
c02e6c80a5
|
Pretty all the diffs.
|
2016-05-13 18:27:38 -04:00 |
|
Rob Rix
|
a5e11db66d
|
Pull align out to the top level.
|
2016-05-13 18:25:42 -04:00 |
|
Rob Rix
|
bdd03bb122
|
For now, children should be aligned at a higher priority than their parents.
This came out of https://github.com/github/semantic-diff/pull/558.
|
2016-05-13 10:51:52 -04:00 |
|
joshvera
|
170110ee8e
|
Fix up tests
|
2016-05-04 15:15:25 -04:00 |
|
Rob Rix
|
e70a50720c
|
alignChildrenInRanges always exhausts its inputs, so call it instead.
|
2016-04-27 17:44:15 -04:00 |
|
Rob Rix
|
679a491ebc
|
Correct the newline-at-eof fixture.
|
2016-04-27 10:38:02 -04:00 |
|
Rob Rix
|
d7ca3a3eb6
|
Correct and move the jquery fixture from the todo list to the done list.
|
2016-04-27 10:33:08 -04:00 |
|
Rob Rix
|
a70ee70b17
|
Move the no-newline-at-eof JSON fixture to the done list.
|
2016-04-27 10:30:17 -04:00 |
|
Rob Rix
|
f8dc8f61f9
|
Correct (I think) the no-newline-at-eof JSON fixture.
|
2016-04-27 10:26:54 -04:00 |
|
Rob Rix
|
556498e8d2
|
Move the no-newline-at-eof split fixture to the done list.
|
2016-04-27 10:12:15 -04:00 |
|
Rob Rix
|
1b5f92bfc8
|
Correct the no-newline-at-eof split fixture.
|
2016-04-27 10:11:43 -04:00 |
|
Rob Rix
|
07a55df18b
|
Move the reformat fixture from todo to done 🎉
|
2016-04-27 10:07:57 -04:00 |
|
Rob Rix
|
9eb7d0f552
|
Correct the reformatted fixture.
|
2016-04-27 10:07:03 -04:00 |
|
Rob Rix
|
52970b5bca
|
Terminate with semicolons to work around a parser bug.
|
2016-04-27 10:06:28 -04:00 |
|
Rob Rix
|
dbfb52776b
|
Remove the newlines from the reformatted fixture.
|
2016-04-27 10:03:58 -04:00 |
|
Rob Rix
|
9c008f1116
|
Add a (failing) test that numberedRows produces the correct counts.
|
2016-04-26 15:44:11 -04:00 |
|
Rob Rix
|
64dd8d93da
|
Add a function to get the counts of numbered rows.
|
2016-04-26 14:54:24 -04:00 |
|
Rob Rix
|
3ad8fb3b8a
|
Sort the imports.
|
2016-04-26 14:53:50 -04:00 |
|
Rob Rix
|
28aeb9f4fa
|
Operator section.
|
2016-04-26 14:20:02 -04:00 |
|
Rob Rix
|
d58123d208
|
fmap, not liftM.
|
2016-04-26 14:18:59 -04:00 |
|
Rob Rix
|
5a2925b016
|
Add an Arbitrary instance over Join These.
|
2016-04-26 14:17:43 -04:00 |
|
Rob Rix
|
ea8626b9db
|
Shrink These.
|
2016-04-26 14:17:36 -04:00 |
|
Rob Rix
|
b64a67128c
|
Add an Arbitrary instance over These.
|
2016-04-26 14:14:31 -04:00 |
|
Rob Rix
|
3366b94b5a
|
Simplify showLine a little further.
|
2016-04-25 15:08:20 -04:00 |
|
Rob Rix
|
ce9be615a6
|
Turn the bind around.
|
2016-04-25 15:04:55 -04:00 |
|
Rob Rix
|
632d2cf86b
|
Simplify padding.
|
2016-04-25 15:03:49 -04:00 |
|
Rob Rix
|
55af6c2001
|
Strip newlines inline.
|
2016-04-25 15:00:46 -04:00 |
|
Rob Rix
|
3a3458684d
|
Derive the Eq instance.
|
2016-04-25 14:59:20 -04:00 |
|
Rob Rix
|
237558fbed
|
Simplify showLine.
|
2016-04-25 14:59:00 -04:00 |
|
Rob Rix
|
7628d15a73
|
Filter newlines out completely.
|
2016-04-25 14:54:13 -04:00 |
|
Rob Rix
|
ca3ff15a4f
|
Prepend newlines so things line up nicely.
|
2016-04-25 14:52:24 -04:00 |
|
Rob Rix
|
077dfb8757
|
Show lines at the minimal width.
|
2016-04-25 14:51:25 -04:00 |
|
Rob Rix
|
643703821e
|
Use the where clause.
|
2016-04-25 14:49:47 -04:00 |
|
Rob Rix
|
2bc33b58b8
|
Concatenate the maybes.
|
2016-04-25 14:45:07 -04:00 |
|
Rob Rix
|
e9f5c4bc4f
|
Bind the shown lines.
|
2016-04-25 14:44:26 -04:00 |
|
Rob Rix
|
62f6844038
|
Map diffs into strings up front.
|
2016-04-25 14:43:07 -04:00 |
|
Rob Rix
|
f602dc90fe
|
Add a function to convert These -> (,).
|
2016-04-25 14:14:05 -04:00 |
|
Rob Rix
|
98a7c049b2
|
Clip when padding.
|
2016-04-25 14:13:01 -04:00 |
|
Rob Rix
|
bd0d8f0d02
|
Map the diffs into functions first up.
|
2016-04-25 14:08:04 -04:00 |
|
Rob Rix
|
dde8612347
|
Revert "Flip the arguments to showDiff."
This reverts commit 6808da41529f58593553730451185cc90b643ba7.
|
2016-04-25 14:06:43 -04:00 |
|
Rob Rix
|
a5f45ed699
|
Flip the arguments to showDiff.
|
2016-04-25 14:04:57 -04:00 |
|
Rob Rix
|
958dfe914c
|
Pad the first column of These.
|
2016-04-25 14:02:39 -04:00 |
|
Rob Rix
|
b9b5382b3d
|
Use the pad function for This.
|
2016-04-25 14:01:45 -04:00 |
|
Rob Rix
|
e214dc3c1d
|
Add a function to pad strings out.
|
2016-04-25 14:01:39 -04:00 |
|
Rob Rix
|
1fb647ae9d
|
Drop the broken min .
|
2016-04-25 13:56:57 -04:00 |
|
Rob Rix
|
d9c2bb8e4c
|
Strip newlines in the output diff.
|
2016-04-25 13:55:39 -04:00 |
|
Rob Rix
|
938b89f8db
|
Add a function to strip newlines from a Functor.
|
2016-04-25 13:55:33 -04:00 |
|
Rob Rix
|
aa87f65466
|
Pad out This lines.
|
2016-04-25 13:47:21 -04:00 |
|
Rob Rix
|
77576905d1
|
Parameterize showLine by the column width.
|
2016-04-25 13:38:26 -04:00 |
|
Rob Rix
|
7999f8e540
|
Wrap the diff in PrettyDiff.
|
2016-04-25 13:37:19 -04:00 |
|
Rob Rix
|
51191338a6
|
Add an align binding.
|
2016-04-25 13:37:07 -04:00 |
|
Rob Rix
|
4d47ebc4b5
|
Define an Eq instance for PrettyDiff.
|
2016-04-25 13:00:26 -04:00 |
|
Rob Rix
|
639e1a9443
|
Add field accessors back in again.
|
2016-04-25 13:00:18 -04:00 |
|
Rob Rix
|
e481756bd3
|
Bind the sources in a let.
|
2016-04-25 12:57:57 -04:00 |
|
Rob Rix
|
3cde6162e7
|
PrettyDiff takes a pair of Sources.
|
2016-04-25 12:57:33 -04:00 |
|
Rob Rix
|
a805cad292
|
Pass the source to showDiff explicitly.
|
2016-04-25 12:56:03 -04:00 |
|
Rob Rix
|
0ca30921ca
|
Add a Show instance for PrettyDiff.
|
2016-04-25 12:54:51 -04:00 |
|
Rob Rix
|
0d90744aac
|
PrettyDiff doesn’t declare accessors.
|
2016-04-25 12:54:40 -04:00 |
|
Rob Rix
|
43359cad9c
|
PrettyDiff carries the Source.
|
2016-04-25 12:53:15 -04:00 |
|
Rob Rix
|
564dd1d2c7
|
Stub in a PrettyDiff type.
|
2016-04-25 12:37:56 -04:00 |
|
Rob Rix
|
f0683932bb
|
🔥 redundant imports.
|
2016-04-22 12:56:13 -04:00 |
|
Rob Rix
|
f7fd63528a
|
🔥 obsolete bindings.
|
2016-04-22 12:56:09 -04:00 |
|
Rob Rix
|
c6be56f7d3
|
Disable warnings about orphans.
This is primarily for the benefit of ghc-mod while editing.
|
2016-04-22 12:54:50 -04:00 |
|
Rob Rix
|
a98876bf18
|
🔥 a redundant import.
|
2016-04-22 12:54:26 -04:00 |
|
Rob Rix
|
d2dae5824d
|
Expect children to be in a copointed context.
|
2016-04-22 12:18:40 -04:00 |
|
Rob Rix
|
ab023c3dcb
|
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
|
2016-04-22 09:33:51 -04:00 |
|
joshvera
|
953c18d693
|
Add jquery as a submodule for bench
|
2016-04-21 17:49:50 -04:00 |
|
Rob Rix
|
7a3aac1af9
|
Add a failing test that we align context following insertions correctly.
|
2016-04-15 16:10:09 -04:00 |
|
Rob Rix
|
b9230ceac4
|
Fix the no-newline-at-eof test.
|
2016-04-14 22:03:50 -04:00 |
|
Rob Rix
|
a61d847705
|
Replace Data.Bifunctor.These and Data.Align with the these package.
|
2016-04-14 22:00:00 -04:00 |
|
Rob Rix
|
d99d1d762c
|
🔥 some redundant imports.
|
2016-04-14 21:57:52 -04:00 |
|
Rob Rix
|
10de1a72ba
|
🔥 the Arbitrary instance over Line.
|
2016-04-14 21:57:33 -04:00 |
|
Rob Rix
|
19ccf9fd54
|
🔥 some redundant parens.
|
2016-04-14 21:56:07 -04:00 |
|
Rob Rix
|
6829c6baab
|
🔥 Data.Adjoined.Spec.
|
2016-04-14 21:54:25 -04:00 |
|
Rob Rix
|
1972e20233
|
🔥 Data.Functor.Both.Spec.
|
2016-04-14 21:54:11 -04:00 |
|
Rob Rix
|
3662b021df
|
Correct the test of insertion patch alignment.
|
2016-04-14 20:31:03 -04:00 |
|
Rob Rix
|
7c63e92ea7
|
Construct SplitPatches.
|
2016-04-14 20:27:24 -04:00 |
|
Rob Rix
|
e5dd029b10
|
Test that insertions are aligned.
|
2016-04-14 19:40:36 -04:00 |
|
Rob Rix
|
75bda340ef
|
Sort the Data.Functor.Identity import.
|
2016-04-14 19:34:59 -04:00 |
|
Rob Rix
|
1c9e5d9087
|
🔥 tests of splitDiffByLines.
|
2016-04-14 18:31:03 -04:00 |
|
Rob Rix
|
2564034b6d
|
🔥 tests of splitAbstractedTerm.
|
2016-04-14 18:30:52 -04:00 |
|
Rob Rix
|
e3ace6408c
|
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
# test/AlignmentSpec.hs
# test/PatchOutputSpec.hs
|
2016-04-14 12:57:45 -04:00 |
|
Rob Rix
|
5991d5b5de
|
Correct the split diff fixture.
|
2016-04-12 11:23:37 -04:00 |
|
Rob Rix
|
ad47c77509
|
Correct some test cases.
|
2016-04-12 05:00:39 -04:00 |
|
Rob Rix
|
1a22eaebf6
|
Correct the tests.
|
2016-04-12 04:54:32 -04:00 |
|
Rob Rix
|
0437045089
|
Simplify the multiple children in a single line test.
|
2016-04-05 11:37:40 -04:00 |
|
Rob Rix
|
07cf5dac3c
|
Add a (failing) test that multiple children on the same line get aligned.
|
2016-04-04 18:26:10 -04:00 |
|
Rob Rix
|
d35de99307
|
🔥 some redundant parens.
|
2016-04-04 18:25:44 -04:00 |
|
Rob Rix
|
50d18f4472
|
🔥 a do .
|
2016-04-04 18:19:58 -04:00 |
|
Rob Rix
|
8b2a9fb6d0
|
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
# src/Renderer/JSON.hs
# src/Renderer/Patch.hs
# test/CorpusSpec.hs
|
2016-04-04 18:00:25 -04:00 |
|
joshvera
|
928087e1f5
|
🔥
|
2016-04-04 17:38:58 -04:00 |
|
joshvera
|
a553709112
|
Specialize Renderer to Text
|
2016-04-04 17:20:26 -04:00 |
|
Rob Rix
|
06c4759aed
|
Represent Both as Join (,) .
|
2016-04-04 15:01:47 -04:00 |
|
Rob Rix
|
60d6cfeb90
|
Use the curried both constructor.
|
2016-04-04 14:53:09 -04:00 |
|
joshvera
|
ba8fef376a
|
move to where clause
|
2016-04-02 13:28:17 -04:00 |
|
joshvera
|
4512344e3a
|
update dictionary.json.js
|
2016-04-01 16:07:05 -04:00 |
|
joshvera
|
4a7004394b
|
fix tests
|
2016-04-01 15:53:16 -04:00 |
|
Rob Rix
|
f1b2308405
|
Annotate a leaf type to prevent spew in the REPL.
|
2016-04-01 10:40:21 -04:00 |
|