1
1
mirror of https://github.com/github/semantic.git synced 2024-12-22 14:21:31 +03:00
Commit Graph

6656 Commits

Author SHA1 Message Date
Rob Rix
b0aae13648 Unwrap TermFs recursively. 2017-05-09 13:48:55 -04:00
Rob Rix
1474c63c12 Pass the term functor to identifierFor. 2017-05-09 13:43:39 -04:00
Rob Rix
0a522a386d Don’t pattern match against the term functor. 2017-05-09 13:39:49 -04:00
Rob Rix
aaf9b2b7d4 🔥 foldDiff & foldDiffWith. 2017-05-09 13:34:03 -04:00
Rob Rix
c166973676 Simplify mapAnnotations. 2017-05-09 13:33:17 -04:00
Rob Rix
118e94a2a7 Merge branch 'master' into generalize-table-of-contents-over-the-syntax-functor 2017-05-09 13:21:49 -04:00
Rob Rix
3c6d311255 🔥 a type signature mentioning Syntax. 2017-05-09 12:51:26 -04:00
Rob Rix
dde54fed6f Move diffSource into the where clause. 2017-05-09 12:44:02 -04:00
Rob Rix
fd3dded127 Extract toInfo to the top level (again). 2017-05-09 12:40:18 -04:00
Rob Rix
a4a2425ada Use a single code path for diff/term source. 2017-05-09 12:09:02 -04:00
Rob Rix
e578772376 More straightforward computation of the source for a given diff/term. 2017-05-09 12:04:25 -04:00
Rob Rix
58ed93f559 Don’t call toTermName for Pure nodes. 2017-05-09 11:58:35 -04:00
Rob Rix
a3ac8c308a Don’t call toTermName for Free nodes. 2017-05-09 11:56:03 -04:00
Rob Rix
490820c79d 🔥 InSummarizable. 2017-05-09 11:16:17 -04:00
Rob Rix
d38b76f554 Reformat TOCSummary a bit further. 2017-05-09 11:13:17 -04:00
Rob Rix
c08bfe5e07 Represent parse errors with Nothing. 2017-05-09 11:08:18 -04:00
Rob Rix
239105b5fe Combine DiffInfo’s constructors. 2017-05-09 11:02:15 -04:00
Rob Rix
fd618537a4 Clean up how we summarize leaf infos. 2017-05-09 10:28:16 -04:00
Rob Rix
901b67ca53 Factor the TOCSummary construction out. 2017-05-09 10:26:32 -04:00
Rob Rix
636b51ed92 Reformat TOCSummary. 2017-05-09 10:07:21 -04:00
Rob Rix
af5db72165 Tighten up labelling dupes. 2017-05-09 10:06:14 -04:00
Rob Rix
41e205639f Simpler term name computation. 2017-05-08 17:41:59 -04:00
Rob Rix
e1093344a7 Simplify contextualization. 2017-05-08 17:39:21 -04:00
Rob Rix
c369867230 Simplify toJSONSummaries. 2017-05-08 17:16:48 -04:00
Rob Rix
28d858ce32 Use record syntax for every case in toInfo. 2017-05-08 17:14:21 -04:00
Rob Rix
f33f2d6622 Flatten various branches with foldMap. 2017-05-08 17:11:03 -04:00
Rob Rix
ac832e9e4c fmap with fewer parens. 2017-05-08 17:09:37 -04:00
Rob Rix
48457f13cc s/toTOCSummaries/summarize/ 2017-05-08 16:52:03 -04:00
Rob Rix
a9b7903d8e Contextualize ToC summaries in a foldMap. 2017-05-08 16:41:10 -04:00
Rob Rix
f41a5f120b 🔥 BranchInfo. 2017-05-08 16:00:29 -04:00
Rob Rix
51d548cb0a 🔥 flattenPatch.
traverse has different semantics, but I’m pretty sure the zipWith was problematic.
2017-05-08 15:50:13 -04:00
Rob Rix
967ded76a8 Move toTOCSummaries & termToDiffInfo into diffTOC. 2017-05-08 15:47:51 -04:00
Rob Rix
9750fa35ec Map patches to ToC summaries without a second pass. 2017-05-08 15:20:22 -04:00
Rob Rix
03fc463c5c Format Summarizable across several lines. 2017-05-08 15:11:12 -04:00
Rob Rix
2d6c485ace Tighten up how we compute the summary key. 2017-05-08 13:21:40 -04:00
Rob Rix
301266a237 📝 foldDiff/foldDiffWith. 2017-05-08 12:48:49 -04:00
Rob Rix
2471b15e0d Reformat the type signatures. 2017-05-08 12:44:36 -04:00
Rob Rix
d2f71809e6 Swap the order of the merge & algebra parameters. 2017-05-08 12:43:29 -04:00
Rob Rix
c6172239dd s/Monoid/Semigroup/ 2017-05-08 12:42:56 -04:00
Rob Rix
6f56bc980a Define a convenience wrapper for foldDiffWith when the result is a Monoid. 2017-05-08 12:42:36 -04:00
Rob Rix
a4cb5c5a30 Add a merging function to foldDiff. 2017-05-08 12:41:26 -04:00
Rob Rix
9fee3b2bc5 🔥 modifyAnnotations. 2017-05-08 11:54:50 -04:00
Rob Rix
4fe2a4cec1 Simplify mapAnnotations with the Bifunctor instance. 2017-05-08 11:53:23 -04:00
Rob Rix
d1c9c69ed8 🔥 ScopedTypeVariables. 2017-05-08 11:52:36 -04:00
Rob Rix
535403e326 Define an eliminator for diffs. 2017-05-08 11:46:12 -04:00
Rob Rix
d74c5fc2d2 🔥 ScopedTypeVariables. 2017-05-08 11:37:20 -04:00
Rob Rix
60782087de 🔥 a redundant forall. 2017-05-08 11:37:10 -04:00
Rob Rix
cba78c805f Specialize the leaf type. 2017-05-08 11:36:45 -04:00
Rob Rix
92be6ee6d1 Use the full types diffs & terms. 2017-05-08 11:35:34 -04:00
Rob Rix
b3fcde2abb Avoid indirection for error summaries. 2017-05-08 11:32:25 -04:00
Rob Rix
3cede7da09 Represent NotSummarizable as Nothing. 2017-05-08 11:31:30 -04:00
Rob Rix
821b598e2a Further tighten toTermName. 2017-05-08 11:24:25 -04:00
Rob Rix
6e411c7c85 Compute toTermName as a paramorphism. 2017-05-08 11:22:04 -04:00
Rob Rix
1b487b6907 🔥 offsetting in toTermName.
toTermName is a shallow traversal, so there’s little or no point in offsetting before recursive calls.
2017-05-08 11:18:23 -04:00
Rob Rix
2e98b4570d Contextualize summaries in diffToTOCSummaries directly. 2017-05-08 11:16:37 -04:00
Rob Rix
9df2a73e38 Tighten up toTermName. 2017-05-08 11:16:23 -04:00
Rob Rix
76002f08c0 🔥 redundant parens. 2017-05-08 09:56:11 -04:00
Rob Rix
f3cf3cb1d1 🔥 SummarizableTerm. 2017-05-08 09:55:56 -04:00
Rob Rix
4894a5b286 Merge branch 'master' into generalize-alignment-over-the-syntax-functor 2017-05-08 09:50:38 -04:00
Rob Rix
7c100f5bfa Clarify the indentation of assignment operators. 2017-05-08 09:47:09 -04:00
Rob Rix
6ce4496f14 Merge branch 'master' into opt-in-anonymous-nodes 2017-05-08 08:33:14 -04:00
Rob Rix
4274fdf6e3 Merge branch 'master' into generalize-alignment-over-the-syntax-functor 2017-05-08 08:28:01 -04:00
Rob Rix
8d8fa78b47 Simplify summarizable. 2017-05-05 16:34:16 -04:00
Timothy Clem
ab0a6d59dd Merge branch 'master' into fix-json-output-again 2017-05-05 13:30:48 -07:00
Rob Rix
0c7af370f7 Define termToDiffInfo as a paramorphism. 2017-05-05 16:28:46 -04:00
Rob Rix
c73a79eb83 No need to qualify sourceSpan. 2017-05-05 16:19:49 -04:00
Rob Rix
a55b97b017 Use the named field accessor. 2017-05-05 16:08:51 -04:00
Rob Rix
2491dde0f9 Don’t bind the individual info functions. 2017-05-05 16:00:52 -04:00
Rob Rix
e667657d94 Bind the diff info functions at the top level. 2017-05-05 16:00:10 -04:00
Rob Rix
b6cc1cfac1 🔥 redundant parens. 2017-05-05 15:56:15 -04:00
Rob Rix
628bf46ed3 Don’t bind syntax. 2017-05-05 15:56:04 -04:00
Rob Rix
274095720b Tighten up diffToTOCSummaries. 2017-05-05 15:54:38 -04:00
Rob Rix
f820af4f5a Factor the application of toLeafInfos out. 2017-05-05 15:48:54 -04:00
Rob Rix
c3f510f83d Rename toLeafInfos' to toLeafInfos. 2017-05-05 15:45:51 -04:00
Rob Rix
c6b49cba94 Simplify the termToDiffInfo definition by closing over the source. 2017-05-05 15:44:37 -04:00
Rob Rix
0ab53b002a Flatten toTOCSummaries. 2017-05-05 15:33:16 -04:00
Rob Rix
948869066c Even tighter. 2017-05-05 15:28:09 -04:00
Rob Rix
2ac1baef7a Tighten up the definition of afterOrBefore. 2017-05-05 15:27:50 -04:00
Rob Rix
8cd74f6ea2 afterOrBefore always returns a value. 2017-05-05 15:26:26 -04:00
Rob Rix
286d751b7b Merge branch 'master' into opt-in-anonymous-nodes 2017-05-05 13:47:07 -04:00
Rob Rix
ba32db8fc9 Merge branch 'master' into diffs-a-la-carte 2017-05-05 13:46:40 -04:00
Rob Rix
7b961977b7 Merge branch 'master' into generalize-alignment-over-the-syntax-functor 2017-05-05 13:46:23 -04:00
Timothy Clem
f2f6bb45d9 Don't parse blobs that don't exist 2017-05-05 10:06:58 -07:00
Timothy Clem
1959301204 Use a list to simplify json output concatenation 2017-05-05 09:09:45 -07:00
Timothy Clem
2b4d4a0e85 Bring back original json structure with 'sourceRange' and identifier only on specific nodes 2017-05-05 09:08:58 -07:00
Rob Rix
f14cd97cae Merge branch 'master' into generalize-alignment-over-the-syntax-functor 2017-05-05 10:56:23 -04:00
Rob Rix
875fe1c5ae Merge branch 'master' into assignment-best-practices 2017-05-05 10:56:19 -04:00
Rob Rix
1ca4d21c47 Merge branch 'master' into diffs-a-la-carte 2017-05-05 10:56:17 -04:00
Rob Rix
209a2de6b6 Merge branch 'master' into opt-in-anonymous-nodes 2017-05-05 10:56:14 -04:00
Timothy Clem
e53a8342a3 Missing one case for this monoid instance to be associative 2017-05-05 07:52:14 -07:00
Rob Rix
ccf92f9808 Rename setCharacterRange -> setByteRange. 2017-05-05 09:32:15 -04:00
Rob Rix
d9b6c51319 Extract the wrapInBranch lambda into a binding. 2017-05-05 09:31:23 -04:00
Rob Rix
634b8e450f Apply the fusion law. 2017-05-05 09:30:27 -04:00
Rob Rix
bee7d1ee6a Merge branch 'master' into fix-json-output 2017-05-05 09:06:30 -04:00
Timothy Clem
bea5d66f3f Bit more nuanced of a monoid instance for Value 2017-05-04 14:56:53 -07:00
Timothy Clem
477165a4c2 Collapse up and remove unused language extensions 2017-05-04 14:56:08 -07:00
Rob Rix
231abd6cb5 Generalize alignment over the syntax functor. 2017-05-04 17:31:45 -04:00
Rob Rix
5d206c3c9a Merge branch 'master' into assignment-best-practices 2017-05-04 13:18:18 -04:00
Rob Rix
e943a5372c Merge branch 'master' into diffs-a-la-carte 2017-05-04 13:18:12 -04:00
Rob Rix
9f1a4bc778 Merge branch 'master' into opt-in-anonymous-nodes 2017-05-04 13:18:00 -04:00
Rob Rix
13d6b313cb Document how tokens are skipped. 2017-05-04 13:11:09 -04:00
Rob Rix
d62b6170e6 Document optional. 2017-05-04 13:04:54 -04:00
Rob Rix
64ada1c6c2 Document some/many repetitions. 2017-05-04 13:03:46 -04:00
Rob Rix
da158b4a12 Document committed choice. 2017-05-04 12:58:00 -04:00
Rob Rix
7467fabfa4 Document combining assignments with the various instances. 2017-05-04 12:25:05 -04:00
Rob Rix
a30769167c Document 'pure' assignments. 2017-05-04 11:29:44 -04:00
Rob Rix
9644561a8d Document the basic primitives. 2017-05-04 11:27:43 -04:00
Rob Rix
dde29370de Simplify the initial discussion of Assignments. 2017-05-04 11:06:25 -04:00
Rob Rix
838262df2d Clarify the assignment-context bit. 2017-05-04 11:04:42 -04:00
Rob Rix
aed82c030d Merge branch 'master' into opt-in-anonymous-nodes 2017-05-04 11:02:30 -04:00
Rob Rix
a656a94664 Merge branch 'master' into diffs-a-la-carte 2017-05-04 11:02:22 -04:00
Rob Rix
9d5b040c42 Merge remote-tracking branch 'origin/master' into assignment-best-practices 2017-05-04 11:01:31 -04:00
Rob Rix
68b813d51b Merge branch 'master' into 🔥-split-renderer 2017-05-04 10:59:21 -04:00
Rob Rix
a14093bf06 Correct the usage for the -o flag. 2017-05-04 10:56:28 -04:00
Rob Rix
32a6901d38 📝 the module a bit. 2017-05-04 10:55:12 -04:00
Rob Rix
9c2b7dfbe0 🔥 Renderer.Split. 2017-05-04 10:10:45 -04:00
Rob Rix
d085b11789 🔥 the split diff renderer. 2017-05-04 10:09:29 -04:00
Rob Rix
d5e0cd5693 🔥 the split diff arguments constructor. 2017-05-04 10:09:19 -04:00
Rob Rix
f385a6e54f 🔥 the --split renderer flag. 2017-05-04 10:09:02 -04:00
Timothy Clem
31c01c0092 Give sExpressions output a trailing newline again 2017-05-03 14:11:37 -07:00
Timothy Clem
69b6c6b21e Let reading from /dev/null throw - need emptySourceBlob for this case 2017-05-03 14:11:02 -07:00
Rob Rix
d10ca290b9 Use diffMaybe instead of maybeLinearly. 2017-05-03 16:58:43 -04:00
Rob Rix
45406c5c81 Define a combinator for diffing in Maybe. 2017-05-03 16:56:15 -04:00
Rob Rix
a0df4f8845 Skip wrapping in Maybe. 2017-05-03 16:52:56 -04:00
Rob Rix
8a2725f524 Merge branch 'master' into diffs-a-la-carte 2017-05-03 16:38:09 -04:00
Rob Rix
d524fa05bb Define Align-based GAlign instances for [] and Maybe. 2017-05-03 16:24:05 -04:00
Timothy Clem
c9f69c32b5 ++haskell-tree-sitter to use halt_on_error 2017-05-03 13:22:46 -07:00
Rob Rix
116e5b0e08 Derive GAlign instances for all of the à la carte syntax types. 2017-05-03 16:05:27 -04:00
Rob Rix
c189e786c5 Define a GAlign instance for Identity. 2017-05-03 16:00:13 -04:00
Rob Rix
1f6d044994 Define GAlign instances for Unions. 2017-05-03 15:58:27 -04:00
Rob Rix
ce50d2da71 🔥 the Functor context for GAlign. 2017-05-03 15:56:16 -04:00
Rob Rix
eb18e2ef6e Move the GAlign instance for Syntax into Syntax’ module. 2017-05-03 15:45:07 -04:00
Rob Rix
028d760190 Revert "Reuse the canCompare parameter."
This reverts commit 2f4f50e8e41f64721f6e7cd887d22c16263b3e52.
2017-05-03 15:37:19 -04:00
Rob Rix
be3937cc42 Reuse the canCompare parameter. 2017-05-03 15:24:05 -04:00
Rob Rix
22e7e8ca3e Generalize decompose over the general term-diffing algorithm computation. 2017-05-03 15:17:59 -04:00
Rob Rix
a212fc628d s/cont/yield/. 2017-05-03 14:58:48 -04:00
Rob Rix
2e825ec90b Generalize runAlgorithm and runAlgorithmSteps to arbitrary functors in Freer. 2017-05-03 14:54:41 -04:00
Rob Rix
744f8cfe2e Generalize the algorithm running functions over arbitrary term/diff types. 2017-05-03 14:51:58 -04:00
Rob Rix
b7d5f03a1b 🔥 runAlgorithmStep. 2017-05-03 14:50:23 -04:00
Rob Rix
34807f26bb runAlgorithmSteps is parameterized by the decomposition operation. 2017-05-03 14:50:10 -04:00
Rob Rix
2e2ff9d614 runAlgorithm is parameterized by the decomposition operation. 2017-05-03 14:45:46 -04:00
Rob Rix
77bdda7b7e s/run/runAlgorithm/. 2017-05-03 14:38:11 -04:00
Rob Rix
cb7a5a7b57 runStep returns the continuation without wrapping in Either. 2017-05-03 14:35:54 -04:00
Rob Rix
459616e543 Merge branch 'master' into opt-in-anonymous-nodes 2017-05-03 14:27:03 -04:00
Rob Rix
11ca3a902b 🔥 a redundant constraint. 2017-05-03 13:55:18 -04:00
Rob Rix
363d21b607 Generalize s-expression rendering to arbitrary Foldables. 2017-05-03 13:43:32 -04:00
Rob Rix
1d024aafc9 Assign regular = assignments. 2017-05-03 11:52:38 -04:00
Rob Rix
8cc0526b23 Move assignment out into a separate top-level binding. 2017-05-03 11:51:22 -04:00
Rob Rix
159cf5772b Assign ^=. 2017-05-03 11:50:01 -04:00
Rob Rix
53fde0b91b Assign <<=. 2017-05-03 11:49:16 -04:00