Phil Turnbull
c41841f4e9
Assert ts_parser_set_language in fuzz driver
2018-05-22 08:40:36 -07:00
Phil Turnbull
c56c4affb2
Use ts_tree_root_node in fuzz driver
2018-05-22 08:19:56 -07:00
Max Brunsfeld
8d57ce9cdf
Merge pull request #167 from tree-sitter/cancellation
...
Add an API for cancelling the current parse
2018-05-21 17:43:31 -07:00
Max Brunsfeld
1fece241aa
Add ts_parser_set_enabled API
2018-05-21 17:28:12 -07:00
Max Brunsfeld
7f3ea52acf
Merge pull request #168 from tree-sitter/simplify-node-reuse
...
Don't reuse nodes within ambiguities
2018-05-21 16:30:12 -07:00
Max Brunsfeld
39c3de3fc8
Don't reuse nodes within ambiguities
2018-05-21 16:04:10 -07:00
Max Brunsfeld
95fbc23fd6
Add support for running focused tests via windows test script
2018-05-21 14:09:42 -07:00
Max Brunsfeld
78f28b14ce
Remove unused field
2018-05-18 14:27:52 -07:00
Max Brunsfeld
9c1e82a7ea
⬆️ utf8proc, use new UTF8PROC_STATIC macro
2018-05-18 10:25:55 -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
89b3a6a059
Merge pull request #165 from tree-sitter/no-parent-pointers
...
Remove all use of mutable state in syntax trees
2018-05-11 17:33:36 -07:00
Max Brunsfeld
b2c5741ded
Link tests against libpthread on linux
2018-05-11 17:19:16 -07:00
Max Brunsfeld
32c06b9b59
Make multi-threaded test work on windows
...
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-11 17:10:05 -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
a3e08e7c31
Add randomized multi-threaded tests on parse trees
...
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-11 16:10:36 -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
6bb63f549f
Fix unused lambda captures
2018-05-11 14:59:59 -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
f0c7295d27
Update fuzz driver to use new API
2018-05-11 12:48:51 -07:00
Max Brunsfeld
cd55d5275d
Update the readme to reflect the new API
2018-05-11 12:48:51 -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
61327b627a
Add a unit test asserting that ts_tree_edit doesn't mutate the tree
...
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-10 12:28:16 -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
a53d0b43a1
Remove unnecessary include
2018-05-09 22:55:54 -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
b06747b6ca
Remove stale unit tests
...
Co-Authored-By: Rick Winfrey <rewinfrey@github.com>
2018-05-09 14:14:42 -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
8300f24fec
Avoid slow test setup if seed flag is set to -1
2018-05-08 16:34:20 -07:00
Max Brunsfeld
f620843591
Remove unused ReusableNode function
2018-05-08 11:42:15 -07:00
Max Brunsfeld
d5cfc06fa2
Fix unit test for invalid utf8 at EOF
2018-04-17 17:33:45 -07:00
Max Brunsfeld
e8cfb9ced0
Remove incorrect return statement
...
This prevented conflicts between some tokens from being recorded
properly. In the case of JavaScript, it prevented tree-sitter from
recognizing the conflict between the forward slash operator and the
regex token, allowing regexes to be merged into parse states containing
'/' incorrectly.
Refs tree-sitter/tree-sitter-javascript#71
2018-04-17 17:14:36 -07:00