Max Brunsfeld
ff9a2c1f53
Make queries work in languages with simple aliases
2019-09-24 11:54:24 -07:00
Max Brunsfeld
9ce3a53427
Precompute tree edits in playground script
2019-09-23 17:01:35 -07:00
Max Brunsfeld
070f11b8bf
Use ptr::NonNull in Rust bindings
2019-09-23 17:00:52 -07:00
Max Brunsfeld
887b4a4f76
Merge pull request #450 from bfredl/warnings
...
Fix some compiler warnings regarding function prototypes
2019-09-22 09:14:26 -07:00
Björn Linse
15e3bc7fd2
Fix some compiler warnings regarding function prototypes
2019-09-22 11:49:44 +02: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
0795b59695
0.15.9
2019-09-19 11:57:16 -07:00
Max Brunsfeld
c9f46b8242
Fix false negative in token conflict detection
...
Co-Authored-By: Timothy Clem <timothy.clem@gmail.com>
2019-09-19 11:50:38 -07:00
Max Brunsfeld
10fb9b0e20
Fix playground HTML, tweak playground colors
2019-09-18 18:03:15 -07:00
Max Brunsfeld
07afce0686
Merge pull request #444 from tree-sitter/tree-queries
...
Introduce the 'Tree query' - an API for pattern-matching on syntax trees
2019-09-18 17:36:21 -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
fdd3a34e70
Fix some comments
2019-09-17 15:05:12 -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
1af85dc3f7
Remove unused APIs, expand docs for predicate API
2019-09-16 15:00:32 -07:00
Max Brunsfeld
b79839b599
Use a more realistic example in one JS query unit test
2019-09-16 12:48:01 -07:00
Max Brunsfeld
9323ba52c8
Minify function names in wasm build
2019-09-16 11:38:29 -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
307a1a6c11
Avoid wasm calls in Node.startIndex and Node.startPosition
2019-09-13 15:38:30 -07:00
Max Brunsfeld
0d913dec65
Fix layout issues in web-ui
2019-09-13 15:19:31 -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
33587c924a
Remove an unused field, clean up some comments
2019-09-12 17:00:01 -07:00
Max Brunsfeld
e52f1a26b3
Fix windows bitwise stuff for tree queries
2019-09-12 16:38:02 -07:00
Max Brunsfeld
36427614d3
Fix typo in windows impl of count_leading_zeros
2019-09-12 15:53:04 -07:00
Max Brunsfeld
f08767c482
Add tree query editor to web UI and playground
2019-09-12 14:07:17 -07:00
Max Brunsfeld
49ce2fddb9
Add wasm binding for running tree queries in a limited range
2019-09-12 12:14:04 -07:00
Max Brunsfeld
0528ad5f58
playground: Persist state across reloads
2019-09-12 08:49:19 -07:00
Max Brunsfeld
67dcbc3e73
Detect error when a prefix of a valid node name is used in a query
2019-09-11 21:23:46 -07:00
Max Brunsfeld
c71de5bd81
Tweak query interface
...
* Rename TSQueryContext -> TSQueryCursor
* Remove the permanent association between the cursor and its query. The
cursor can now be used again for a different query.
2019-09-11 17:33:48 -07:00
Max Brunsfeld
c8c75782e3
Allow tree queries to execute within a limited range
2019-09-11 16:49:29 -07:00
Max Brunsfeld
beb5eec7d9
Fix handling of single-node patterns in tree queries
2019-09-11 15:22:32 -07:00
Max Brunsfeld
ad3f21b0e5
Add simple CLI command for running tree queries
2019-09-11 15:12:45 -07:00
Max Brunsfeld
d674bc139a
Fix more bugs in binary search used in tree queries
...
This binary search implementation differs from Rust's
`slice::binary_search_by` method in how they deal with ties.
In Rust's implementation:
> If there are multiple matches, then any one of the matches
> could be returned.
This implementation needs to return the index of the *first* match.
2019-09-11 14:45:14 -07:00
Max Brunsfeld
33f89522f6
Allow lisp-style comments in tree queries
2019-09-11 12:16:05 -07:00
Max Brunsfeld
4fa0b02d67
Fix management of capture lists in query execution
2019-09-11 12:06:38 -07:00
Max Brunsfeld
60467ae701
Fix bugs in binary search used in tree queries
2019-09-10 22:30:27 -07:00
Max Brunsfeld
52cda5f541
Start work on wasm binding to query API
2019-09-10 20:54:21 -07:00
Max Brunsfeld
fe7c74e7aa
Start work on an API for querying trees
2019-09-10 20:53:57 -07:00
Max Brunsfeld
4151a428ec
docs: Add link to WIP swift grammar
2019-09-06 09:18:30 -07:00
Max Brunsfeld
f9a3998029
docs: Start adding info about field names
2019-09-05 15:43:10 -07:00
Max Brunsfeld
a8dedbee0d
In test command, use the longest line of dashes as the test divider
2019-09-05 09:59:59 -07:00
Max Brunsfeld
62538ed410
highlight iterator: Return byte offset ranges instead of string slices
...
Refs #443
2019-09-04 17:29:31 -07:00
Max Brunsfeld
82fab90c0b
web: Add bindings for remaining field APIs
2019-09-04 09:30:36 -07:00
Max Brunsfeld
30e73505e1
Fix handling of extra tokens in ts_tree_cursor_current_field_id
2019-09-04 09:04:31 -07:00