Max Brunsfeld
535879a2bd
Represent byte, char and tree counts as 32 bit numbers
...
The parser spends the majority of its time allocating and freeing trees and stack nodes.
Also, the memory footprint of the AST is a significant concern when using tree-sitter
with large files. This library is already unlikely to work very well with source files
larger than 4GB, so representing rows, columns, byte lengths and child indices as
unsigned 32 bit integers seems like the right choice.
2016-11-14 12:19:13 -08:00
Max Brunsfeld
c9dcb29c6f
Remove the TS prefix from some internal type/function names
2016-11-09 20:59:05 -08:00
Max Brunsfeld
5638fea120
Rename length_set_unknown -> length_set_unknown_chars
2016-10-16 21:21:53 -07:00
Max Brunsfeld
44b0c96579
Move point functions to their own file
2016-10-16 21:21:21 -07:00
Max Brunsfeld
eed54d95e1
Merge branch 'master' into changed-ranges
2016-10-16 21:10:25 -07:00
Max Brunsfeld
b3140b2689
Implement ts_document_parse_and_get_changed_ranges
2016-10-15 22:31:21 -07:00
Max Brunsfeld
e149d94ff5
Remove generated parsers' dependency on runtime.h
2016-10-05 14:02:49 -07:00
Max Brunsfeld
00528e50ce
Change edit API to be byte-based
2016-09-13 13:08:52 -07:00
Max Brunsfeld
cc62fe0375
Represent Lengths in terms of Points
2016-09-09 21:11:02 -07:00
Max Brunsfeld
4f0c83ba01
Move logic for lexical error handling outside of lexer functions
...
This way, less logic needs to be exposed in parser.h
2016-09-03 23:40:57 -07:00
Max Brunsfeld
08d50c25ae
clang-format
2015-12-04 20:56:33 -08:00
Max Brunsfeld
d2bf88d5fe
Include rows and columns in TSLength
...
This way, we don't have to have separate 1D and 2D versions for so many values
2015-12-04 20:20:29 -08:00
Max Brunsfeld
22c76fc71b
Remove TSLength from runtime header
...
Refactor node functions now that character offset and byte offset are stored separately
2015-12-04 10:45:30 -08:00
joshvera
06c790e16e
declare ts_point_make before using it
2015-12-02 17:51:06 -05:00
joshvera
144aab22e6
missed two
2015-12-02 17:47:46 -05:00
joshvera
debf5205fb
Don't use c-style structs
2015-12-02 17:44:14 -05:00
joshvera
dc3818987c
start points from zero
2015-11-30 16:54:10 -05:00
joshvera
7633cbb836
indentation
2015-11-30 12:59:23 -05:00
joshvera
4cbc4b8bcf
Revert "try starting from 1"
...
This reverts commit 11efff2442 .
2015-11-30 12:16:58 -05:00
joshvera
11efff2442
try starting from 1
2015-11-25 14:25:11 -05:00
joshvera
3d9a44d880
Calculate the column and offset separately in TSNode
2015-11-25 13:36:19 -05:00
joshvera
b0f6bac3ab
replace start and end with padding and size
2015-11-18 16:34:50 -08:00
joshvera
8058500c5b
Add source info to TSTree
2015-11-12 15:32:53 -05:00
Max Brunsfeld
0467d190fe
Add ts_tree_edit function
2015-09-18 22:02:06 -07:00
Max Brunsfeld
26ac5788b6
Don't use struct literal syntax for TSLength
2014-09-26 16:31:36 -07:00
Max Brunsfeld
c1565c1aae
Track AST nodes' sizes in characters as well as bytes
...
The `pos` and `size` functions for Nodes now return TSLength structs,
which contain lengths in both characters and bytes. This is important
for knowing the number of unicode characters in a Node.
2014-09-26 16:15:07 -07:00