Commit graph

99 commits

Author SHA1 Message Date
Max Brunsfeld
4badd7cc40 Disable compiler optimizations for lex functions in more cases
* Reduce the lexer state count threshold from 500 to 300
* Disable optimizations on clang and gcc in addition to MSVC

Optimizations in these source files don't seem to make any impact on
parsing performance, but they slow down compile time substantially.
2019-02-06 11:50:37 -08:00
Max Brunsfeld
db8de605e6
Merge pull request #270 from vmg/vmg/fixes
Bytes/C Fixes
2019-02-06 10:41:41 -08:00
Max Brunsfeld
5c925b3868 cli: Check that extra rules aren't passed to functions like 'optional'
Fixes #247
2019-02-06 09:31:32 -08:00
Vicent Marti
a8cc082ce2 binding: Make walk_with_properties take an &[u8] 2019-02-06 10:10:55 +01:00
Max Brunsfeld
f31a4a25b4 Avoid using '*' for cli's dependency on lib 2019-02-05 12:25:06 -08:00
Max Brunsfeld
58c41c88a7 cli: add missing cargo metadata 2019-02-05 12:22:02 -08:00
Max Brunsfeld
c3fc8c26df 0.14.0 2019-02-05 12:16:27 -08:00
Max Brunsfeld
d7bc61cada Include parser header content in library crate 2019-02-05 11:59:34 -08:00
Max Brunsfeld
6194dfc247 Don't rely on PWD to find .git folder in build script 2019-02-05 11:55:12 -08:00
Max Brunsfeld
ba32f884a8 Add a version for the CLI's dependency on tree-sitter library 2019-02-05 11:43:10 -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
9a8cf39277 Add incremental parsing unit tests 2019-02-04 16:43:21 -08:00
Max Brunsfeld
4a98f0b87e Port unit test for missing tokens and included ranges 2019-02-04 14:44:06 -08:00
Max Brunsfeld
e62a8a2302 Port more parser unit tests 2019-02-04 10:38:44 -08:00
Max Brunsfeld
59f7511b1c Fix test command's exit code 2019-02-04 09:12:25 -08:00
Max Brunsfeld
b5c057ba04 0.14.0-beta4 2019-02-03 13:59:27 -08:00
Max Brunsfeld
6b8483c53c Start work on porting included range unit tests 2019-02-02 22:57:04 -08:00
Max Brunsfeld
d465850aba Add unit tests for ts_tree_get_changed_ranges 2019-02-02 14:00:11 -08:00
Max Brunsfeld
f263a4fbe3 Separate walk_with_properties tests from parser tests 2019-02-01 21:20:27 -08:00
Max Brunsfeld
e143710f4a Move properties module out of generate 2019-02-01 19:57:00 -08:00
Max Brunsfeld
4cac85fec4 Add benchmark script
* Structure `cli` crate as both a library and an executable, so that
benchmarks can import code from the crate.
* Import macros in the Rust 2018 style.
2019-02-01 15:17:35 -08:00
Max Brunsfeld
e26cbb62a5 Add Tree::edit unit tests 2019-01-31 08:15:30 -08:00
Max Brunsfeld
f6d014f3f4 Write tree_sitter/parser.h file in generate command 2019-01-28 14:23:41 -08:00
Max Brunsfeld
6d8ef48dad Make test subcommand exit 1 if tests fail 2019-01-27 09:53:49 -08:00
Max Brunsfeld
5927e104c2 Check tree consistency in randomized tests 2019-01-26 22:22:29 -08:00
Max Brunsfeld
af83e8034e Move test helpers into their own folder 2019-01-25 16:40:26 -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
e305012b31 Loosen keyword identification criteria slightly 2019-01-21 15:33:43 -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
6105bf9909 Include error recovery examples in test suite 2019-01-20 16:58:49 -08:00
Max Brunsfeld
f6cdd5e3d4 Loosen criteria for identifying conflict-free tokens for error recovery 2019-01-20 16:58:31 -08:00
Max Brunsfeld
9e610bf88e 0.14.0-beta3 2019-01-18 15:16:51 -08:00
Max Brunsfeld
ff41f05a20 Fix computation of following tokens 2019-01-18 15:16:20 -08:00
Max Brunsfeld
31bdf5eb97 Fix handling of JavaScript errors
Refs #258
2019-01-18 09:40:09 -08:00
Max Brunsfeld
ed195de8b6 rustfmt 2019-01-17 17:16:04 -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
652eb3bbb6 0.14.0-beta2 2019-01-17 15:17:55 -08:00
Max Brunsfeld
c204b5e728 Print help/version info when run w/ no subcommand 2019-01-17 15:17:36 -08:00
Max Brunsfeld
53c8eaa4c2 Create a wrapper script for npm package to fix npm install issues 2019-01-17 15:15:34 -08:00
Max Brunsfeld
c27f776d41 Fix word token index issue in a different way
Refs https://github.com/tree-sitter/tree-sitter/issues/258
2019-01-17 13:18:59 -08:00
Max Brunsfeld
8f4096e5cb Give more informative error messages when failing to write files 2019-01-17 12:52:05 -08:00
Max Brunsfeld
bb5dedfb1e Fix another token conflict detection bug 2019-01-17 12:44:35 -08:00
Max Brunsfeld
9f7079c9c5 Ensure that the word token has a low numerical index
Fixes https://github.com/tree-sitter/tree-sitter/issues/258
2019-01-17 12:44:14 -08:00
Max Brunsfeld
3d11388cd1 Fix test subcommand bugs
* Log session was dropped before the parser
* Whitespace between close parens was not stripped
2019-01-17 12:40:21 -08:00
Max Brunsfeld
d52a11fd03 Avoid using a string literal to pass grammar path to JS
Backslashes in windows path were getting interpeted as escape characters.
2019-01-17 10:09:03 -08:00
Max Brunsfeld
d903371709 Remove noisy logging 2019-01-17 10:07:58 -08:00
Max Brunsfeld
e4b9d9dfa9 Fix token conflict detection bugs 2019-01-16 20:57:31 -08:00