Commit graph

2693 commits

Author SHA1 Message Date
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
Max Brunsfeld
7ad087ce27 Tweak compile flags in build-wasm script 2019-09-04 08:54:13 -07:00
Max Brunsfeld
3b10999808 Add TOML and YAML to the web playground 2019-08-31 12:29:52 -07:00
Max Brunsfeld
4870fe28a8
Merge pull request #439 from ikatyang/ikatyang-patch-1
docs: add YAML/TOML parser
2019-08-31 12:10:39 -07:00
Ika
2cf2293b1f
docs: add YAML/TOML parser 2019-09-01 02:30:11 +08:00
Max Brunsfeld
5882bcf531 Add TypeScript parser to the playground 2019-08-30 22:20:53 -07:00
Max Brunsfeld
3ac0ff2a11 Fix error in build-lib script 2019-08-30 22:07:32 -07:00
Max Brunsfeld
7685b7861c 0.15.8 2019-08-30 21:22:46 -07:00
Max Brunsfeld
fd80d60ae8 web playground: don't include editor.getValue() call in parse time 2019-08-30 21:06:57 -07:00
Max Brunsfeld
69ab405325 In next ABI, group symbols by action in small parse state table
This is a more compact representation because in most states, many 
symbols share the same actions.
2019-08-30 20:29:55 -07:00
Max Brunsfeld
94ca4dc8e0
Merge pull request #334 from tree-sitter/small-parse-states
Reduce parsers' static memory footprint by storing "small" parse states more compactly
2019-08-29 20:30:51 -07:00
Max Brunsfeld
8037607583 Only generate the new parse table format if --next-abi flag is used 2019-08-29 17:37:33 -07:00
Max Brunsfeld
aeb2f895b4 Add --report-states flag for reporting state counts for each rule 2019-08-29 17:36:39 -07:00
Max Brunsfeld
82ff542d3b Appease MSVC by avoiding empty arrays 2019-08-29 17:31:44 -07:00
Max Brunsfeld
09a2755399 Store parse states with few lookahead symbols in a more compact way 2019-08-29 15:52:23 -07:00
Max Brunsfeld
48a883c1d4 Move external token state id computation out of render module 2019-08-29 15:48:22 -07:00