Rob Rix
|
cb715cb8ea
|
Accumulate keyed elements.
|
2015-12-01 16:18:36 -05:00 |
|
Rob Rix
|
dd5c507f0c
|
Definition lists contain a list and not a map.
|
2015-12-01 16:18:19 -05:00 |
|
Rob Rix
|
3daa354cce
|
Add a term case.
|
2015-12-01 16:18:08 -05:00 |
|
Rob Rix
|
8387d7bc6e
|
Split rendering of fixed terms.
|
2015-12-01 16:07:53 -05:00 |
|
Rob Rix
|
9b1b1b8643
|
Extract a makeList function for lists.
|
2015-12-01 16:07:45 -05:00 |
|
Rob Rix
|
453499d4d7
|
Use subtext .
|
2015-12-01 15:57:44 -05:00 |
|
Rob Rix
|
26625e1c1c
|
Add a function to produce a node from a subrange.
|
2015-12-01 15:57:37 -05:00 |
|
Rob Rix
|
776580768c
|
Handle indexed nodes (or pretend to).
|
2015-12-01 15:56:15 -05:00 |
|
Rob Rix
|
c44418272c
|
Render patches and terms to HTML (maybe)
|
2015-12-01 15:39:55 -05:00 |
|
Rob Rix
|
cc5cca02f7
|
Classification of terms by their categories.
|
2015-12-01 15:39:45 -05:00 |
|
Rob Rix
|
e6f75ea741
|
ClassNames Maybe???
|
2015-12-01 15:39:21 -05:00 |
|
Rob Rix
|
f68c0521a8
|
Add a stupid HTML type.
|
2015-12-01 15:31:02 -05:00 |
|
Rob Rix
|
6da6631302
|
Name the line range.
|
2015-12-01 15:30:54 -05:00 |
|
Rob Rix
|
25b1756419
|
Populate the line range.
|
2015-12-01 15:04:23 -05:00 |
|
Rob Rix
|
fe4e2cf260
|
Bridge to the node start/end point functions.
|
2015-12-01 14:59:29 -05:00 |
|
Rob Rix
|
1b5f6b848d
|
stub line ranges in Info
|
2015-12-01 14:51:21 -05:00 |
|
Rob Rix
|
f2ca75a276
|
Map patches into pairs of optional elements.
|
2015-12-01 14:35:41 -05:00 |
|
Rob Rix
|
9048d3101f
|
Map terms into elements.
|
2015-12-01 14:35:33 -05:00 |
|
Rob Rix
|
68ce3a200e
|
Add an Element type synonym.
|
2015-12-01 14:35:23 -05:00 |
|
Rob Rix
|
080fda5bdf
|
Stub in splitting.
|
2015-12-01 14:18:13 -05:00 |
|
Rob Rix
|
9f41d5072e
|
Only export the one symbol.
|
2015-12-01 11:38:48 -05:00 |
|
Rob Rix
|
8600d7d71b
|
Stub in split diff rendering.
|
2015-12-01 11:33:16 -05:00 |
|
Rob Rix
|
226dc1e966
|
Hide Data.Set.split .
|
2015-12-01 11:33:10 -05:00 |
|
Rob Rix
|
5512f48ee5
|
Add a --split option.
|
2015-12-01 11:32:52 -05:00 |
|
Rob Rix
|
f655c414f7
|
Bind the diff outside the output.
|
2015-12-01 11:26:46 -05:00 |
|
Rob Rix
|
bfb982f69e
|
Only format unified diffs when --unified is used.
|
2015-12-01 11:24:33 -05:00 |
|
Rob Rix
|
e8609ba886
|
Remove files .
|
2015-12-01 11:22:28 -05:00 |
|
Rob Rix
|
0dbfbba869
|
Use the parsed arguments.
|
2015-12-01 11:22:26 -05:00 |
|
Rob Rix
|
250f52e01a
|
Parse the args with our parser.
|
2015-12-01 11:19:40 -05:00 |
|
Rob Rix
|
2976bb1f18
|
Add a parser for our arguments.
|
2015-12-01 11:15:13 -05:00 |
|
Rob Rix
|
b98839393d
|
Split the sources up into fields.
|
2015-12-01 11:15:05 -05:00 |
|
Rob Rix
|
3c1c4e6911
|
Add the model for our arguments.
|
2015-12-01 11:08:04 -05:00 |
|
Rob Rix
|
d5f53facd2
|
Stub in a Split module.
|
2015-12-01 10:56:27 -05:00 |
|
Rob Rix
|
be48dd844f
|
unifiedRange operates on its argument, not the after string.
|
2015-12-01 10:24:36 -05:00 |
|
Rob Rix
|
8a17c2eea9
|
Pass the source into annotationAndSyntaxToChunks .
|
2015-11-30 18:50:08 -05:00 |
|
Rob Rix
|
701846c49d
|
Rename f .
|
2015-11-30 18:28:40 -05:00 |
|
Rob Rix
|
8b74a99e7e
|
Everything is lists of chunks.
|
2015-11-27 14:28:06 -05:00 |
|
Rob Rix
|
4a6a17ce26
|
Remove `Unified.
|
2015-11-27 14:28:01 -05:00 |
|
Rob Rix
|
b1629443fb
|
Compute the chunks in a Unified rendering.
|
2015-11-27 14:15:42 -05:00 |
|
Rob Rix
|
ea37bf8889
|
Add a Unified datatype to render to.
|
2015-11-27 14:15:34 -05:00 |
|
Rob Rix
|
f2cede523e
|
Only take the difference # of characters.
|
2015-11-27 12:50:08 -05:00 |
|
Rob Rix
|
a2f190fb14
|
Export substring.
|
2015-11-27 12:49:46 -05:00 |
|
Rob Rix
|
6852e72e08
|
Factor Chunk out of substring.
|
2015-11-27 12:49:40 -05:00 |
|
Rob Rix
|
4aa89bd919
|
Print out the unified diff.
|
2015-11-27 12:42:00 -05:00 |
|
Rob Rix
|
070e60f149
|
Alphabetical order.
|
2015-11-27 12:41:38 -05:00 |
|
Rob Rix
|
acfb27ba9b
|
Diff things.
|
2015-11-27 12:22:05 -05:00 |
|
Rob Rix
|
bb9bf71d17
|
Merge branch 'master' into sunshine-lollipops-and-rainbows-everywhere
# Conflicts:
# semantic-diff.cabal
|
2015-11-27 11:36:18 -05:00 |
|
Rob Rix
|
c77b0e088e
|
Remove Console.
|
2015-11-27 11:33:46 -05:00 |
|
Rob Rix
|
afce15e01f
|
Use <> instead of mappend.
|
2015-11-27 11:32:31 -05:00 |
|
Rob Rix
|
3d65c325d1
|
We no longer need Console.
|
2015-11-27 11:31:35 -05:00 |
|
Rob Rix
|
5c295fdcec
|
Remove the Attribute stuff.
|
2015-11-27 11:31:24 -05:00 |
|
Rob Rix
|
be328aa0c2
|
Unified rendering produces ByteStrings using rainbow.
|
2015-11-27 11:31:03 -05:00 |
|
Rob Rix
|
b109418ede
|
We don’t need format after all.
|
2015-11-27 11:18:51 -05:00 |
|
Rob Rix
|
1010e10889
|
Add a binding to format a string.
|
2015-11-27 10:36:59 -05:00 |
|
Rob Rix
|
99e383a644
|
Move Console and Unified into the exe.
|
2015-11-27 10:14:12 -05:00 |
|
Rob Rix
|
908d6b9de0
|
Ingest Keyed nodes.
|
2015-11-27 09:19:40 -05:00 |
|
Rob Rix
|
1ecad15128
|
Import Data.Map again.
|
2015-11-27 09:19:09 -05:00 |
|
Rob Rix
|
854e2f7013
|
withNamedChildren returns name/child pairs.
|
2015-11-27 09:19:02 -05:00 |
|
Rob Rix
|
2353cf3798
|
Rename the parameter.
|
2015-11-26 16:28:17 -05:00 |
|
Rob Rix
|
0e68767028
|
Close over the function.
|
2015-11-26 16:27:57 -05:00 |
|
Rob Rix
|
fdc2942411
|
Just return the result directly.
|
2015-11-26 16:27:22 -05:00 |
|
Rob Rix
|
3b24a3cd34
|
Parsing returns a Term.
|
2015-11-26 16:25:55 -05:00 |
|
Rob Rix
|
ae7235eb69
|
Use withCString instead of copying and freeing.
|
2015-11-26 16:24:57 -05:00 |
|
Rob Rix
|
4fd4c66f08
|
Rename parse to documentToTerm .
|
2015-11-26 16:22:27 -05:00 |
|
Rob Rix
|
253c461b12
|
Handle the alloca in parse .
|
2015-11-26 16:22:01 -05:00 |
|
Rob Rix
|
f27f35c683
|
Better error messages.
|
2015-11-26 16:21:54 -05:00 |
|
Rob Rix
|
ac470d3fbb
|
We no longer require a Storable instance for TSLength.
|
2015-11-26 16:17:25 -05:00 |
|
Rob Rix
|
8a2fac6816
|
Construct a singleton set.
|
2015-11-26 16:15:56 -05:00 |
|
Rob Rix
|
4505c0f7e3
|
Don’t qualify member and fromList .
|
2015-11-26 16:15:39 -05:00 |
|
Rob Rix
|
f6f4ea05ed
|
Don’t import Data.Map .
|
2015-11-26 16:14:34 -05:00 |
|
Rob Rix
|
54e931eabe
|
Handle the allocation within parseTreeSitterFile .
|
2015-11-26 16:09:16 -05:00 |
|
Rob Rix
|
be6dc5e627
|
Once more remove withAlloc.
|
2015-11-26 16:07:25 -05:00 |
|
Rob Rix
|
ab7fa792ed
|
Use alloca instead of withAlloc.
|
2015-11-26 16:07:21 -05:00 |
|
Rob Rix
|
018f4dcbd5
|
Operate strictly recursively.
This means we’re ensured of using allocations solely within the scopes
in which they are valid.
|
2015-11-26 16:07:04 -05:00 |
|
Rob Rix
|
19818231f5
|
We can safely alloca the root.
|
2015-11-26 15:37:57 -05:00 |
|
Rob Rix
|
49133ad240
|
Don’t import Generic.
|
2015-11-26 14:03:57 -05:00 |
|
Rob Rix
|
aaf4164e92
|
Don’t derive Generic.
|
2015-11-26 14:03:53 -05:00 |
|
Rob Rix
|
4d314d6729
|
Don’t import GHC.Prim.
|
2015-11-26 14:02:33 -05:00 |
|
Rob Rix
|
755cae0ae4
|
Don’t import CStorable.
|
2015-11-26 14:01:46 -05:00 |
|
Rob Rix
|
f15af07f2e
|
Don’t bother deriving CStorable.
|
2015-11-26 14:01:42 -05:00 |
|
Rob Rix
|
1e8c4b54ac
|
Just cheer when we’re done.
|
2015-11-26 14:01:16 -05:00 |
|
Rob Rix
|
1df3b71e2c
|
Rename the variable.
|
2015-11-25 18:42:21 -05:00 |
|
Rob Rix
|
f82ff23e8d
|
Declare ts_language_c().
|
2015-11-25 18:38:38 -05:00 |
|
Rob Rix
|
3f37b6544f
|
Linkers are terrible.
|
2015-11-25 18:38:29 -05:00 |
|
Rob Rix
|
5162128c40
|
What if malloc?
It no longer crashes, so, that’s cool.
|
2015-11-25 18:32:48 -05:00 |
|
Rob Rix
|
1eac4a8ab3
|
Fake out the storable instances.
|
2015-11-25 18:32:17 -05:00 |
|
Rob Rix
|
bf3fac3d53
|
What if these were records?
|
2015-11-25 18:32:05 -05:00 |
|
Rob Rix
|
b4bcc9ef47
|
Tidy up toTerm.
|
2015-11-25 18:31:54 -05:00 |
|
Rob Rix
|
d4d6210a19
|
Restore withAlloc.
|
2015-11-25 18:30:55 -05:00 |
|
Rob Rix
|
3cbe2f7a15
|
Assert that we didn’t get a broken child.
|
2015-11-25 18:30:21 -05:00 |
|
Rob Rix
|
88e78d00d8
|
Fetch the node’s name once per node.
|
2015-11-25 17:11:43 -05:00 |
|
Rob Rix
|
7039beceea
|
Return fast on empty children lists.
|
2015-11-25 17:09:42 -05:00 |
|
Rob Rix
|
81559526ac
|
Assert that the data ptr is non-null.
|
2015-11-25 17:02:06 -05:00 |
|
Rob Rix
|
caf06cef5e
|
Don’t import the Haskell parser stuff.
|
2015-11-25 16:41:06 -05:00 |
|
Rob Rix
|
5158e28349
|
Up to but not including the count.
|
2015-11-25 15:22:18 -05:00 |
|
Rob Rix
|
4aadaae7b6
|
Convert name to a Haskell string.
|
2015-11-25 15:17:51 -05:00 |
|
Rob Rix
|
2fef254244
|
Disambiguate which member we mean.
|
2015-11-25 15:17:40 -05:00 |
|
Rob Rix
|
854225666b
|
Produce Fixed nodes.
|
2015-11-25 15:10:49 -05:00 |
|
Rob Rix
|
3f97be8df8
|
Remove withAlloc .
|
2015-11-25 15:05:24 -05:00 |
|
Rob Rix
|
ac6173fd8a
|
Just use alloca.
|
2015-11-25 15:05:10 -05:00 |
|
Rob Rix
|
debae6d3d4
|
Everything else is Indexed (for now).
|
2015-11-25 15:02:42 -05:00 |
|
Rob Rix
|
aa4de17445
|
Only use leaves for empty nodes.
|
2015-11-25 15:02:30 -05:00 |
|
Rob Rix
|
d6860a8934
|
Unpack the node and category another layer deep.
|
2015-11-25 15:02:11 -05:00 |
|
Rob Rix
|
0b735a697d
|
None of these may be NULL.
|
2015-11-25 15:01:27 -05:00 |
|
Rob Rix
|
855a8bc51b
|
Annotate terms with ranges.
|
2015-11-25 12:56:22 -05:00 |
|
Rob Rix
|
3f5ce3806d
|
Populate leaves with the substring for the node.
|
2015-11-25 12:54:42 -05:00 |
|
Rob Rix
|
8bc51c2f86
|
Compute a substring from a range.
|
2015-11-25 12:53:56 -05:00 |
|
Rob Rix
|
40a0bc0b91
|
Pass the contents of the file to toTerm.
|
2015-11-25 12:53:48 -05:00 |
|
Rob Rix
|
ba3e2d8256
|
Compute the range of a given node.
|
2015-11-25 12:51:11 -05:00 |
|
Rob Rix
|
c57dd1ef8f
|
Return the position & size directly.
Copying into TSLengths ended up being worst of both worlds.
|
2015-11-25 12:50:22 -05:00 |
|
Rob Rix
|
93e05435e5
|
Import position/size functions.
|
2015-11-25 12:25:06 -05:00 |
|
Rob Rix
|
5667f4d687
|
That is not where these live.
|
2015-11-25 12:24:07 -05:00 |
|
Rob Rix
|
6444566952
|
Bridge node sizing.
|
2015-11-25 12:22:21 -05:00 |
|
Rob Rix
|
81d529dee8
|
Bridge node positions.
|
2015-11-25 12:21:47 -05:00 |
|
Rob Rix
|
1bb38abd71
|
Generalize withNode to withAlloc .
|
2015-11-25 12:19:39 -05:00 |
|
Rob Rix
|
2d60fea921
|
Remove the Kliesli import as we don’t actually use it.
|
2015-11-25 12:08:30 -05:00 |
|
Rob Rix
|
0f059a4299
|
Retrieve the named children of a node.
|
2015-11-25 12:06:21 -05:00 |
|
Rob Rix
|
b39bc3e33e
|
Produce a list of named children of a node.
|
2015-11-25 12:05:25 -05:00 |
|
Rob Rix
|
e87459d608
|
Import left-to-right Kliesli composition.
|
2015-11-25 12:05:05 -05:00 |
|
Rob Rix
|
17078ad865
|
Import the named child function.
|
2015-11-25 11:47:24 -05:00 |
|
Rob Rix
|
4f63394379
|
Add a wrapper function for getting the child at a specific index.
|
2015-11-25 11:46:34 -05:00 |
|
Rob Rix
|
6c1688f7ef
|
Retrieve the named child count.
|
2015-11-25 11:43:36 -05:00 |
|
Rob Rix
|
9b35bd7f24
|
Import the named child count.
|
2015-11-25 11:43:31 -05:00 |
|
Rob Rix
|
5b6c88b6b8
|
Add a bridging function wrapping ts_node_named_child_count.
|
2015-11-25 11:42:31 -05:00 |
|
Rob Rix
|
3744714c59
|
Move the productions into toTerm .
|
2015-11-25 11:12:16 -05:00 |
|
Rob Rix
|
333bba93c5
|
Flesh out toTerm.
|
2015-11-25 10:52:48 -05:00 |
|
Rob Rix
|
b1a419e6ee
|
Pull toTerm out into global scope and parameterize by document .
|
2015-11-25 10:41:37 -05:00 |
|
Rob Rix
|
56ad4b9b9c
|
Retrieve the node’s name.
|
2015-11-25 10:39:13 -05:00 |
|
Rob Rix
|
3460632ab9
|
Import ts_node_p_name.
|
2015-11-25 10:09:05 -05:00 |
|
Rob Rix
|
8030d173a2
|
Bridge a function for getting a node’s name.
|
2015-11-25 10:08:16 -05:00 |
|
Rob Rix
|
277971ba16
|
Just Ptr, not Foreign.Ptr.
|
2015-11-25 10:06:14 -05:00 |
|
Rob Rix
|
cc7041f0e8
|
Match any category in the definition of toTerm.
|
2015-11-25 10:01:07 -05:00 |
|
Rob Rix
|
12e6c223b0
|
Add sets of keyed/fixed productions.
|
2015-11-25 10:00:52 -05:00 |
|
Rob Rix
|
5aa7306b78
|
Unambiguous unfolding.
|
2015-11-25 09:56:26 -05:00 |
|
Rob Rix
|
c95d2099b6
|
Hide unfoldM.
|
2015-11-25 09:56:14 -05:00 |
|
Rob Rix
|
a147cffe11
|
Use withNode for the root.
|
2015-11-25 09:38:28 -05:00 |
|
Rob Rix
|
048b1cb98f
|
Add a withNode function abstracting allocation & casting.
|
2015-11-25 09:37:44 -05:00 |
|
Rob Rix
|
ea490a3871
|
Rearrange the where clause &c.
|
2015-11-25 09:37:19 -05:00 |
|
Rob Rix
|
73c2ec7d33
|
Start unfolding a term.
|
2015-11-24 17:14:44 -05:00 |
|
Rob Rix
|
76784bf7e4
|
Extract parsing files.
|
2015-11-24 16:51:53 -05:00 |
|
Rob Rix
|
de65176a0a
|
Use withForeignPtr to clean up the root node.
|
2015-11-24 16:46:42 -05:00 |
|
Rob Rix
|
8c0496fb95
|
Just leak the root node already.
|
2015-11-24 16:42:10 -05:00 |
|
Rob Rix
|
0effaae938
|
Allocate a root node I guess.
|
2015-11-24 16:40:47 -05:00 |
|
Rob Rix
|
eaf365f4f6
|
Import the bridged TSNode thing.
|
2015-11-24 16:39:42 -05:00 |
|
Rob Rix
|
76e086cf8c
|
Implement Storable for TSLength.
|
2015-11-24 16:39:31 -05:00 |
|
Rob Rix
|
cb08d79464
|
Add some bridges and stuff.
|
2015-11-24 16:39:20 -05:00 |
|
Rob Rix
|
7879dccb63
|
TSNode’s fields are strict.
|
2015-11-24 14:35:56 -05:00 |
|
Rob Rix
|
2c5f17228b
|
TSLength’s fields are strict.
|
2015-11-24 14:35:40 -05:00 |
|
Rob Rix
|
cc3fd398b9
|
Extra space.
|
2015-11-24 14:32:12 -05:00 |
|
Rob Rix
|
31de4ca26b
|
Don’t use record syntax for TSNode.
|
2015-11-24 14:32:02 -05:00 |
|