Commit graph

2384 commits

Author SHA1 Message Date
Max Brunsfeld b79bd8693b Start work on handling node supertypes 2019-03-26 11:51:02 -07:00
Max Brunsfeld 445dfda53e binding: Restore handling of multiple symbols w/ same name
Even though normal aliases don't cause this, simple (single-use) aliases still do cause it.
2019-03-05 09:44:43 -08:00
Max Brunsfeld f52271352b Merge branch 'master' into node-fields 2019-03-05 08:08:05 -08:00
Max Brunsfeld a20fc3c111 Remove unnecessary character escape processing for regexes
Fixes #289
2019-03-04 10:10:04 -08:00
Max Brunsfeld 08ac66a656 Don't generate prop sheets when a specific grammar path is passed 2019-03-03 18:53:24 -08:00
Max Brunsfeld 363079bf3e Re-enable HTML language in benchmarks
Made possible by this error recovery performance fix:
4c7d5fe26c
2019-03-03 18:23:01 -08:00
Max Brunsfeld e6d6b4a700 Revert "CI: move binary instead of copying to preserve executable permission"
This reverts commit 743d18d956.
2019-02-25 13:41:57 -08:00
Max Brunsfeld ba165c2909 highlight: 0.1.4 2019-02-25 13:02:50 -08:00
Max Brunsfeld ae0e89c297 lib: 0.3.9 2019-02-25 12:58:52 -08:00
Max Brunsfeld 4e059e18cb 0.14.5 2019-02-25 12:55:28 -08:00
Max Brunsfeld 1bad6dc41e Add ~/.tree-sitter/config.json file, init-config command
Right now this is just used for two things:
* Specifying folders for locarting parsers to use with `tree-sitter 
parse` and `tree-sitter highlight`
* Specifying colors to use for `tree-sitter-highlight`
2019-02-25 12:33:24 -08:00
Max Brunsfeld 858b4ba8ac cli: Fix handling of import chains in property sheets 2019-02-22 16:15:36 -08:00
Max Brunsfeld d3628f3c0c highlight: 0.1.3 2019-02-22 11:50:27 -08:00
Max Brunsfeld 14b7af3436 highlight: Fix HTML rendering of empty lines 2019-02-22 11:48:29 -08:00
Max Brunsfeld 92e9f984ed Fix small docs errors 2019-02-22 09:44:25 -08:00
Max Brunsfeld 190b219be5 Document external scanners
Fixes #281
2019-02-22 09:35:29 -08:00
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