Max Brunsfeld
1aaad66a03
Merge pull request #301 from tree-sitter/clock-based-timeouts
...
Replace operation limit API with a clock-based timeout API
2019-03-14 16:50:44 -07:00
Max Brunsfeld
23dfde067e
Get disabled debugging code compiling again
...
Fixes #303
2019-03-14 16:50:10 -07:00
Max Brunsfeld
59fd8528d4
Avoid division rounding errors w/ clock counts
2019-03-14 15:53:45 -07:00
Max Brunsfeld
006a931ab8
Tests: Prevent array reallocations during ts_stack_print_dot_graph
...
When debugging a test with 'script/test -D', the DOT-graph generation
code was sometimes causing reallocations that were not captured by the
allocation tracker, because we explicitly disable allocation-tracking
for that method in order to reduce noise when debugging memory leaks.
By growing the relevant array *prior* to turning off allocation
tracking, we can ensure that it is not reallocated within that function,
avoiding false positive memory leak errors.
Fixes #302
2019-03-14 13:59:12 -07:00
Max Brunsfeld
88e3907cc0
Use QueryPerformanceFrequency as clock on windows
2019-03-14 13:42:31 -07:00
Max Brunsfeld
430f8874ea
Lib: reduce frequency of clock calls during parsing
2019-03-14 11:52:25 -07:00
Max Brunsfeld
cddb3e416d
Replace operation limit API with a clock-based timeout API
2019-03-14 11:13:38 -07:00
Max Brunsfeld
db953312b8
Merge pull request #295 from joshuawarner32/fix-warning
...
Fix warning about undefined snprintf
2019-03-10 11:38:22 -07:00
Joshua Warner
6f71b8840b
Fix warning about undefined snprintf
2019-03-08 21:22:13 -08:00
Joshua Warner
14a483f4c3
Simplify lifetimes in Node::children in the rust bindings
2019-03-08 20:56:24 -08:00
Max Brunsfeld
ae0e89c297
lib: 0.3.9
2019-02-25 12:58:52 -08:00
Max Brunsfeld
2b685658db
lib: 0.3.8
2019-02-11 09:46:26 -08:00
Vicent Marti
f487b163bf
binding: Add overflow checks when slicing in parse
...
Because of the way TreeSitter parsers are generated, the parse callback
can ask for a byte offset at the exact end of the byte slice we're
processing, and slicing at the end of the slice in Rust causes a panic,
so we need to explicitly ward against this.
2019-02-11 12:31:40 +01:00
Max Brunsfeld
010d8f9c74
Implement Error for PropertySheetError
2019-02-06 19:43:06 -08:00
Max Brunsfeld
8db1b488e4
Make Node text methods take bytes
2019-02-06 19:42:47 -08:00
Max Brunsfeld
a85ed086cc
Define UTF8PROC_STATIC macro in the source
...
This way, there's one less flag you have to pass when building the
library on windows.
2019-02-06 10:42:29 -08:00
Max Brunsfeld
b925f6e136
Avoid using fall-through in get_changed_ranges
...
Also, clean up the that function a bit and add a few comments.
2019-02-06 10:24:15 -08:00
Vicent Marti
a8cc082ce2
binding: Make walk_with_properties take an &[u8]
2019-02-06 10:10:55 +01:00
Vicent Marti
9a951c859d
lib: Fix importing fdopen in parser.c
2019-02-06 10:10:38 +01:00
Vicent Marti
02bc9b5829
lib: Silence explicit fallthrough warning in GCC
2019-02-06 10:10:18 +01:00
Max Brunsfeld
695b6aff59
lib: fix cargo includes
2019-02-05 12:12:21 -08:00
Max Brunsfeld
0151051392
lib: 0.3.7
2019-02-05 12:05:18 -08:00
Max Brunsfeld
d7bc61cada
Include parser header content in library crate
2019-02-05 11:59:34 -08:00
Max Brunsfeld
8edb6927d0
Update docs after Rust conversion
2019-02-05 11:34:01 -08:00
Max Brunsfeld
50281637d7
binding: Make parse methods more convenient
...
* Rename parse_str to parse and make it polymorphic.
* Rename parse_utf8 to parse_with, since it is now the callback-based
version of parse
* Add a parse_utf16 method analogous to parse
* Rename existing parse_utf16 method to parse_utf16_with
This brings in the changes from tree-sitter/rust-tree-sitter#5
2019-02-05 10:59:33 -08:00
Max Brunsfeld
efe79889be
Port node tests
2019-02-04 20:42:56 -08:00
Max Brunsfeld
6b8483c53c
Start work on porting included range unit tests
2019-02-02 22:57:04 -08:00
Max Brunsfeld
d192eda9cf
Remove stray word 'runtime' from comment
2019-01-30 21:43:44 -08:00
Max Brunsfeld
213ccfd3a4
Update trees' metadata bits when setting symbol back to word token
2019-01-29 15:30:13 -08:00
Max Brunsfeld
5a12fbd927
Verify changed ranges in randomized tests
2019-01-25 15:20:34 -08:00
Max Brunsfeld
233d616ebf
Add random mutation tests
2019-01-25 12:05:21 -08:00
Max Brunsfeld
196339aaa9
Assert no memory leaks by stubbing malloc/free in the test suite
2019-01-21 14:22:35 -08:00
Max Brunsfeld
cbcc61a8cf
Get parse command handling multiple files, add --time, --quiet flags
2019-01-17 17:15:10 -08:00
Max Brunsfeld
ef735eb942
Upload binary artifacts from CI builds
2019-01-16 10:12:43 -08:00
Max Brunsfeld
a8292f4fe9
Load all fixture grammars dynamically
...
This way the build doesn't take forever any time a single grammar has
been regenerated.
2019-01-15 13:21:48 -08:00
Max Brunsfeld
5c3c1dd0bd
Get logging flags working properly with test script
2019-01-15 13:21:48 -08:00
Max Brunsfeld
8f48240bf1
Allow building the C code with static analysis
2019-01-14 14:06:22 -08:00
Max Brunsfeld
272046a250
Reorganize tests - move them all into the CLI crate
2019-01-10 17:11:57 -08:00
Max Brunsfeld
fab4673c14
Get fixture grammars building for library unit tests
2019-01-10 15:48:13 -08:00
Max Brunsfeld
0f2347b318
Just call the C lib 'the library' everywhere, don't call it a 'runtime'
2019-01-10 15:22:39 -08:00
Max Brunsfeld
1dfbe495ed
Get property sheet compilation working
2019-01-10 13:12:16 -08:00
Max Brunsfeld
6bd550ca87
Start work on property sheet compilation
2019-01-09 18:10:32 -08:00
Max Brunsfeld
98807d2053
Add debug and debug-graph flags to parse and test commands
2019-01-08 21:03:51 -08:00
Max Brunsfeld
dd416b0955
Update include paths to not reference 'runtime' directory
2019-01-04 17:33:34 -08:00
Max Brunsfeld
47607cecf4
Reorganize repo, add rust CLI and binding code,
2019-01-04 17:31:49 -08:00
Max Brunsfeld
97ca3bc2d1
Add rust tree-sitter runtime binding in lib directory
2019-01-04 17:16:34 -08:00