Max Brunsfeld
|
f3014cb767
|
Cache parent nodes to speed up ts_node_parent in common cases
|
2018-05-29 16:00:32 -07:00 |
|
Max Brunsfeld
|
69d8c6f5e6
|
Check that language is present in both parse() and resume()
|
2018-05-23 15:41:16 -07:00 |
|
Max Brunsfeld
|
e16f0338d6
|
Add APIs for pausing a parse after N operations and resuming later
|
2018-05-23 15:02:39 -07:00 |
|
Max Brunsfeld
|
babb8261a3
|
Extract an iterator from TreeCursor methods
|
2018-05-22 14:43:21 -07:00 |
|
Max Brunsfeld
|
c0763c69c4
|
Fix handling of aliases in TreeCursor
|
2018-05-22 14:43:21 -07:00 |
|
Max Brunsfeld
|
80630ce504
|
Store nodes' public-facing positions, not pre-padding positions
|
2018-05-22 08:50:04 -07:00 |
|
Max Brunsfeld
|
1fece241aa
|
Add ts_parser_set_enabled API
|
2018-05-21 17:28:12 -07:00 |
|
Max Brunsfeld
|
39c3de3fc8
|
Don't reuse nodes within ambiguities
|
2018-05-21 16:04:10 -07:00 |
|
Max Brunsfeld
|
78f28b14ce
|
Remove unused field
|
2018-05-18 14:27:52 -07:00 |
|
Max Brunsfeld
|
3c01382b95
|
Avoid warnings about repeated typedefs
|
2018-05-17 17:59:50 -07:00 |
|
Max Brunsfeld
|
5ec3769cb4
|
Make ts_tree_cursor_current_node take the cursor as const
|
2018-05-17 14:24:32 -07:00 |
|
Max Brunsfeld
|
074c051094
|
Change the TSInputEdit struct to work with old/new start and end positions
|
2018-05-17 11:14:51 -07:00 |
|
Max Brunsfeld
|
95be6e3bee
|
Make it clear which field of TSNode can be used as a unique id
|
2018-05-16 16:20:33 -07:00 |
|
Max Brunsfeld
|
e3670be42f
|
Avoid one heap allocation when instantiating a TSTreeCursor
|
2018-05-16 16:05:08 -07:00 |
|
Max Brunsfeld
|
6fc8d9871c
|
Hide the details of TSNode's fields in the public API
|
2018-05-16 15:44:04 -07:00 |
|
Max Brunsfeld
|
ebddb1a0b5
|
Add ts_tree_cursor_goto_first_child_for_byte method
Atom needs this for efficiently seeking to the leaf node at a given position,
visiting all of its ancestors along the way.
|
2018-05-16 13:51:21 -07:00 |
|
Max Brunsfeld
|
043a2fc0d9
|
Assert absence of memory leaks in randomized multi-threaded tree test
|
2018-05-11 16:53:47 -07:00 |
|
Max Brunsfeld
|
fe53506175
|
Declare subtrees as const wherever possible
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-11 15:06:13 -07:00 |
|
Max Brunsfeld
|
20c183b7cd
|
Rename ts_subtree_make_* -> ts_subtree_new_*
|
2018-05-11 13:02:12 -07:00 |
|
Max Brunsfeld
|
bf1bb1604f
|
Rename TSExternalTokenState -> ExternalScannerState
|
2018-05-11 12:57:41 -07:00 |
|
Max Brunsfeld
|
199a94cc26
|
Allow the parser to print dot graphs to any file
|
2018-05-11 12:48:51 -07:00 |
|
Max Brunsfeld
|
e75ecd1bb1
|
Rework API completely
|
2018-05-11 10:46:13 -07:00 |
|
Max Brunsfeld
|
33f7643040
|
Rename Parser -> TSParser
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-10 15:16:24 -07:00 |
|
Max Brunsfeld
|
35510a612d
|
Rename Tree -> Subtree
|
2018-05-10 15:11:14 -07:00 |
|
Max Brunsfeld
|
09e663c7d1
|
Make ts_tree_edit return a new tree rather than mutating its argument
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-10 12:23:05 -07:00 |
|
Max Brunsfeld
|
df79ff5997
|
Refactor ts_tree_edit
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-10 12:04:18 -07:00 |
|
Max Brunsfeld
|
eff7283325
|
Add assertion to satisfy clang static analyzer
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-10 09:48:50 -07:00 |
|
Max Brunsfeld
|
59694e60fa
|
Rename ts_tree_assign_parents -> ts_tree_balance
|
2018-05-10 09:13:46 -07:00 |
|
Max Brunsfeld
|
78d158899e
|
Use atomic operations for updating syntax tree reference counts
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-09 17:36:03 -07:00 |
|
Max Brunsfeld
|
666dfb76d2
|
Remove document parameter from ts_node_type, ts_node_string
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-09 16:47:47 -07:00 |
|
Max Brunsfeld
|
92255bbfdd
|
Remove document parameter from ts_node_type, ts_node_string
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-09 15:28:28 -07:00 |
|
Max Brunsfeld
|
8d805feab1
|
Allow ReusableNode to advance off the end of the tree
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-09 14:15:11 -07:00 |
|
Max Brunsfeld
|
5fa6d39578
|
Fix alias handling in ts_tree_string
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-09 14:14:56 -07:00 |
|
Max Brunsfeld
|
19e3750f13
|
Make ts_node_next_sibling work more like ts_node_prev_sibling
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-09 13:46:46 -07:00 |
|
Max Brunsfeld
|
f857d64d54
|
Avoid recursion in ts_node__prev_sibling
|
2018-05-09 13:23:47 -07:00 |
|
Max Brunsfeld
|
973e4a44f0
|
Start work on removing parent pointers
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
|
2018-05-09 12:22:19 -07:00 |
|
Max Brunsfeld
|
f620843591
|
Remove unused ReusableNode function
|
2018-05-08 11:42:15 -07:00 |
|
Max Brunsfeld
|
f00d2ade46
|
Remove unused function
|
2018-04-09 19:37:53 -07:00 |
|
Max Brunsfeld
|
b0b8279c14
|
Preallocate tree arrays when popping from the stack
|
2018-04-09 18:14:17 -07:00 |
|
Max Brunsfeld
|
3672a8ad87
|
Remove unused tree method
|
2018-04-09 12:29:22 -07:00 |
|
Max Brunsfeld
|
33820253e8
|
Make stack_print_dot_graph function take a language as an argument
|
2018-04-09 12:29:22 -07:00 |
|
Max Brunsfeld
|
379a2fd121
|
Incrementally build a tree of skipped tokens
Rather than pushing them to the stack individually
|
2018-04-09 12:29:22 -07:00 |
|
Max Brunsfeld
|
a79a8c216f
|
Include each node count and error cost in stack dot graphs
|
2018-04-06 16:10:36 -07:00 |
|
Max Brunsfeld
|
87098760de
|
🎨
|
2018-04-06 13:51:31 -07:00 |
|
Max Brunsfeld
|
94ed1b6964
|
Make array_splice take an array, not a pointer and length
|
2018-04-06 13:29:43 -07:00 |
|
Max Brunsfeld
|
09be0b6ef5
|
Store trees' children in TreeArrays, not w/ separate pointer and length
|
2018-04-06 13:26:18 -07:00 |
|
Max Brunsfeld
|
a6cf2e87e7
|
Fix halt_on_error tests
|
2018-04-06 13:26:18 -07:00 |
|
Max Brunsfeld
|
34349f9cbb
|
Put back limit on error handling based on accepted tree count
|
2018-04-06 13:26:18 -07:00 |
|
Max Brunsfeld
|
0ec7e5ce42
|
Remove ts_stack_force_merge function
|
2018-04-06 13:26:18 -07:00 |
|
Max Brunsfeld
|
1d9d6f37ad
|
Introduce an error cost per error instance to favor fewer errors
|
2018-04-06 13:26:18 -07:00 |
|