Max Brunsfeld
9ecb20650b
Fix logic for checking out branches in fixture repos
2018-07-17 15:46:14 -07:00
Max Brunsfeld
483881ec6a
Use included range branch of javascript parser for testing on windows CI
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-07-17 15:26:29 -07:00
Max Brunsfeld
999ef4fd12
Fix get_changed_ranges tests
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-07-17 15:18:46 -07:00
Max Brunsfeld
8b772df3ff
Add missing #include in point_helpers
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-07-17 14:13:08 -07:00
Max Brunsfeld
d8a420cad1
Use included range branch of javascript parser for testing
2018-07-17 14:04:37 -07:00
Max Brunsfeld
87c992a7f0
Add lexer API for detecting boundaries of included ranges
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-07-17 13:58:26 -07:00
Max Brunsfeld
d54412266e
Avoid mutating the root node for out-of-bounds edits
2018-07-13 16:03:01 -07:00
Max Brunsfeld
0f0adfb681
Avoid recursion in ts_subtree_edit
...
This prevents stack overflows when editing very large trees.
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-07-12 13:53:31 -07:00
Max Brunsfeld
9e8bec458d
Add ts_node_edit API
2018-07-11 16:17:46 -07:00
Max Brunsfeld
308016b776
Clarify runtime vs parser generator in README
...
Fixes #182
2018-07-10 14:09:22 -07:00
Max Brunsfeld
df3969e9d9
Invalidate tree's parent cache after an edit
2018-07-10 14:08:30 -07:00
Max Brunsfeld
83f88164aa
Fix end positions of tokens at the end of included ranges
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-07-09 10:23:25 -07:00
Max Brunsfeld
3169620ce4
Fix ranges of tokens at the beginnings of included ranges
2018-07-06 17:08:36 -07:00
Max Brunsfeld
531f2f48b1
Update list of available parsers
2018-07-05 16:45:27 -07:00
Max Brunsfeld
5ab6401478
Fix TreeCursor bugs
...
* ts_tree_cursor_goto_first_child_for_byte failed to find the child
in some cases
* ts_tree_cursor_goto_parent did not handle aliased invisible parent
nodes
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-28 16:17:16 -07:00
Max Brunsfeld
80cab8fd8a
Make the empty chunk 2 bytes long, for UTF16 support
2018-06-25 17:46:23 -07:00
Max Brunsfeld
4f5a87b952
Merge pull request #181 from tree-sitter/new-apis
...
Add some APIs
2018-06-24 15:48:24 -07:00
Max Brunsfeld
10c12aaa3b
Add ts_language_symbol_for_name function
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-21 12:54:32 -07:00
Max Brunsfeld
fae7460541
Add ts_tree_language function
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-21 12:54:19 -07:00
Max Brunsfeld
89b6a14d9f
Allow creating a tree cursor starting at any node, not just the root
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-21 12:54:04 -07:00
Max Brunsfeld
35ed21139c
Declare the tree field of TSNode with a type of TSTree
...
This field doesn't need to be treated as opaque.
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-21 12:53:17 -07:00
Max Brunsfeld
7f44e8099e
Merge pull request #180 from tree-sitter/included-ranges
...
Add an API for parsing selected ranges of a document
2018-06-20 14:56:51 -07:00
Max Brunsfeld
a6451f9b4f
Add ts_parser_set_include_ranges function
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-20 13:37:43 -07:00
Max Brunsfeld
6632cb3d5c
Include byte offsets in TSRange
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-20 11:46:44 -07:00
Max Brunsfeld
be81989de2
Improve implementation page of docs
2018-06-20 09:49:23 -07:00
Max Brunsfeld
34de822738
Re-enable subtree object pool after accidentally disabling it
2018-06-19 16:33:33 -07:00
Max Brunsfeld
26ab57a656
Merge pull request #179 from tree-sitter/reset-instead-of-resume
...
Remove `resume` method and make the main `parse` method resume by default
2018-06-19 15:47:25 -07:00
Max Brunsfeld
d7c1f84d7b
Remove resume method, make parse resume by default
...
Also, add a `reset` method to explicitly discard an outstanding parse.
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-19 15:33:29 -07:00
Max Brunsfeld
a24f7764d8
Get rid of string_input source file
...
There's not much in there now.
2018-06-19 11:27:55 -07:00
Max Brunsfeld
196d7f1355
Update sentence about TSInput in docs
2018-06-19 11:15:01 -07:00
Max Brunsfeld
9b05142439
Merge pull request #178 from tree-sitter/simplify-input-interface
...
Consolidate TSInput interface down to one function
2018-06-19 11:13:26 -07:00
Max Brunsfeld
b0b3b2e5f3
Consolidate TSInput interface down to one function
2018-06-19 09:34:40 -07:00
Max Brunsfeld
2a507f0739
Merge pull request #177 from tree-sitter/html-in-randomized-tests
...
Include the HTML parser in the randomized test suite, fix discovered bug
2018-06-18 11:40:37 -07:00
Max Brunsfeld
703541e838
Explicitly initialize variable in ts_tree_cursor_goto_next_sibling
2018-06-18 10:48:32 -07:00
Max Brunsfeld
71f7bf2fca
Fetch HTML grammar as a test fixture on windows too
2018-06-18 10:06:59 -07:00
Max Brunsfeld
b29c5dbf15
Rephrase ts_subtree_array_copy to avoid conspicuous null case
...
This avoids a false positive error from the clang static analyzer, which
doesn't understand the invariants of the Array type.
2018-06-15 17:07:35 -07:00
Max Brunsfeld
75cf95bddc
Fix double free when an external token is copied
2018-06-15 16:18:08 -07:00
Max Brunsfeld
b14951de9d
Included HTML parser in randomized test suite
2018-06-15 16:17:56 -07:00
Max Brunsfeld
e130c4ddb5
Add word property to grammar JSON schema
2018-06-15 13:32:41 -07:00
Max Brunsfeld
52a5e4125e
Revert "Fix another const mismatch warning"
...
This reverts commit 776230782b .
2018-06-15 13:22:37 -07:00
Max Brunsfeld
4b5dab2d18
Convert keywords back to word token at runtime if needed
2018-06-15 13:15:02 -07:00
Max Brunsfeld
0dd41f0d74
Restore logic for restricting keyword tokens
...
Removing this restriction created problems for the Rust grammar, and
possibly others. The proper fix would be to ensure that the 'word
token' matches *every* possible string that a 'keyword token'
matches, as opposed to just matching *some* of the same strings.
This would require us to gather a little more information
about how tokens conflict. For now, I'm just going to put back the
hard-coded logic that we had.
2018-06-15 13:15:02 -07:00
Max Brunsfeld
c39f0e9ef9
Rename word_rule -> word_token
2018-06-15 09:15:12 -07:00
Max Brunsfeld
2a2e5032d4
Fix links in docs
2018-06-14 15:27:28 -07:00
Max Brunsfeld
245052442a
Merge pull request #176 from tree-sitter/explicit-word-token
...
Perform keyword optimization using explicitly selected word token
2018-06-14 13:19:11 -07:00
Max Brunsfeld
f42cb877f3
Improve docs for lexing, keyword handling
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-14 13:18:48 -07:00
Max Brunsfeld
776230782b
Fix another const mismatch warning
2018-06-14 12:38:52 -07:00
Max Brunsfeld
91e3bc3e55
Update parse state merging logic for explicit word tokens
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-14 12:32:27 -07:00
Max Brunsfeld
30b0d1c833
Fix const/non-const mismatch in array_splice function
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-14 12:03:59 -07:00
Max Brunsfeld
190456d7ec
Fix logging during lex table construction
...
Co-Authored-By: Ashi Krishnan <queerviolet@github.com>
2018-06-14 12:03:40 -07:00