Max Brunsfeld
a8a5e23e5e
Make TreePropertyCursor respect field selectors
2019-02-14 10:15:18 -08:00
Max Brunsfeld
4f069fbe3b
Merge branch 'master' into node-fields
2019-02-14 09:35:47 -08:00
Max Brunsfeld
b08f8dc855
0.14.4
2019-02-13 19:32:39 -08:00
Max Brunsfeld
57c528b6c5
CLI: Determine language symbol from grammar, not package.json
...
Fixes #272
Fixes #277
2019-02-13 19:31:26 -08:00
Max Brunsfeld
9f3134dace
Allow fields to be used in property sheets
2019-02-13 19:14:33 -08:00
Max Brunsfeld
65d1ce8593
lib: Include fields in ts_node_string output
...
This allows you to assert about fields in tests. But if your test
s-expression does *not* include fields, the fields will be stripped from
the regexp before comparison.
2019-02-13 09:47:21 -08:00
Max Brunsfeld
9f608435ee
Fix errors in when languages have no fields
2019-02-12 17:20:12 -08:00
Max Brunsfeld
56309a1c28
Generate node-fields.json file
2019-02-12 11:06:18 -08:00
Max Brunsfeld
2b685658db
lib: 0.3.8
2019-02-11 09:46:26 -08:00
Max Brunsfeld
216ff5c3d5
Merge pull request #273 from tree-sitter/vmg/byte-overflow
...
binding: Add overflow checks when slicing in `parse`
2019-02-11 09:44:09 -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
b7e38ccc96
Allow using fields in inlined rules
2019-02-08 17:12:08 -08:00
Max Brunsfeld
eb1e7af5ec
Normalize rule argument to field function
2019-02-08 17:11:58 -08:00
Max Brunsfeld
e579e09569
Ensure interpretations are in a predictable order in conflict messages
2019-02-08 17:11:44 -08:00
Max Brunsfeld
a7206b1b8b
Add some assertions to node field test
2019-02-08 16:25:27 -08:00
Max Brunsfeld
79d90f0d3e
Restore naming of alias sequence lengths
...
Fields aren't stored in sequences now, so the max length
is back to being just for aliases.
2019-02-08 16:14:18 -08:00
Max Brunsfeld
d8a2c0dda2
Use a separate type for storing field map headers
2019-02-08 16:06:29 -08:00
Max Brunsfeld
51a9f14f7d
Ensure symbols are written in a predictable order in conflict messages
2019-02-08 15:16:56 -08:00
Max Brunsfeld
1d1674811c
Fully implement ts_node_child_by_field_id
2019-02-08 15:16:56 -08:00
Max Brunsfeld
bef80c162e
benchmarks: Use fixture languages' own copies of parser.h when compiling them
2019-02-08 15:16:56 -08:00
Max Brunsfeld
18a13b457d
Get basic field API working
2019-02-08 15:16:56 -08:00
Max Brunsfeld
7f66d2406f
test script: Tell cargo which package has the tests
2019-02-08 15:16:56 -08:00
Max Brunsfeld
108ca989ea
Start work on including child refs in generated parsers
2019-02-08 15:16:56 -08:00
Max Brunsfeld
bf4e1304f8
Start work on new ref API, for giving names to nodes' children
...
Co-Authored-By: Ayman Nadeem <aymannadeem@gmail.com>
2019-02-08 15:16:56 -08:00
Max Brunsfeld
dac13af206
cli: Always write parser.h in generate command
2019-02-08 15:16:38 -08:00
Max Brunsfeld
acd30d4693
Write grammar.json file when generating based on grammar.js
2019-02-08 15:15:47 -08: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
dcd4953498
0.14.3
2019-02-06 16:28:27 -08:00
Max Brunsfeld
4dc475b18c
cli: Compile C++ external scanners with exceptions disabled
2019-02-06 16:19:08 -08:00
Max Brunsfeld
9b8bf8dfe2
cli: Compute fragile tokens *after* merging compatibile parse states
...
Previously, we failed to mark as fragile some tokens that *should* be
fragile because of tokens that were introduced during parse state
merging.
2019-02-06 16:18:49 -08:00
Max Brunsfeld
af694b4c13
cli: Fix exit code of parse subcommand
2019-02-06 16:17:35 -08:00
Max Brunsfeld
ccbb8c1cce
Add context to error message when opening dynamic libraries
2019-02-06 16:03:50 -08:00
Max Brunsfeld
f239854f29
0.14.2
2019-02-06 13:23:49 -08:00
Max Brunsfeld
18085b9eb9
cli: Compile C++ files first when loading parsers
2019-02-06 13:07:03 -08:00
Max Brunsfeld
92a6a69625
cli: Don't error if parser load path contains a non-existent dir
2019-02-06 12:59:19 -08:00
Max Brunsfeld
b0b93291af
0.14.1
2019-02-06 11:56:31 -08:00
Max Brunsfeld
6d6e29f2dc
Add usage info to version script
2019-02-06 11:56:12 -08:00
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
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
db8de605e6
Merge pull request #270 from vmg/vmg/fixes
...
Bytes/C Fixes
2019-02-06 10:41:41 -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
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
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
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
695b6aff59
lib: fix cargo includes
2019-02-05 12:12:21 -08:00