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
|
d2dae5824d
|
Expect children to be in a copointed context.
|
2016-04-22 12:18:40 -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
|
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
|
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
|
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
|
63e33f54cc
|
Put the branch/leaf/info DSL at the top level.
|
2016-04-01 10:15:48 -04:00 |
|
Rob Rix
|
9c706c05e2
|
🔥 patchWithBoth.
|
2016-04-01 10:13:37 -04:00 |
|
Rob Rix
|
2540e9d207
|
🔥 leafWithRangeInSource.
|
2016-04-01 10:13:33 -04:00 |
|
Rob Rix
|
4f9de16045
|
Free doesn’t export unfold.
|
2016-04-01 10:13:22 -04:00 |
|
Rob Rix
|
04fffe584f
|
🔥 redundant imports.
|
2016-04-01 10:13:13 -04:00 |
|
Rob Rix
|
19cc23b51a
|
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
# src/Diff.hs
|
2016-03-30 20:20:50 -04:00 |
|
Rob Rix
|
20bb94bf5e
|
Also, tests.
|
2016-03-30 17:33:07 -04:00 |
|
Rob Rix
|
ea97b04032
|
Test that groupChildrenByLine produces asymmetrical context.
|
2016-03-24 13:56:07 -04:00 |
|
Rob Rix
|
04ca818b0b
|
Rename the test.
|
2016-03-24 13:54:11 -04:00 |
|
Rob Rix
|
931ba9808f
|
Test that groupChildrenByLine produces symmetrical context.
|
2016-03-24 13:53:58 -04:00 |
|
Rob Rix
|
07bc16bf35
|
Be more specific with the test names.
|
2016-03-24 13:44:57 -04:00 |
|
Rob Rix
|
899d53eec2
|
Test the alignment of identical nodes across multiple lines.
|
2016-03-24 13:05:52 -04:00 |
|
Rob Rix
|
fbbf80a3fa
|
Test the alignment of identical nodes on a single line.
|
2016-03-24 13:05:44 -04:00 |
|
Rob Rix
|
2e9eb92609
|
Rename the tests.
|
2016-03-22 09:20:44 -04:00 |
|
Rob Rix
|
1a3a32e3e1
|
Correct the test fixtures.
|
2016-03-22 00:17:20 -04:00 |
|
Rob Rix
|
2226acf61c
|
Revert "Add a convenience to construct Source Char."
This reverts commit 63e023e439491207aa739bb0e68660770eaa9272.
|
2016-03-21 19:08:35 -04:00 |
|
Rob Rix
|
7ff808f3dc
|
Add some tests (which won’t typecheck yet).
|
2016-03-21 19:08:02 -04:00 |
|
Rob Rix
|
62ac37c981
|
Add a convenience to construct branch diffs.
|
2016-03-21 18:54:34 -04:00 |
|
Rob Rix
|
361bfc0e81
|
Add a convenience to construct leaf diffs.
|
2016-03-21 18:54:27 -04:00 |
|
Rob Rix
|
1f1be15a99
|
Add a convenience to construct Source Char.
|
2016-03-21 18:54:18 -04:00 |
|
Rob Rix
|
d3a3b68752
|
Add a convenience to construct Info.
|
2016-03-21 18:54:09 -04:00 |
|
Rob Rix
|
01f817a77e
|
Move the other arbitrary instances into ArbitraryTerm.
|
2016-03-15 11:17:47 -04:00 |
|
Rob Rix
|
f3c6f8b3f6
|
Compute lines within Adjoined.
|
2016-03-15 10:58:54 -04:00 |
|
Rob Rix
|
c4146dbefa
|
Correct the tests for the changes to the API.
|
2016-03-14 22:58:07 -04:00 |
|
Rob Rix
|
5fb11795dc
|
🔥 isEmptyRow.
|
2016-03-14 22:53:16 -04:00 |
|
Rob Rix
|
586894c316
|
splitAbstractedTerm no longer takes an align function.
|
2016-03-14 22:50:40 -04:00 |
|
Rob Rix
|
c22f86d812
|
🔥 adjoinRows tests.
|
2016-03-14 22:47:18 -04:00 |
|
Rob Rix
|
1bb87bf6ee
|
Fix up a bunch of toLists into toStrings.
|
2016-03-11 18:35:31 -05:00 |
|
Rob Rix
|
379208b3a3
|
🔥 qualifications of zip & zipWith.
|
2016-03-11 14:21:42 -05:00 |
|
Rob Rix
|
9c011d7de5
|
Migrate off Both.zip.
|
2016-03-11 14:21:07 -05:00 |
|
Rob Rix
|
a22ac1ea31
|
🔥 the splitPatchByLines test.
|
2016-03-11 12:10:56 -05:00 |
|
Rob Rix
|
ebd4cc7369
|
Split the let bindings onto a new line.
|
2016-03-11 12:10:01 -05:00 |
|
Rob Rix
|
d35738ef73
|
Extract the patch into a let binding.
|
2016-03-11 12:09:46 -05:00 |
|
Rob Rix
|
ceb4a0b0ec
|
Extract the ranges into a let binding.
|
2016-03-11 12:06:47 -05:00 |
|
Rob Rix
|
00f58ece6a
|
Disable the aligning closed lines test.
|
2016-03-11 00:41:18 -05:00 |
|
Rob Rix
|
c750a98f4b
|
Use alignRows in the tests.
|
2016-03-10 19:48:28 -05:00 |
|
Rob Rix
|
62cdbacdfe
|
Test that child alignment is preserved.
|
2016-03-10 17:48:17 -05:00 |
|
Rob Rix
|
736e7b95c7
|
Write the closed rows as Closed "".
|
2016-03-10 15:47:10 -05:00 |
|
Rob Rix
|
257c538300
|
Correct the expectation of the aligning test.
|
2016-03-10 15:46:31 -05:00 |
|
Rob Rix
|
68c34c11b4
|
Align the rows.
|
2016-03-10 15:45:55 -05:00 |
|
Rob Rix
|
9c0b512092
|
Make that Row Char.
|
2016-03-10 15:45:23 -05:00 |
|
Rob Rix
|
3d8df9bc4f
|
Test against Row String.
|
2016-03-10 15:44:36 -05:00 |
|
Rob Rix
|
bfb02f420e
|
Fix the open row test.
|
2016-03-10 15:44:07 -05:00 |
|
Rob Rix
|
1812bd6415
|
Construct arbitrary closed lines.
|
2016-03-10 15:38:19 -05:00 |
|
Rob Rix
|
5e950062e4
|
Correct the test of line count preservation.
|
2016-03-10 15:25:00 -05:00 |
|
Rob Rix
|
b2e8a0698a
|
Correct the row prepending test.
|
2016-03-10 15:18:55 -05:00 |
|
Rob Rix
|
8ff5cd101d
|
Rename the adjoinRows spec.
|
2016-03-10 14:52:06 -05:00 |
|
Rob Rix
|
8d36c20e9c
|
Use Both’s Monoid instance directly.
|
2016-03-10 09:24:15 -05:00 |
|
Rob Rix
|
68a1fb9cf8
|
Simplify the open row merging test.
|
2016-03-10 09:23:47 -05:00 |
|
Rob Rix
|
0e07398b59
|
🔥 the predicate parameters in coalescing and adjoining.
|
2016-03-10 09:19:47 -05:00 |
|
Rob Rix
|
a965894d16
|
Correct the test of aligning closed lines.
|
2016-03-10 01:04:42 -05:00 |
|
Rob Rix
|
324fcfab31
|
Correct the test of prepending closed rows.
|
2016-03-10 01:03:38 -05:00 |
|
Rob Rix
|
9614994e53
|
Use the isEmpty predicate to test for line emptiness.
|
2016-03-10 00:37:21 -05:00 |
|
Rob Rix
|
ec0c1c448e
|
Migrate the splitAnnotatedByLines tests to splitAbstractedTerm.
|
2016-03-09 09:32:51 -05:00 |
|
Rob Rix
|
5d150fd816
|
Abstract splitAbstractedTerm over an alignment function.
|
2016-03-09 05:02:54 -05:00 |
|
Rob Rix
|
789a7d1be8
|
Abstract splitAbstractedTerm over an Applicative Traversable Functor.
|
2016-03-09 04:57:30 -05:00 |
|
Rob Rix
|
73aa926bdc
|
Generalize adjoinRowsBy to any Applicative with an aligning function.
|
2016-03-09 04:13:09 -05:00 |
|
Rob Rix
|
d18e044d5c
|
Use Line, not makeLine.
|
2016-03-09 01:56:41 -05:00 |
|
Rob Rix
|
64384f407b
|
Use the existing totalRange function in the alignment spec.
|
2016-03-09 01:44:36 -05:00 |
|
Rob Rix
|
086a3d53cb
|
🔥 Row.
|
2016-03-09 01:39:18 -05:00 |
|
Rob Rix
|
820d38847c
|
🔥 makeRow.
|
2016-03-09 01:35:47 -05:00 |
|
Rob Rix
|
cb66328f79
|
Replace Row with a type synonym for Both.
|
2016-03-09 01:35:01 -05:00 |
|
Rob Rix
|
43ab2d4523
|
Avoid isOpenRowBy.
|
2016-03-09 01:05:06 -05:00 |
|
Rob Rix
|
ebbf19953e
|
Stop treating EmptyLine as distinct from an empty line.
|
2016-03-09 00:58:09 -05:00 |
|
Rob Rix
|
9f26748f3b
|
Abstract splitAnnotatedByLines over a makeTerm parameter function.
|
2016-03-08 23:37:11 -05:00 |
|
Rob Rix
|
3cb0cd4ac4
|
Remove some obsolete tests.
|
2016-03-08 22:14:22 -05:00 |
|
Rob Rix
|
cef2be6495
|
Correct the predicate.
|
2016-03-08 22:10:35 -05:00 |
|
Rob Rix
|
0bc811e3c1
|
Replace MaybeOpen with simple predicates.
|
2016-03-08 22:07:38 -05:00 |
|
Rob Rix
|
b6edbcd078
|
Test that adjoinRowsBy aligns on closed lines.
|
2016-03-08 21:51:42 -05:00 |
|
Rob Rix
|
50a99fe500
|
More predictable test of empty line promotion.
|
2016-03-08 10:19:05 -05:00 |
|
Rob Rix
|
c9f5154cc6
|
Correct the non-promotion test.
|
2016-03-07 19:56:57 -05:00 |
|
Rob Rix
|
368d943abc
|
Correct the prepending test.
|
2016-03-07 19:54:55 -05:00 |
|
Rob Rix
|
acad320b73
|
Remove isEmptyLine.
|
2016-03-07 19:46:18 -05:00 |
|
Rob Rix
|
6bf8d10efd
|
Remove isClosedBy.
|
2016-03-07 19:45:57 -05:00 |
|
Rob Rix
|
b100eb9674
|
Use isClosedRowBy as a predicate in the tests.
|
2016-03-07 19:45:39 -05:00 |
|
Rob Rix
|
a8286d66b1
|
Fix the isOpenRowBy use.
|
2016-03-07 19:45:25 -05:00 |
|
Rob Rix
|
1e31552397
|
Remove the tests of openLineBy.
|
2016-03-07 19:43:14 -05:00 |
|
Rob Rix
|
bf725daa90
|
Remove isOpenBy.
|
2016-03-07 19:43:01 -05:00 |
|
Rob Rix
|
a8cdb23694
|
Use isOpenRowBy.
|
2016-03-07 19:42:56 -05:00 |
|
Rob Rix
|
f7b4ecc1c1
|
Rename adjoinRowsByR to adjoinRowsBy.
|
2016-03-07 19:36:16 -05:00 |
|
Rob Rix
|
e81941f53d
|
Migrate the tests to adjoinRowsByR.
|
2016-03-07 19:33:32 -05:00 |
|
Rob Rix
|
b47bc5bc16
|
Apply some of hlint’s advice.
|
2016-03-07 16:33:30 -05:00 |
|
Rob Rix
|
488ec69895
|
shouldBe gives better error messages.
|
2016-03-07 16:28:39 -05:00 |
|
Rob Rix
|
abcd9803f3
|
Pass the Info & Syntax in directly.
|
2016-03-04 21:12:49 -05:00 |
|
Rob Rix
|
5c06ecc6d0
|
Define splitAbstractedTerm by catamorphism (more or less).
|
2016-03-04 21:07:26 -05:00 |
|
Rob Rix
|
f546977b33
|
splitAnnotatedByLines takes Both Infos directly.
|
2016-03-04 20:25:33 -05:00 |
|
Rob Rix
|
7cb85f6571
|
Define splitDiffByLines by catamorphism.
|
2016-03-04 19:53:47 -05:00 |
|
Rob Rix
|
651f0106e3
|
Migrate a couple of tests over to splitDiffByLines.
|
2016-03-04 19:53:28 -05:00 |
|
Rob Rix
|
3a555df147
|
Swap the order of the operands to splitPatchByLines.
|
2016-03-04 19:07:54 -05:00 |
|
Rob Rix
|
61e43f8c02
|
splitPatchByLines doesn’t take previous indices.
|
2016-03-04 12:28:48 -05:00 |
|
Rob Rix
|
0cf7ba393d
|
Alignment returns ranged Rows.
|
2016-03-04 12:26:40 -05:00 |
|
Rob Rix
|
e1f12e3c35
|
Verify that splitPatchByLines obeys the initial indices.
|
2016-03-03 15:40:41 -05:00 |
|
Rob Rix
|
aa389a9e99
|
Add a function to construct a leaf within a source.
|
2016-03-03 15:34:07 -05:00 |
|
Rob Rix
|
7a71b76d99
|
Simplify leafWithRangesInSources.
|
2016-03-03 15:33:31 -05:00 |
|
Rob Rix
|
1d89c90e38
|
Add a function to construct a patch from Both input terms.
|
2016-03-03 15:00:01 -05:00 |
|
Rob Rix
|
7104835753
|
Add an Arbitrary instance for Patch.
|
2016-03-03 14:59:33 -05:00 |
|
Rob Rix
|
7a3da76448
|
splitAbstractedTerm returns lines containing diff/range pairs.
|
2016-03-03 13:41:56 -05:00 |
|
Rob Rix
|
723f14aa4c
|
Test splitAbstractedTerm.
|
2016-03-03 11:39:23 -05:00 |
|
Rob Rix
|
8e78339c39
|
🔥 openTerm.
|
2016-03-03 09:02:33 -05:00 |
|
Rob Rix
|
ae149c94ff
|
Use runBothWith to tidy up a few computations.
|
2016-02-29 19:43:57 -05:00 |
|
Rob Rix
|
7548e148dc
|
Rename runLeft/runRight to fst/snd.
|
2016-02-29 19:39:04 -05:00 |
|
Rob Rix
|
ac39e73691
|
Line’s Monoid instance will do just fine here.
|
2016-02-29 10:38:39 -05:00 |
|
Rob Rix
|
665ffa4133
|
We don’t need to destructure the Rows in the append test.
|
2016-02-29 10:33:29 -05:00 |
|
Rob Rix
|
df2b684229
|
Simplify how we compute combineIntoLeaves.
|
2016-02-29 10:31:53 -05:00 |
|
Rob Rix
|
7048a61660
|
Define leafWIthRangesInSources over Both.
|
2016-02-29 10:30:33 -05:00 |
|
Rob Rix
|
c889174aee
|
Use Both to represent Diff annotations.
|
2016-02-29 10:12:34 -05:00 |
|
Rob Rix
|
0628793ab4
|
Use the Applicative instance in a test.
|
2016-02-29 09:29:50 -05:00 |
|
Rob Rix
|
a8efcb539a
|
Row wraps a Both.
|
2016-02-29 09:22:52 -05:00 |
|
Rob Rix
|
1abab2bbce
|
adjoinRowsBy applies Both MaybeOpen tests.
|
2016-02-29 08:55:30 -05:00 |
|
joshvera
|
2c4acfb14f
|
Disambiguate the tests.
|
2016-02-29 07:45:24 -05:00 |
|
Rob Rix
|
0d77576a52
|
Represent categories in Both.
|
2016-02-28 22:10:02 -05:00 |
|
Rob Rix
|
81a1a14d4c
|
Represent the input Ranges in Both.
|
2016-02-28 22:01:21 -05:00 |
|
Rob Rix
|
863251183f
|
Represent alignment sources in Both.
|
2016-02-28 21:43:47 -05:00 |
|
Rob Rix
|
d6fb451ebd
|
Rename SplitSpec to AlignmentSpec.
|
2016-02-28 14:05:19 -05:00 |
|