Max Brunsfeld
|
19baa5fd5e
|
Clean up and document query analysis code
|
2020-06-25 17:56:43 -07:00 |
|
Max Brunsfeld
|
891de051e2
|
Fix population of subgraph nodes when analyzing queries
|
2020-06-25 15:06:27 -07:00 |
|
Max Brunsfeld
|
7f955419a8
|
Start work on recognizing impossible patterns
|
2020-06-25 15:06:27 -07:00 |
|
Max Brunsfeld
|
4c2f36a07b
|
Mark steps as definite on query construction
* Add a ts_query_pattern_is_definite API, just for debugging this
* Store state_count on TSLanguage structs, to allow for scanning parse tables
|
2020-06-25 15:06:27 -07:00 |
|
Max Brunsfeld
|
deeeb67a3b
|
query: Fix handling of alternations under field names (#661)
|
2020-06-24 14:20:56 -07:00 |
|
Max Brunsfeld
|
47d607da8d
|
Add alternative syntax in queries (#630)
* Add alternative syntax in queries
* Add tests and tweak error handling for alternatives in queries
|
2020-06-01 13:23:07 -07:00 |
|
Max Brunsfeld
|
462c86903f
|
Improve tree queries' ability to handle large numbers of nested matches (#624)
* query: Acquire capture lists lazily, allow more concurrent states
* Fix some static analysis warnings
|
2020-05-18 13:40:24 -07:00 |
|
Max Brunsfeld
|
85c998d572
|
Change the wildcard syntax in tree queries
1. Use '_' instead of '*'.
2. Add '*' as a postfix operator for zero-or-more repetitions
Signed-off-by: Patrick Thomson <patrickt@github.com>
|
2020-05-11 13:04:04 -07:00 |
|
Max Brunsfeld
|
40262483a9
|
Change query syntax for predicates
Signed-off-by: Patrick Thomson <patrickt@github.com>
|
2020-05-11 12:35:51 -07:00 |
|
Max Brunsfeld
|
b14f564550
|
Add a test for nested optionals in queries
|
2020-05-11 10:42:48 -07:00 |
|
Max Brunsfeld
|
9c0535cea6
|
Fix logic for aborting failed matches
|
2020-05-08 14:15:25 -07:00 |
|
Max Brunsfeld
|
b47c170c75
|
Query: fix bugs and add tests for top-level and nested repetitions
|
2020-05-08 12:10:01 -07:00 |
|
Max Brunsfeld
|
3ad71625dd
|
Fix query bugs, expand and clean up query tests
|
2020-05-07 14:22:15 -07:00 |
|
Max Brunsfeld
|
3456a21f0d
|
Start work on restructuring query implementation to deal w/ optionals and repeats better
|
2020-05-07 12:41:25 -07:00 |
|
Max Brunsfeld
|
a003e5f6bd
|
generate: Avoid duplicate string tokens in unique symbol map
|
2020-03-20 11:35:11 -07:00 |
|
Max Brunsfeld
|
65f2874b9e
|
query: Optimize handling of patterns with a wildcard at the root
Avoid adding and removing states for these patterns on every node in the tree
by just skipping the wildcard step of the matching process
|
2020-03-16 14:02:31 -07:00 |
|
Max Brunsfeld
|
b5483c67ab
|
query: allow repetition operator to be used on non-terminal nodes
|
2020-03-13 16:12:39 -07:00 |
|
Max Brunsfeld
|
0457736766
|
rust: add handling of arbitrary predicate operators
|
2020-03-13 13:02:34 -07:00 |
|
Max Brunsfeld
|
6f636a0357
|
query: Add postfix '+' operator for token repetition
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
|
2020-03-12 15:10:58 -07:00 |
|
Max Brunsfeld
|
e3aad995f6
|
query: Fix handling of patterns with wildcards at the root
|
2020-03-11 13:14:16 -07:00 |
|
Max Brunsfeld
|
741eed01b7
|
query: Handle escape sequences and escaped quotes in string literals
|
2020-03-10 15:50:06 -07:00 |
|
Max Brunsfeld
|
570b83e2b2
|
query: Add immediate child operator
|
2020-02-19 11:47:52 -08:00 |
|
Max Brunsfeld
|
950a89a525
|
query: Differentiate between wildcard '*' and named wildcard '(*)'
|
2020-02-19 09:42:29 -08:00 |
|
Max Brunsfeld
|
de8e3ee188
|
query: Allow multiple captures on a single node
|
2020-02-11 16:02:32 -08:00 |
|
Max Brunsfeld
|
f3747863df
|
Add ts_query_disable_pattern API
|
2020-01-15 17:08:55 -08:00 |
|
Max Brunsfeld
|
c957a5b8e7
|
Add test for handling of too many states in query captures
|
2019-11-22 11:54:32 -08:00 |
|
Max Brunsfeld
|
e14e285a10
|
cli: Check queries when running tree-sitter test
|
2019-10-18 14:44:16 -07:00 |
|
Max Brunsfeld
|
fa43ce01a6
|
Allow queries to capture ERROR nodes
|
2019-10-16 11:54:32 -07:00 |
|
Max Brunsfeld
|
060e00463d
|
Implement include-children directive in injection queries
|
2019-10-14 17:38:42 -07:00 |
|
Max Brunsfeld
|
324c259cbb
|
rust: Create readable messages for query syntax errors
|
2019-10-14 12:30:22 -07:00 |
|
Max Brunsfeld
|
4c17af3ecd
|
Allow queries with no patterns
|
2019-10-14 12:30:22 -07:00 |
|
Max Brunsfeld
|
02b6397aa3
|
Add test for advancing query cursor after has already finished
|
2019-10-03 12:55:10 -07:00 |
|
Max Brunsfeld
|
9872a083b7
|
rust: Change QueryCursor::captures to expose the full match
|
2019-10-03 12:45:58 -07:00 |
|
Max Brunsfeld
|
27149902f8
|
Handle is?, is-not?, and set! predicate functions in queries
|
2019-09-25 10:21:20 -07:00 |
|
Max Brunsfeld
|
b15e90bd26
|
Handle set! predicate function in queries
|
2019-09-24 11:54:24 -07:00 |
|
Max Brunsfeld
|
ff9a2c1f53
|
Make queries work in languages with simple aliases
|
2019-09-24 11:54:24 -07:00 |
|
Max Brunsfeld
|
070f11b8bf
|
Use ptr::NonNull in Rust bindings
|
2019-09-23 17:00:52 -07:00 |
|
Max Brunsfeld
|
598e4e4cf4
|
Add a unit test to verify captures are sorted by start and end position
|
2019-09-20 10:12:45 -07:00 |
|
Max Brunsfeld
|
a6b6a681ec
|
Fix a bug that prevented early termination of query matches
|
2019-09-18 16:13:10 -07:00 |
|
Max Brunsfeld
|
d9b8bae629
|
rust: Include pattern indices when iterating query captures
|
2019-09-18 14:22:55 -07:00 |
|
Max Brunsfeld
|
186b08381c
|
Terminate failed query matches before descending whenever possible
When iterating over captures, this prevents reasonable queries from
forcing the tree cursor to buffer matches unnecessarily.
|
2019-09-18 11:37:49 -07:00 |
|
Max Brunsfeld
|
374a7ac81e
|
Ensure that duplicate captures are ordered by pattern index
|
2019-09-17 16:27:16 -07:00 |
|
Max Brunsfeld
|
82955759c0
|
Add an API for getting a pattern's start offset in the source code
|
2019-09-17 16:19:58 -07:00 |
|
Max Brunsfeld
|
2d1ca8bc9f
|
Fix match return order fom ts_query_cursor_next_match
|
2019-09-17 14:52:27 -07:00 |
|
Max Brunsfeld
|
7793bf2a5a
|
Clean up query code
|
2019-09-16 11:33:22 -07:00 |
|
Max Brunsfeld
|
d4d554b2ae
|
Add wasm bindings for predicates
|
2019-09-16 10:25:44 -07:00 |
|
Max Brunsfeld
|
096126d039
|
Allow predicates in queries, to match on nodes' text
|
2019-09-15 22:06:51 -07:00 |
|
Max Brunsfeld
|
86205b9e6d
|
Fix infinite loop on unterminated string in query
|
2019-09-13 15:19:21 -07:00 |
|
Max Brunsfeld
|
a1fec71b19
|
Tweak QueryCursor to allow iterating either matches or captures
For syntax highlighting, we want to iterate over all of the captures in
order, and don't care about grouping the captures by pattern.
|
2019-09-13 15:19:04 -07:00 |
|
Max Brunsfeld
|
49ce2fddb9
|
Add wasm binding for running tree queries in a limited range
|
2019-09-12 12:14:04 -07:00 |
|