Max Brunsfeld
2249ddb687
docs: Adjust intro, remove mentions of node-gyp, npm install
2019-02-21 16:41:52 -08:00
Max Brunsfeld
af44147157
docs: Fix references to runtime.h, libruntime.a
2019-02-21 16:41:22 -08:00
Max Brunsfeld
743d18d956
CI: move binary instead of copying to preserve executable permission
2019-02-21 16:18:22 -08:00
Max Brunsfeld
f4a169ec11
Merge pull request #283 from tree-sitter/syntax-highlighting
...
Add a `highlight` sub-crate and expose its functionality through the CLI
2019-02-20 17:45:21 -08:00
Max Brunsfeld
27d4f0d69d
highlight: 0.1.2
2019-02-20 16:47:27 -08:00
Max Brunsfeld
e239aa8229
highlight: don't include scope in ScopeEnd events
...
When there are embedded documents, multiple scopes can start or
end at the same position. Previously, there was no guarantee that
the ScopeEnd events would always occur in the reverse order of the
ScopeStart events. The easiest way to avoid exposing inconsistency
is to not surface the scopes being ended.
2019-02-20 16:45:51 -08:00
Max Brunsfeld
d2264d597f
cli: Add --scope flag to highlight command
2019-02-20 14:38:19 -08:00
Max Brunsfeld
d63368552a
highlight: 0.1.1
2019-02-20 10:42:56 -08:00
Max Brunsfeld
2ee5cbbc1d
highlight: take callback parameters by value
2019-02-20 10:27:08 -08:00
Max Brunsfeld
c20a330fa5
highlight: Add a README
2019-02-19 17:56:46 -08:00
Max Brunsfeld
a46515b80f
Replace LanguageRegistry trait with a simple callback
2019-02-19 17:07:12 -08:00
Max Brunsfeld
e89b6b2402
Add a highlight subcommand
2019-02-19 12:32:03 -08:00
Max Brunsfeld
0dd15e2b02
Ensure deterministic order of values in property sheet JSON files
2019-02-19 10:40:34 -08:00
Max Brunsfeld
9185f6c168
Clarify parse command error message when failing to read source file
2019-02-19 10:40:27 -08:00
Max Brunsfeld
4db132ff94
In property sheets, avoid converting numeric values to strings
2019-02-15 20:48:36 -08:00
Max Brunsfeld
405c200786
Merge branch 'master' into node-fields
2019-02-14 16:27:22 -08:00
Max Brunsfeld
5debf3cbcc
cli: Create src directory before writing grammar.json
...
Fixes #278
2019-02-14 10:57:33 -08:00
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