1
1
mirror of https://github.com/github/semantic.git synced 2024-12-27 17:05:33 +03:00
Commit Graph

839 Commits

Author SHA1 Message Date
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
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
dd1355e978 Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly 2016-03-31 18:01:49 -04:00
Rob Rix
da3f04100e Merge branch 'master' into one-header-per-file 2016-03-31 17:00:37 -04:00
joshvera
5ff0d38a2f Make sure we actually show 2 hunks in the test 2016-03-31 13:53:47 -04:00
joshvera
4fafbda1de Test multiple hunks only has one header 2016-03-31 13:20:14 -04:00
joshvera
b44c8fae38 Add jquery alignment test case 2016-03-31 13:11:46 -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
joshvera
2d711d2a56 just one slash 2016-03-16 18:56:57 -04:00
Rob Rix
6b2b2a811b Move the nested insert tests to the todo pile. 2016-03-15 15:53:04 -04:00
Rob Rix
8e07d40a0d Disable the Monoid tests over Both Line Char. 2016-03-15 15:52:54 -04:00
Rob Rix
7da4a180b7 Shrink Adjoined. 2016-03-15 11:46:15 -04:00
Rob Rix
493f55aa65 Shrink Both. 2016-03-15 11:46:09 -04:00
Rob Rix
943e0b7a40 Shrink Lines. 2016-03-15 11:46:05 -04:00
Rob Rix
3182f61140 Test the Monoid instance for Adjoined over Both Line. 2016-03-15 11:19:05 -04:00
Rob Rix
777aef345e Test the Monoid instance for Adjoined over Line. 2016-03-15 11:18:27 -04:00
Rob Rix
01f817a77e Move the other arbitrary instances into ArbitraryTerm. 2016-03-15 11:17:47 -04:00
Rob Rix
86f41d4ce8 Empty lines get inserted before merged ones. 2016-03-15 11:13:01 -04:00
Rob Rix
164a4fdd6f Sequence coalesced lines by aligning. 2016-03-15 11:11:27 -04:00
Rob Rix
f3c6f8b3f6 Compute lines within Adjoined. 2016-03-15 10:58:54 -04:00
Rob Rix
e7702fd11d Add a (failing) test that Both coalesces asymmetrically at right. 2016-03-15 10:55:20 -04:00
Rob Rix
2ea0fa9109 Add a (failing) test that Both coalesces asymmetrically at left. 2016-03-15 10:54:28 -04:00
Rob Rix
01330d9d2e Add a (failing) test that it doesn’t coalesce when neither side coalesces. 2016-03-15 10:52:43 -04:00
Rob Rix
ab33fb3ace Clean up the test with the Applicative instance. 2016-03-15 10:51:30 -04:00
Rob Rix
b3bb9e2c3e Test that Both coalesces when both sides coalesce. 2016-03-15 10:50:13 -04:00
Rob Rix
0129bffe6e Stub in a spec for Both. 2016-03-15 10:40:35 -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
9400e3a3ee coalesce operates within an Alternative functor. 2016-03-14 22:51:54 -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
7fe578e9c6 Merge branch 'master' into adjoin-associatively 2016-03-11 18:56:10 -05:00
Rob Rix
1bb87bf6ee Fix up a bunch of toLists into toStrings. 2016-03-11 18:35:31 -05:00
joshvera
df8f7589ee Test we've added a nonewline line 2016-03-11 17:19:20 -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
1308b5b3f5 Only export the spec. 2016-03-11 14:14:28 -05:00
Rob Rix
4110048ae7 More specific documentation of Semicoalesced. 2016-03-11 14:14:07 -05:00
Rob Rix
203350ced1 Group the mempty/mappend properties. 2016-03-11 13:59:46 -05:00
Rob Rix
a23eb6f5f8 Merge branch 'data-dot-adjoined' into adjoin-associatively
# Conflicts:
#	src/Alignment.hs
2016-03-11 13:26:12 -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
48792bedbf Merge branch 'master' into data-dot-adjoined 2016-03-11 11:52:26 -05:00
Rob Rix
57153d974e Model semicoalescence with a Bool flag. 2016-03-11 11:15:52 -05:00
Rob Rix
4e9472afdb Remove the Functor instances from the wrapper types.
We don’t use them and don’t need to be slowed by them.
2016-03-11 11:14:24 -05:00
Rob Rix
a1ed5da1b5 Run the monoid spec over semicoalesced strings. 2016-03-11 11:13:42 -05:00
Rob Rix
3f4402fe7e Add a Semicoalesced wrapper type. 2016-03-11 11:12:04 -05:00
Rob Rix
3627478d97 Don’t wrap the monoid specs. 2016-03-11 11:08:22 -05:00
Rob Rix
a429afe53b Show the parameterized type in the Monoid instance. 2016-03-11 11:08:07 -05:00
Rob Rix
abe02506ac Add a type-restricted const for generated types. 2016-03-11 11:06:21 -05:00
Rob Rix
132acddaeb Add a function to produce the name of a type. 2016-03-11 11:06:18 -05:00
Rob Rix
8cfcd8b7bc Run the monoid spec over coalesced strings. 2016-03-11 10:31:14 -05:00
Rob Rix
14234a7440 Describe the monoid spec with the name of the type we’re running under. 2016-03-11 10:29:35 -05:00
Rob Rix
1e4bce59e8 Run the monoid spec over uncoalesced strings. 2016-03-11 10:29:03 -05:00
Rob Rix
c9c24894e3 Spacing. 2016-03-11 10:20:40 -05:00
Rob Rix
d765101aa2 Add a wrapper type which always coalesces values. 2016-03-11 10:20:30 -05:00
Rob Rix
9586f6608b Rename Separated to Uncoalesced. 2016-03-11 10:18:14 -05:00
Rob Rix
fb546f0126 mappend is associative. 2016-03-11 10:16:44 -05:00
Rob Rix
e06d45637c Extract the monoid tests into a separate spec instantiated with a generator. 2016-03-11 10:16:37 -05:00
Rob Rix
26931e3394 mempty is the right identity under mappend. 2016-03-11 09:54:33 -05:00
Rob Rix
5a3867843d mempty is the left identity under mappend. 2016-03-11 09:54:05 -05:00
Rob Rix
322e56dd68 Run the Data.Adjoined spec. 2016-03-11 09:49:03 -05:00
Rob Rix
1815a74b68 Add a test of the reflexivity of equality. 2016-03-11 09:48:55 -05:00
Rob Rix
07e9e192e9 Scale the arbitrary term sizes down. 2016-03-11 09:32:03 -05:00
Rob Rix
e5f34dccd3 Scale the arbitrary term sizes down. 2016-03-11 09:22:17 -05:00
Rob Rix
710c3ae8ff Document Separated. 2016-03-11 09:13:39 -05:00
Rob Rix
7ff30ed5c6 Add a Coalescent instance for Separated. 2016-03-11 09:12:41 -05:00
Rob Rix
df8496a839 Add an Arbitrary instance over Separated. 2016-03-11 09:12:12 -05:00
Rob Rix
1e360dca67 Add a Separated newtype. 2016-03-11 09:12:00 -05:00
Rob Rix
1268f07c8a Add an Arbitrary instance over Adjoined. 2016-03-11 09:06:29 -05:00
Rob Rix
4e1d4706ee Stub in a Data.Adjoined spec module. 2016-03-11 09:06:03 -05:00
Rob Rix
be4f8551b6 Add a (deferred) fixture with asymmetrical context. 2016-03-11 00:50:48 -05:00
Rob Rix
e6bed33093 Defer a bunch of other tests too. 2016-03-11 00:43:19 -05:00