Commit graph

58 commits

Author SHA1 Message Date
Max Brunsfeld
f4e2f68f14 Merge branch 'master' into wasm-language 2023-10-27 12:11:43 +01:00
Amaan Qureshi
09ac28c77d
feat!: properly handle predicates used on quantified captures 2023-08-31 16:01:36 -04:00
Amaan Qureshi
7d953eb5ba
Merge pull request #2466 from tom95/add-field-name-for-child
Web Bindings: Expose fieldNameForChild C function
2023-08-18 12:20:39 -04:00
Andrew Hlynskyi
26c3ae7b98 Rename: ts_lookahead_iterator_advance -> ts_lookahead_iterator_next 2023-08-09 14:40:29 +03:00
Tom Beckmann
b407b5588d binding_web: expose Node.fieldNameForChild(index) function 2023-08-03 16:02:51 +02:00
Daumantas Kavolis
e2094ef202 Add wasm tests for lookahead iterator 2023-08-02 00:02:33 +03:00
Daumantas Kavolis
1f52f2f1dc Symbols without aliases should be used for lookahead 2023-08-02 00:02:33 +03:00
Daumantas Kavolis
c47e217e73 API extensions 2023-08-02 00:02:33 +03:00
Max Brunsfeld
35ce2e47ec web: Remove conditional logic for older emscripten versions 2022-11-15 17:27:01 -08:00
Andrew Hlynskyi
79b2bf1c30 fix(wasm): Fix predicates in alternations, resolves #1392 2021-09-21 21:13:41 +03:00
Johannes Rieken
12d727fd49 mix init options in the Module-global 2021-08-30 14:16:41 +02:00
Douglas Creager
ad3907c2a6 wasm: Add matchLimit option to query methods
This exposes the new configurable match limits for query cursors.
2021-06-02 13:51:00 -04:00
Douglas Creager
04c2aa973b binding_web: Call correct function to reset parser 2021-05-03 14:25:57 -04:00
Douglas Creager
b742e88108 Use TRANSFER_BUFFER for did_exceed_match_limit
This bridges the gap between how the C API reports this for a query
cursor, but the wasm API defines the method on a query.  Whenever you
call a query method that might exceed the match limit, we call the C API
function and transfer the result across the wasm boundary, storing the
result in the JavaScript wrapper class.
2021-04-28 15:46:12 -04:00
Douglas Creager
e8eb3c5d5a binding_web: Add Query.didExceedMatchLimit
This lets wasm clients check whether a query exceeded its maximum number
of in-progress matches.
2021-04-27 09:21:38 -04:00
Jon Bockhorst
1e9481dc48 Web bindings: fix descendantsOfType memory allocation 2021-03-13 22:28:10 -06:00
Max Brunsfeld
41e9af2456 Avoid including undefined in return value of Query.matches
Fixes #932
2021-02-26 15:16:07 -08:00
Max Brunsfeld
f462f0d09d Fix small issues with new wasm bindings 2021-02-05 10:18:37 -08:00
hvithrafn
752372ee09 Add several bindings for Language 2021-02-01 13:01:10 -07:00
hvithrafn
c994adbf61 Modify Language.load to accept bytes directly 2021-01-25 02:06:47 -07:00
hvithrafn
6557564b92 Add a non-default export for Parser 2021-01-21 20:37:46 -07:00
Max Brunsfeld
5008700735 wasm: Look for both loadWebAssemblyModule and loadSideModule
See https://github.com/emscripten-core/emscripten/pull/12969
2020-12-04 14:36:32 -08:00
Max Brunsfeld
b118e7d750 Make binding.js syntactically valid
Put the end of the surrounding closure into a separate file, suffix.js.
2020-11-30 15:28:26 -08:00
Max Brunsfeld
a2d6048226 Get the wasm build working w/ latest emscripten 2020-11-30 14:28:27 -08:00
Joel Spadin
7ef73b2e08 web binding: fix equals()
Node.equals() used to always return true. Now it works.
Also added unit tests for it.
2020-11-26 14:43:27 -06:00
Max Brunsfeld
9daec9cb22 Tweak impossible pattern error messages 2020-08-20 13:35:11 -07:00
Max Brunsfeld
1ea29053e1 Merge branch 'master' into query-pattern-is-definite 2020-08-14 09:31:55 -07:00
Max Brunsfeld
1ae5cbc851 query: Handle #not-match? in rust, wasm bindings 2020-07-24 12:15:23 -07:00
Max Brunsfeld
7f955419a8 Start work on recognizing impossible patterns 2020-06-25 15:06:27 -07:00
Max Brunsfeld
28a779d6a0 wasm: Allow arbitrary predicates in queries 2020-06-01 13:28:52 -07:00
Max Brunsfeld
40993195b8
Fix wasm tests on CI (#616)
* wasm: Improve error message on missing language symbol

* Fix source file existence checks in build-wasm command
2020-05-13 15:14:43 -07:00
Max Brunsfeld
fce5c50f81 Fix wasm query tests 2020-05-11 16:19:42 -07:00
Andy Pan
1635aab801
Fix exporting get/set timeout in web binding (#592)
* Fix exporting get/set timeout in web binding

Add two symbols "_ts_parser_set_timeout_micros", "_ts_parser_timeout_micros" due to usage in `tree-sitter.js`.

* Fix getTimeoutMicros() not returning the value
2020-04-11 08:21:59 -07:00
Max Brunsfeld
96c060fc6d wasm: Fix typo in Node.typeId 2020-02-21 17:06:07 -08:00
Max Brunsfeld
33492ca9df query: Add not-eq? predicate in rust & wasm binding 2020-02-19 21:36:30 -08:00
Max Brunsfeld
9ea3668f75 wasm: Fix logic for finding language functions 2019-11-20 11:10:49 -08:00
Emily Marigold Klassen
1d2f171067 binding_web: fix typo in fieldNameForId (#481) 2019-11-08 21:55:08 -08:00
Max Brunsfeld
f736cb3896 web: Implement TreeCursor.nodeText
Refs #466
2019-10-22 12:58:27 -07:00
Max Brunsfeld
7ccec8c0e2 Tweak wasm binding to work with new upstream LLVM backend 2019-10-21 16:10:29 -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
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
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
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
52cda5f541 Start work on wasm binding to query API 2019-09-10 20:54:21 -07:00
Max Brunsfeld
82fab90c0b web: Add bindings for remaining field APIs 2019-09-04 09:30:36 -07:00
Max Brunsfeld
9848ceb3e2 wasm: Fix infinite loop in Node.text when tree and text are out-of-sync 2019-07-31 13:55:15 -07:00