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
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
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
09a2755399
Store parse states with few lookahead symbols in a more compact way
2019-08-29 15:52:23 -07:00
Max Brunsfeld
0955c5b3d7
Handle named nodes aliased as anonymous nodes
...
Fixes #401
2019-08-29 14:28:44 -07:00
Max Brunsfeld
b3ab2e07a2
binding_rust: Generalize the interface to callback-based parse methods
...
Fixes #386
2019-08-29 10:39:51 -07:00
Max Brunsfeld
a3ce4a4282
Remove some unnecessary global symbols from the library
2019-08-28 11:17:29 -07:00
Tuấn-Anh Nguyễn
f0999d7ac0
Make Rust functions return ExactSizeIterator instead of just Iterator ( #438 )
...
* Add CBufferIter::size_hint
* Make Rust functions return ExactSizeIterator instead of just Iterator
* Fix wrong CBufferIter::size_hint
2019-08-28 09:28:47 -07:00
Tuấn-Anh Nguyễn
d96ba09391
Make Tree::changed_ranges return an Iterator instead of a Vec ( #437 )
...
* Make Tree::changed_ranges return an Iterator instead of a Vec
* Remove CBufferIter.free parameter
2019-08-26 19:36:16 -07:00
Tuấn-Anh Nguyễn
a073fc403a
Add some missing APIs in Rust binding ( #435 )
2019-08-24 14:28:58 -07:00
Gregor
105b0ba52c
Add build instruction to rust binding README ( #432 )
...
Fixes #431
2019-08-21 11:59:37 -07:00
Max Brunsfeld
aace0970d8
Tweak formatting, add comments
2019-08-19 17:31:35 -07:00
Max Brunsfeld
ef87ed6130
Check once for cancellation at the beginning of a parse
2019-08-19 17:31:35 -07:00
Max Brunsfeld
ec7756faa0
Add repo URL to Cargo.toml files
2019-08-19 17:31:35 -07:00
Rob Donnelly
123dcfaec5
Fix compile on older versions of GCC and CLANG ( #427 )
...
Older versions of GCC (<4.9) and LLVM (<3.6) do not have __atomic_load_n
which is part of the C11 standard. Fix by falling back to
__sync_fetch_and_add with a value of 0 when __atomic_load_n is not
available.
Fixes #423
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2019-08-15 09:50:58 -07:00
Max Brunsfeld
52126a6606
Update JS test to reflect typescript grammar changes
2019-08-08 10:23:17 -07:00
Rob Donnelly
b1a4cc044d
Fix Rust bindings example ( #415 )
...
`Parser::parse` returns `Option<&Tree>`. An `unwrap()` or similar is required to get the actual `Tree`.
2019-08-08 08:35:23 -07:00
Max Brunsfeld
93f7de03e2
cli: Handle multi-parser repos, content-regex property
...
Prompted by tree-sitter/tree-sitter-typescript#68
2019-08-07 17:41:45 -07:00
Max Brunsfeld
0afbc31789
Automatically skip BOM characters at beginnings of files
...
Refs tree-sitter/tree-sitter-python#48
2019-08-02 12:03:04 -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
Max Brunsfeld
3714e330d3
wasm: 0.15.9
2019-07-29 17:19:52 -07:00
Max Brunsfeld
08021301c7
wasm: Fix descendants of type error
...
Fixes #394
2019-07-29 17:18:47 -07:00
Max Brunsfeld
56f30ac06f
wasm: 0.15.8
2019-07-23 11:20:24 -07:00
Stafford Brunk
ce10b53fe3
Add missing currentFieldName() to TreeCursor
2019-07-23 06:47:44 -06:00
Stafford Brunk
d686d24563
Add missing delete() to TreeCursor
2019-07-23 06:47:44 -06:00
Stafford Brunk
e5ee59c051
Correct currentNode on TreeCursor
...
It's a method not a getter in this implementation
2019-07-23 06:47:44 -06:00
Max Brunsfeld
443ac1c1e5
Update python tests to reflect grammar changes
2019-07-22 09:55:30 -07:00
Max Brunsfeld
f4740a1beb
Make properties generation aware of which nodes are leaves
2019-07-22 09:30:05 -07:00
Max Brunsfeld
ea515b6967
Fix ts_node_string behavior for anonymous leaf nodes
...
Refs tree-sitter/py-tree-sitter#8
2019-07-18 12:39:15 -07:00
Max Brunsfeld
f505613af3
Fix bug introduced when optimizing property sheet JSON files
2019-07-17 17:00:25 -07:00
Max Brunsfeld
311fc51e8a
wasm: 0.15.7
2019-07-17 15:19:53 -07:00
Max Brunsfeld
def1e1e91a
Reduce bloat in generated property sheet JSON files
2019-07-17 14:28:44 -07:00
Max Brunsfeld
5289e009c1
wasm: Add descendantsOfType to typescript interface
2019-07-17 08:59:14 -07:00
Max Brunsfeld
f00b310908
wasm: Implement Node.descendantsOfType
2019-07-17 08:58:46 -07:00
Stafford Brunk
6340c820c1
Add missing copy() and getLanguage() calls to Tree web types
2019-07-16 20:42:57 -06:00
Stafford Brunk
3953cb317f
Add delete() to Parser and Tree web types
2019-07-16 20:39:57 -06:00
Max Brunsfeld
bd466febb4
highlight: Fix panic when cancelled before parsing a nested document
2019-07-16 14:34:24 -07:00
Max Brunsfeld
1a33f1a665
Add TreeCursor.currentFieldName to wasm binding
2019-07-10 14:31:10 -05:00
Max Brunsfeld
c90a532d8f
Update tests to reflect javascript grammar changes
2019-07-10 14:30:43 -05:00
Max Brunsfeld
f2b13721d9
Update wasm test to reflect C++ grammar changes
2019-07-05 12:13:38 -07:00
Max Brunsfeld
64fc944202
Fix missing criteria for leaf node reuse
2019-06-20 15:02:20 -07:00
Sebastián Gurin
bd97ad5c4c
Wasm file generation note in readme ( #368 )
...
* readme .wasm file generate and usage in node.js
* generate wasm language files readme note
2019-06-20 14:06:09 -07:00
Max Brunsfeld
e4873191d6
Refactor generated lex function to use fewer instructions per state
2019-06-20 09:57:38 -07:00
Max Brunsfeld
28011b1e60
Add ts_node_is_extra API
2019-06-19 15:58:29 -07:00
Andrey Zaytsev
7f2233ddaf
Ts tree cursor copy ( #363 )
...
* add ts_tree_cursor_copy fn
* indentation
2019-06-16 10:52:37 -07:00
Max Brunsfeld
0e046fc6c0
Fix bug when the assert macro is disabled
...
Fixes #364
2019-06-14 14:23:38 -07:00
Max Brunsfeld
80b785daee
Improve behavior of node descendant queries with single positions
2019-06-13 10:53:59 -07:00
Antonio Scandurra
25b0fbd679
Don't use clock_gettime on macOS
...
This commit stops using the monotonic clock API on macOS because it is
supported only on macOS >= 10.12. Instead, it uses the fallback clock
APIs for platforms without monotonic clock support.
The use of `clock_gettime` was causing issues on Atom because, even
though we build it on a new macOS version supporting such API, some
users may run Atom on older versions of macOS. On those platforms, Atom
would crash whenever opening a file parsed with a tree-sitter grammar.
2019-06-12 19:03:46 +02:00