Wojciech Kordalski
8e89b8cdb8
Fix getting node by field name or ID.
2021-01-22 18:23:50 +01:00
Aron Griffis
e13581b041
Fix build with GCC 11
...
It seems redundant to array_init() when the structure is zeroed already
in the static assignment. But probably the fact that this code juggles
between TSTreeCursor and TreeCursor, without using a union, leaves the
compiler unable to tell that it's been initialized.
Fixes https://github.com/tree-sitter/tree-sitter/issues/853
2020-12-22 15:19:35 -05:00
Max Brunsfeld
99cd283e39
query: Fix detection of repeated field names
...
Fixes #790
2020-11-02 14:07:39 -08:00
ikrima
a99676282f
noop: touch file to retrigger github checks
2020-10-29 09:36:44 -07:00
ikrima
23530ca599
CR fixes: don't allow override of allocfn during testing
2020-10-29 09:23:58 -07:00
ikrima
336517fdc9
address CR comments
...
- replace _dflt with _default
- allow override in TREE_SITTER_TEST path
2020-10-29 09:17:19 -07:00
ikrima
3859e52198
add custom allocation override
2020-10-29 09:17:19 -07:00
Max Brunsfeld
c2c63baf5b
query: Fix escape sequence parsing in anonymous node patterns
...
Fixes #776
Fixes #760
2020-10-28 13:55:13 -07:00
Max Brunsfeld
2465207fee
Suppress false non-null error in subtree_clone
2020-10-25 09:13:12 -07:00
Max Brunsfeld
908b102786
Add more doc comments in the C lib
2020-10-23 12:15:44 -07:00
Max Brunsfeld
d533d1f076
Allocate parent nodes together with their child array
2020-10-23 12:15:44 -07:00
Anton Kochkov
3eee1d5376
Fix compilation with TinyCC
2020-10-21 15:41:19 +08:00
ikrima
50ff4376b4
fix: ts_subtree_string not using ts_malloc
2020-10-15 20:43:30 -07:00
Max Brunsfeld
84433494a5
Fix query analysis error for rules w/ required hidden tokens
...
Refs tree-sitter/node-tree-sitter#69
2020-10-12 09:46:18 -07:00
Hansraj Das
000455ee79
Multiple typo fixes
...
* This is a patch from neovim PR: https://github.com/neovim/neovim/pull/13063
2020-10-11 13:02:40 +05:30
Max Brunsfeld
857a9ed07b
query: Handle captured wildcard nodes at the root of patterns
2020-10-08 12:34:08 -07:00
Max Brunsfeld
d1c95193c1
query: Fix invalid use of slice::from_raw_parts
2020-10-05 12:08:53 -07:00
Max Brunsfeld
297e2bcb28
static query analysis: Fix handling of fields in hidden nodes
2020-09-23 16:55:48 -07:00
Max Brunsfeld
cb343cad5e
Avoid reusing the root node during incremental parsing
...
Fixes #712
2020-09-23 12:59:27 -07:00
Max Brunsfeld
a544200a6c
Simplify query code for matching supertypes
2020-09-23 11:55:03 -07:00
Max Brunsfeld
21c3bbc4b4
Account for supertypes during query analysis
2020-09-23 10:55:31 -07:00
Max Brunsfeld
b5a9adb555
Allow queries to match on supertypes
...
Co-authored-by: Ayman Nadeem <aymannadeem@github.com>
2020-09-21 12:34:48 -07:00
Max Brunsfeld
36a8821f3e
Fix behavior of the last child operator in tree queries
2020-09-02 12:10:04 -07:00
Max Brunsfeld
18150a1573
Merge pull request #644 from tree-sitter/query-pattern-is-definite
...
Analyze queries on construction to identify impossible patterns, and patterns that will definitely match
2020-09-02 10:28:21 -07:00
Max Brunsfeld
31a22fc627
In array.h, add comments and sort functions more logically
2020-09-02 10:02:34 -07:00
Björn Linse
04eacc44ef
avoid warnings for implicit fallthrough in switch statements
2020-08-26 10:04:08 +02:00
Björn Linse
00c470ab2a
Fix a few cases of Clang 10 with UBSAN detecting undefined behavior
...
Clang 10 considers adding any offset, including 0, to the null pointer
to be undefined behavior. `(void *)NULL + 0 = kaboom`.
2020-08-25 19:34:44 +02:00
Max Brunsfeld
4aba684d66
Control recursion depth explicitly during query analysis
2020-08-24 16:55:56 -07:00
Max Brunsfeld
315f87bbff
Remove unnecessary parameter from sorted array functions
2020-08-24 12:07:57 -07:00
Max Brunsfeld
2eb04094f8
Handle aliased parent nodes in query analysis
2020-08-21 14:12:04 -07:00
Max Brunsfeld
456b1f6771
Fix handling of alternations and optional nodes in query analysis
2020-08-20 16:28:54 -07:00
Max Brunsfeld
9daec9cb22
Tweak impossible pattern error messages
2020-08-20 13:35:11 -07:00
Max Brunsfeld
4301110c12
query: Indicate specific step that's impossible
2020-08-20 13:06:38 -07:00
Max Brunsfeld
d47346abc0
Avoid pushing duplicate start states in query analysis
2020-08-20 10:07:22 -07:00
Max Brunsfeld
aac75e35b1
Optimize iteration over state successors during query analysis
2020-08-19 14:56:57 -07:00
Max Brunsfeld
bd42729a41
query: Avoid early-returning captures due to predicates
2020-08-18 13:01:45 -07:00
Max Brunsfeld
604f9e8148
query: Assign is_definite correctly for steps within nested sub-patterns
2020-08-18 10:55:03 -07:00
Max Brunsfeld
91fc9f5399
Use is_definite flag in ts_query_cursor_next_capture
2020-08-17 16:50:59 -07:00
Max Brunsfeld
c3f9b2b377
Fix query analysis bugs found in ruby tags query
2020-08-17 09:57:06 -07:00
Max Brunsfeld
1ea29053e1
Merge branch 'master' into query-pattern-is-definite
2020-08-14 09:31:55 -07:00
Max Brunsfeld
af655547e5
Fix handling of queries with many patterns with leading repetitions
2020-07-31 12:47:58 -07:00
Max Brunsfeld
411f69d13b
query: Optimize 'longest-match' filtering
2020-07-30 13:34:34 -07:00
Max Brunsfeld
df5510acfc
query: Remove limit on number of in-progress states
2020-07-30 12:59:34 -07:00
Max Brunsfeld
6941217c46
Merge pull request #696 from ret2libc/printf-sizet-format
...
size_t variables need %zu, not %lu
2020-07-29 09:56:07 -07:00
Max Brunsfeld
81bbdf19f4
Fix handling of non-terminal extras that share non-extra rules
...
Fixes #701
2020-07-29 09:50:13 -07:00
Max Brunsfeld
253f23c3d4
Fix error when parse error occurs after non-terminal extra
2020-07-28 13:33:13 -07:00
Max Brunsfeld
de2b71d465
Fix query bug when max permutations are exceeded
2020-07-23 16:05:50 -07:00
Riccardo Schirone
a3b440b0c8
size_t variables need %zu, not %lu
2020-07-23 09:48:18 +02:00
Tuấn-Anh Nguyễn
740d864e67
Add '.' as a valid start of a predicate, in addition to '#'
...
See https://github.com/ubolonton/emacs-tree-sitter/issues/38
2020-07-19 15:46:39 +07:00
Max Brunsfeld
4535efce69
query: Prevent dropping of matches when exceeding range maximum
...
Fixes #685
2020-07-17 09:39:06 -07:00