1
1
mirror of https://github.com/github/semantic.git synced 2024-12-20 05:11:44 +03:00
Commit Graph

1129 Commits

Author SHA1 Message Date
Rob Rix
300bd2b84c Renderer takes an annotation type parameter. 2016-07-14 16:36:47 -04:00
joshvera
9a01466bfc Merge branch 'syntax-redux' into pretty-print-summaries 2016-07-14 15:30:15 -04:00
Rick Winfrey
85ddbcbcba Merge branch 'syntax-redux' of github.com:github/semantic-diff into syntax-redux 2016-07-14 14:26:07 -05:00
joshvera
27c338331f Merge remote-tracking branch 'origin/master' into syntax-redux 2016-07-14 15:22:46 -04:00
Rick Winfrey
2354cfa45a Add diff summary property test verifying no changes results in no diff summaries. 2016-07-14 14:21:14 -05:00
joshvera
453334d966 Use wl-pprint-text to pretty print diff summaries 2016-07-14 14:44:18 -04:00
joshvera
58ff433dd0 Merge remote-tracking branch 'origin/master' into pretty-print-summaries 2016-07-14 14:38:46 -04:00
joshvera
a9adce2610 other patches should be the same as summary patches 2016-07-14 13:01:16 -04:00
joshvera
922e845c78 Add property test to test diff summary constructors 2016-07-14 11:52:40 -04:00
joshvera
59426b86f6 Add megaparsec to pretty print summaries 2016-07-13 14:32:53 -04:00
joshvera
7169a51265 Use wl-pprint-text to pretty print diff summaries 2016-07-13 11:58:43 -04:00
Rob Rix
c41d3f4280 Correct the fixtures to account for the removal of dictionaries. 2016-07-12 23:34:53 -04:00
Rob Rix
4f967e0e1a 🔥 Data.OrderedMap. 2016-07-12 23:27:20 -04:00
Rob Rix
c7728b7c1c Test the reflexivity of alignment modulo These. 2016-07-12 18:24:24 -04:00
Rob Rix
ae9b0e55f3 Test against integer keys/values. 2016-07-12 18:11:09 -04:00
Rob Rix
449c564179 Test the upper bound on input length. 2016-07-12 18:10:10 -04:00
Rob Rix
5a721f0a90 Test that align is length-preserving. 2016-07-12 18:09:12 -04:00
Rob Rix
4869729770 Silence a warning. 2016-07-12 18:09:01 -04:00
Rick Winfrey
177af03bd3 Merge branch 'master' into syntax-redux 2016-07-12 17:03:35 -05:00
Rob Rix
87e1ce7020 Revert "Show the Term itself."
This reverts commit aea84cbec83972add52909b0813ad9362808553f.
2016-07-12 17:29:47 -04:00
Rob Rix
4818d723b3 Show the Term itself. 2016-07-12 17:20:44 -04:00
Rob Rix
3ff027e12c Place hlint about wrap. 2016-07-12 17:19:44 -04:00
Rob Rix
d6c994a852 🔥 a blank line apparently. 2016-07-12 17:19:38 -04:00
Rob Rix
feb39e540f Test that nil is the right- and left-identity modulo This/That. 2016-07-12 17:16:24 -04:00
Rob Rix
3d73efc6d3 Placate hlint. 2016-07-12 17:16:10 -04:00
joshvera
a484cb8348 Update fixtures to account for method_call and object/pair categories 2016-07-08 16:30:13 -04:00
joshvera
8c698cb52c Remove stray HTML file 2016-07-08 16:00:14 -04:00
joshvera
3779bf36b0 Expect to parse JS method calls 2016-07-08 15:59:37 -04:00
Rob Rix
2108cddff6 Test rws’ behaviour w.r.t. ordering. 2016-07-07 10:37:55 -04:00
joshvera
1efd68d122 Merge remote-tracking branch 'origin/master' into syntax-redux 2016-07-06 16:22:25 -04:00
joshvera
6641bdf906 ++js-test 2016-07-06 12:58:37 -04:00
joshvera
4eebbb288c Add backbone submodule 2016-07-06 12:38:47 -04:00
Rick Winfrey
13c60c9e86 ++js-test 2016-07-05 17:33:19 -05:00
Rob Rix
f91860d68f 🔥 DataKinds here, too. 2016-07-05 10:11:29 -04:00
Rob Rix
51f0995c91 🔥 DataKinds. 2016-07-05 09:56:48 -04:00
Rob Rix
4cfa993239 Move the Arbitrary gram functions into Data.RandomWalkSimilarity. 2016-07-05 09:18:53 -04:00
Rob Rix
e3a43b77a9 Fix overloaded string warning. 2016-06-30 15:02:28 -04:00
Rob Rix
b0b8aa0616 Test that Interpreter produces zero-cost diffs of equal terms. 2016-06-30 13:34:31 -04:00
Rob Rix
28abcd1b38 Move Record’s Arbitrary instance into Data.Record. 2016-06-30 12:49:50 -04:00
Rob Rix
58138d5867 Scale down the sizes by a factor of four. 2016-06-30 12:37:41 -04:00
Rob Rix
a5af331f71 Generate a pair of inputs.
This allows scaling to work correctly.
2016-06-30 12:37:27 -04:00
Rob Rix
d89422d3ed Define childrenOf in tacit style. 2016-06-30 11:28:18 -04:00
Rob Rix
cb71ba3467 Use the Foldable instance instead of specifying the constructor. 2016-06-30 11:27:37 -04:00
Rick Winfrey
c034926304 ++js 2016-06-29 16:07:37 -05:00
Rob Rix
27cc162e1c Test against a set of children instead of sorting.
This reverts commit e5fb9a7a89da22373e7614d0163b64bb3a994b24.
2016-06-29 11:28:08 -04:00
Rob Rix
bd11e9e0ee Enumerate and sort to pass the test. 2016-06-29 10:58:06 -04:00
joshvera
e03c712482 js-test 2016-06-28 16:38:18 -04:00
Rob Rix
83a88d0e32 Only allow comparisons between terms with the same category. 2016-06-28 15:02:41 -04:00
Rob Rix
99c36635b4 Use Categories for the annotations. 2016-06-28 14:09:51 -04:00
joshvera
9292d3294d ++js-test 2016-06-28 13:04:40 -04:00
Rob Rix
e003549ef0 Rewrite to share the lists of child terms. 2016-06-27 15:38:45 -04:00
Rob Rix
38ecc3bb0a Test that rws produces correct diffs. 2016-06-27 15:37:32 -04:00
Rob Rix
833802eb8a Text, not String. 2016-06-27 15:32:09 -04:00
Rob Rix
b8ba07522b Test that Interpreter produces correct diffs. 2016-06-27 15:28:11 -04:00
Rob Rix
2de9468ed1 Sort the imports. 2016-06-27 15:28:04 -04:00
Rob Rix
9611a27887 🔥 test/ArbitraryTerm.hs. 2016-06-27 15:03:04 -04:00
Rob Rix
b405286065 Tidy up AlignmentSpec. 2016-06-27 15:02:28 -04:00
Rob Rix
aa5d6e4deb Test that afterTerm recovers the second term. 2016-06-27 13:24:50 -04:00
Rob Rix
8035c1844c Test that beforeTerm recovers the first term. 2016-06-27 13:23:43 -04:00
Rob Rix
c70c936d60 Use shouldBe instead of ==. 2016-06-27 13:21:32 -04:00
Rob Rix
1dd10050f6 Move some tests around. 2016-06-27 13:18:20 -04:00
Rob Rix
346bec0d0b Clean up redundant imports and use Text, not String. 2016-06-27 13:16:56 -04:00
Rob Rix
10b5bdaab4 Use Text, not String. 2016-06-27 13:16:48 -04:00
Rob Rix
85f39fd5a8 Move some tests out of TermSpec into Diff.Spec. 2016-06-27 13:15:03 -04:00
Rob Rix
ad4a34ebb0 🔥 a redundant import. 2016-06-27 13:12:37 -04:00
Rob Rix
b4107426de Stub in a spec for Diff. 2016-06-27 13:12:06 -04:00
Rob Rix
8fe92c025c Pare the unicode replacement test down further. 2016-06-27 13:08:12 -04:00
Rob Rix
db17330b4d Clean up the InterpreterSpec test by extracting the infos. 2016-06-27 13:03:58 -04:00
Rob Rix
c0eceb273c We no longer have to hide this symbol. 2016-06-27 11:46:22 -04:00
Rob Rix
0b37ae936b Diff terms of records. 2016-06-23 16:30:43 -04:00
Rob Rix
ed552da2af Swap the d/bag arguments in featureVector. 2016-06-23 10:34:23 -04:00
Rob Rix
a9f251e42f Test against trees annotated with their labels directly. 2016-06-23 10:19:45 -04:00
Rob Rix
a657295ae6 Generalize pqGrams over a getLabel accessor again. 2016-06-23 10:18:39 -04:00
Rob Rix
c85c87ad65 Okay FINE, hlint! 2016-06-23 10:11:48 -04:00
Rob Rix
6133903e8c Extract the label from a record. 2016-06-23 09:52:15 -04:00
Rob Rix
220687da5e 🔥 the old spec. 2016-06-23 09:51:55 -04:00
Rob Rix
1170bfdcb2 Rename Data.Gram to Data.RandomWalkSimilarity. 2016-06-22 17:59:28 -04:00
Rob Rix
f553cac094 Specialize pqGrams to Cofree of Syntax. 2016-06-22 16:17:54 -04:00
Rob Rix
ea717c6582 Test that we produce grams with bases of length q. 2016-06-22 15:55:39 -04:00
Rob Rix
e15af19835 🔥 a redundant import. 2016-06-22 15:55:15 -04:00
Rob Rix
0092655cb6 Clean up the tests. 2016-06-22 15:55:11 -04:00
Rob Rix
f1d190326c Remove children from the unpacking function. 2016-06-22 15:18:37 -04:00
Rob Rix
ad380bf08d Limit the p,q-gram test to p > 0 & q > 0. 2016-06-22 15:02:10 -04:00
Rob Rix
f2c5dd3d8c Test that the stems are of length p. 2016-06-22 13:46:06 -04:00
Rob Rix
7da6fde412 Test that pqGrams produces grams with stems of length p. 2016-06-22 11:27:30 -04:00
Rob Rix
4cb3261069 Correct the property by limiting it to d > 0. 2016-06-22 11:07:43 -04:00
Rob Rix
0bef12d722 Test that featureVector produces d-vectors. 2016-06-22 11:04:27 -04:00
Rob Rix
cc8fcb926e Include the Gram spec. 2016-06-22 10:45:43 -04:00
Rob Rix
52e274b57d Stub in the spec itself. 2016-06-22 10:45:31 -04:00
Rob Rix
d5e807257e Hush, hlint. 2016-06-22 10:43:02 -04:00
Rob Rix
51392382ef Stub in a spec for Data.Gram. 2016-06-22 10:41:13 -04:00
joshvera
0a574871c9 Merge remote-tracking branch 'origin/master' into syntax-redux 2016-06-21 17:08:40 -04:00
Rick Winfrey
4f41232901 ++js-test 2016-06-17 17:00:42 -05:00
Rick Winfrey
532e49871d ++js-test 2016-06-17 15:31:21 -05:00
Rick Winfrey
dae03ef31e ++js-test 2016-06-17 14:57:22 -05:00
Rick Winfrey
bbaf6e24fa ++js-test 2016-06-17 14:35:13 -05:00
Rick Winfrey
c5232f023c ++js-test 2016-06-17 14:23:41 -05:00
Rob Rix
1668e94427 Define Info as a synonym over Data.Record. 2016-06-17 13:33:50 -04:00
joshvera
c086cac867 ++js-test 2016-06-16 10:47:41 -07:00
joshvera
283a4a77a0 Remove test/diffs/style.css 2016-06-16 10:39:57 -07:00
Rick Winfrey
308a690cdb ++js-test 2016-06-16 11:20:34 -05:00
Rick Winfrey
c2c3681749 Update test/repos/js-test pin 2016-06-15 13:18:44 -05:00
Rick Winfrey
efe1339df5 Update js-test 2016-06-15 11:12:16 -05:00
joshvera
66b6b1e460 ++js-test 2016-06-14 17:44:38 -07:00
joshvera
e56b8268f1 ++js-test 2016-06-14 14:20:37 -07:00
joshvera
a0f415dece ++js-test 2016-06-14 14:01:27 -07:00
Rick Winfrey
6eea045aee Updating js-test submodule pin 2016-06-13 17:13:24 -05:00
joshvera
bd48f58478 Added a split-test to js-test 2016-06-10 18:56:32 -04:00
joshvera
68c6e40fc3 ++js-test 2016-06-10 17:02:01 -04:00
joshvera
c229d43934 Fix DiffSummary tests
now that parentAnnotations are Categories
2016-06-10 16:42:11 -04:00
Rick Winfrey
9ec08a7d2e Update js-test submodule to contain correct shas 2016-06-10 15:22:51 -05:00
joshvera
d20937f2b1 Parse functions 2016-06-10 15:10:37 -04:00
Rick Winfrey
129ece7820 Add test/repos/js-test submodule 2016-06-10 12:26:37 -05:00
Rob Rix
dfa3b3fd66 Merge branch 'master' into benchmark-alignment 2016-06-06 13:05:00 -04:00
Rob Rix
a18b5bb4f0 🔥 a redundant import. 2016-06-06 13:04:35 -04:00
Rob Rix
c9763c43ba Use the sizing functions in TermSpec. 2016-06-06 12:26:06 -04:00
Rob Rix
29a725b125 Move ArbitraryDiff into semantic-diff proper. 2016-06-06 12:07:07 -04:00
Rob Rix
1109fdf32c 🔥 redundant imports. 2016-06-06 11:51:30 -04:00
Rob Rix
0321a97285 🔥 arbitraryLeaf. 2016-06-06 11:51:25 -04:00
Rob Rix
8780ea3f26 Move the Arbitrary instances for Join (,) and Join These into semantic-diff proper. 2016-06-06 11:50:45 -04:00
Rob Rix
4eb76ff3a3 Move the Arbitrary instance for Data.These into semantic-diff proper. 2016-06-06 11:46:30 -04:00
Rob Rix
378b577175 Move the Arbitrary instance for Patch into semantic-diff proper. 2016-06-06 11:43:38 -04:00
Rob Rix
a613fa0369 Merge branch 'push-benchmarks-to-graphite' into benchmark-alignment 2016-06-06 11:36:48 -04:00
Rob Rix
6e66837cc0 Capitalize the Program category in the JSON fixtures. 2016-06-06 08:19:38 -04:00
Rob Rix
a43be167f6 Merge branch 'master' into cache-cost-on-info 2016-06-03 16:24:02 -04:00
Rob Rix
7802d4916c 🔥 FlexibleInstances & RecordWildCards pragmas. 2016-06-03 16:02:06 -04:00
Rob Rix
f39e3df33b Pass a DiffConstructor to diffTerms. 2016-06-03 02:59:48 -04:00
Rob Rix
bcbb590b1f Add a cost field to Info. 2016-06-02 23:34:16 -04:00
Rob Rix
f2eccbb275 🔥 the contortionist pointfree definition of info. 2016-06-02 22:55:11 -04:00
Rob Rix
43757e8a61 🔥 Categorizable.
This reverts commit be59b0c161362baae63308478177819828be7e1b.
2016-06-02 19:10:41 -04:00
Rob Rix
4ea9eba71c Merge branch 'master' into render-diff-summaries-as-json 2016-06-01 16:23:39 -04:00
Rob Rix
ef47e435aa Merge branch 'master' into benchmark-alignment
# Conflicts:
#	test/TermSpec.hs
2016-06-01 16:22:02 -04:00
Rob Rix
d1884c2908 Put the term generator sizing test into its own group. 2016-06-01 12:30:05 -04:00
joshvera
6bb2be56cc update fixtures 2016-06-01 12:17:07 -04:00
Rob Rix
6a7ec24640 Test that we generate terms of the specified size. 2016-06-01 11:52:43 -04:00
Rob Rix
2064d3af8a Depend on semantic-diff’s definition of ArbitraryTerm in the tests. 2016-06-01 09:16:47 -04:00
Rob Rix
ad8a6fd241 Simplify the definition of arbitrary over ArbitraryTerm. 2016-05-31 20:33:13 -04:00
Rob Rix
514c513f13 Simplify the definition of shrink over ArbitraryTerm. 2016-05-31 20:31:32 -04:00
Rob Rix
36168c1698 Rename unTerm to toTerm. 2016-05-31 20:29:12 -04:00
Rob Rix
484ed765f0 Use the field accessor to define unTerm. 2016-05-31 20:17:49 -04:00
Rob Rix
50c6c6c4fa Define a field accessor for ArbitraryTerm. 2016-05-31 20:17:42 -04:00
Rob Rix
2696635aa4 ArbitraryTerm uses the TermF type synonym. 2016-05-31 20:15:24 -04:00
Rob Rix
37f960b6d1 ArbitraryTerm wraps CofreeF. 2016-05-31 20:14:38 -04:00
joshvera
465da6bae5 one more 2016-05-31 17:02:24 -04:00
joshvera
55f286d8be Replace instance of comparable 2016-05-31 17:01:01 -04:00
joshvera
cf21fddc08 Fix up tests 2016-05-31 16:38:47 -04:00
Rob Rix
f1ff739394 Correct the types in the spec. 2016-05-31 16:15:40 -04:00
Rob Rix
2887d0c2a1 Merge branch 'master' into fix-invalid-slice 2016-05-31 13:28:50 -04:00
Rob Rix
07190fb6d1 Add a regression test for #573. 2016-05-30 19:04:16 -04:00
Rob Rix
8e45e5973d Correct the nested-insert fixture. 2016-05-30 13:54:33 -04:00
Rob Rix
f4ff8d0b89 Correct the insert fixture. 2016-05-30 13:54:28 -04:00
Rob Rix
49f477f5b0 📝 Verbatim. 2016-05-30 12:46:25 -04:00
Rob Rix
3fbfe43935 Prepend a newline to avoid being indented by expected:/but got:. 2016-05-30 12:44:09 -04:00
Rob Rix
89733ccdef Test the fixtures in Verbatim. 2016-05-30 12:42:43 -04:00
Rob Rix
643e37477f Derive an NFData instance for Verbatim. 2016-05-30 12:42:19 -04:00
Rob Rix
f10c0b305d Enable GeneralizedNewtypeDeriving. 2016-05-30 12:42:11 -04:00
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