Max Brunsfeld
c153711539
query: Avoid splitting states on nodes that don't contain captures
2019-10-14 12:30:22 -07:00
Max Brunsfeld
f4903578f8
Start reimplementing highlight crate with tree queries
2019-10-14 12:30:22 -07:00
Matthew Krupcale
ee9a3c0ebb
lib: remove utf8proc dependency ( #436 )
...
* Remove dependency on utf8proc
This removes the only external dependency on utf8proc for UTF-8 decoding. It does so by implementing its own UTF-8 decoder. This decoder is both faster and has a simpler API.
* .gitmodules: remove utf8proc submodule
* docs/section-2-using-parsers.md: remove requirement for utf8proc submodule
* docs/section-6-contributing.md: likewise
* lib/Cargo.toml: remove utf8proc subdirectory package include
* lib/README.md: remove utf8proc subdirectory description
* lib/binding_rust/build.rs: remove utf8proc compiler include directory
* lib/src/lexer.c: remove utf8proc dependencies and types
* lib/src/lib.c: remove utf8proc dependency
* lib/src/unicode.h: define types for Unicode decoders
* lib/src/utf16.{c,h}: implement more readable UTF-16 decoder
* lib/src/utf8.{c,h}: implement fast UTF-8 decoder
* lib/utf8proc: remove utf8proc submodule directory
* script/build-lib: remove utf8proc compiler include directory
* script/build-wasm: likewise
* Optimize ts_lexer__get_lookahead.
Try to favor non-failure code path and assign lookahead values directly to lexer
* lib/src/lexer.c: optimize for non-failure code path
* Fix some compiler errors
* lib/src/lexer.c: cast from signed to unsigned for decode_next result
* lib/src/utf16.c: fix non-constant initializers for older compilers
* Remove some missed remnants of utf8proc
* docs/section-2-using-parsers.md: only two include paths necessary now
* lib/src/lib.c: no need to define UTF8PROC_STATIC
* Use ICU's utf8 and utf16 decoding routines
* Remove unnecessary casts when calling icu macros
* Check buffer length before attempting to decode a unicode character
* Use new unicode function when parsing Queries
Co-Authored-By: Matthew Krupcale <mkrupcale@matthewkrupcale.com>
* Mark libicu files as vendored for GitHub's stats
2019-10-14 11:18:39 -07:00
Max Brunsfeld
dc7997fdbb
node-types: Rework the approach to computing multiple and required
2019-10-11 13:59:02 -07:00
Rob Rix
20bb99249b
Fix a typo in the docs. ( #457 )
2019-10-04 14:49:19 -07:00
dependabot[bot]
10c6144e83
Bump rubyzip from 1.2.1 to 2.0.0 in /docs ( #459 )
...
Bumps [rubyzip](https://github.com/rubyzip/rubyzip ) from 1.2.1 to 2.0.0.
- [Release notes](https://github.com/rubyzip/rubyzip/releases )
- [Changelog](https://github.com/rubyzip/rubyzip/blob/master/Changelog.md )
- [Commits](https://github.com/rubyzip/rubyzip/compare/v1.2.1...v2.0.0 )
Signed-off-by: dependabot[bot] <support@github.com>
2019-10-04 14:48:53 -07:00
Max Brunsfeld
6b322c5c28
Merge pull request #453 from ikatyang/docs/add-markdown-parser
...
docs: add Markdown and Vue parser
2019-10-04 09:58:52 -07:00
Max Brunsfeld
262c7f1e58
Merge pull request #460 from ikatyang/fix/web-tree-sitter/add-missing-types
...
fix(web-tree-sitter): add missing types
2019-10-04 09:57:33 -07:00
Ika
825a816ee7
docs: add Vue parser
2019-10-04 20:38:01 +08:00
Ika
979b46e297
fix(web-tree-sitter): add missing types
2019-10-04 20:16:13 +08:00
Max Brunsfeld
02b6397aa3
Add test for advancing query cursor after has already finished
2019-10-03 12:55:10 -07:00
Max Brunsfeld
015be68c94
rust: Generalize text_callback type for query methods
2019-10-03 12:53:14 -07:00
Max Brunsfeld
9872a083b7
rust: Change QueryCursor::captures to expose the full match
2019-10-03 12:45:58 -07:00
Max Brunsfeld
3e040b8951
0.15.10
2019-10-02 14:13:20 -07:00
Max Brunsfeld
fb7a5369fe
Fix regression in node-types for rules with simple aliases
2019-10-02 14:11:21 -07:00
Max Brunsfeld
754cfd42bf
Respect nodes' aliases when generating node types
...
Fixes #455
2019-10-02 13:59:00 -07:00
Max Brunsfeld
cb87b7b76e
Fix invalid read by query cursor on error nodes
...
🎩 @bfredl
Refs https://github.com/tree-sitter/tree-sitter/pull/448#issuecomment-536337749
2019-10-01 11:28:51 -07:00
Max Brunsfeld
d40f3b96b6
Merge pull request #454 from bfredl/symboltype
...
fix compiler warning for comparing `char` with `TSSymbolType'
2019-09-30 11:19:32 -07:00
Björn Linse
1d2d043390
fix compiler warning with comparing char with `TSSymbolType'
2019-09-30 19:24:40 +02:00
Ika
d54fe98334
docs: add Markdown parser
2019-09-30 20:10:37 +08:00
Max Brunsfeld
27149902f8
Handle is?, is-not?, and set! predicate functions in queries
2019-09-25 10:21:20 -07:00
Max Brunsfeld
b15e90bd26
Handle set! predicate function in queries
2019-09-24 11:54:24 -07:00
Max Brunsfeld
ff9a2c1f53
Make queries work in languages with simple aliases
2019-09-24 11:54:24 -07:00
Max Brunsfeld
9ce3a53427
Precompute tree edits in playground script
2019-09-23 17:01:35 -07:00
Max Brunsfeld
070f11b8bf
Use ptr::NonNull in Rust bindings
2019-09-23 17:00:52 -07:00
Max Brunsfeld
887b4a4f76
Merge pull request #450 from bfredl/warnings
...
Fix some compiler warnings regarding function prototypes
2019-09-22 09:14:26 -07:00
Björn Linse
15e3bc7fd2
Fix some compiler warnings regarding function prototypes
2019-09-22 11:49:44 +02:00
Max Brunsfeld
598e4e4cf4
Add a unit test to verify captures are sorted by start and end position
2019-09-20 10:12:45 -07:00
Max Brunsfeld
0795b59695
0.15.9
2019-09-19 11:57:16 -07:00
Max Brunsfeld
c9f46b8242
Fix false negative in token conflict detection
...
Co-Authored-By: Timothy Clem <timothy.clem@gmail.com>
2019-09-19 11:50:38 -07:00
Max Brunsfeld
10fb9b0e20
Fix playground HTML, tweak playground colors
2019-09-18 18:03:15 -07:00
Max Brunsfeld
07afce0686
Merge pull request #444 from tree-sitter/tree-queries
...
Introduce the 'Tree query' - an API for pattern-matching on syntax trees
2019-09-18 17:36:21 -07:00
Max Brunsfeld
a6b6a681ec
Fix a bug that prevented early termination of query matches
2019-09-18 16:13:10 -07:00
Max Brunsfeld
d9b8bae629
rust: Include pattern indices when iterating query captures
2019-09-18 14:22:55 -07:00
Max Brunsfeld
186b08381c
Terminate failed query matches before descending whenever possible
...
When iterating over captures, this prevents reasonable queries from
forcing the tree cursor to buffer matches unnecessarily.
2019-09-18 11:37:49 -07:00
Max Brunsfeld
374a7ac81e
Ensure that duplicate captures are ordered by pattern index
2019-09-17 16:27:16 -07:00
Max Brunsfeld
82955759c0
Add an API for getting a pattern's start offset in the source code
2019-09-17 16:19:58 -07:00
Max Brunsfeld
fdd3a34e70
Fix some comments
2019-09-17 15:05:12 -07:00
Max Brunsfeld
2d1ca8bc9f
Fix match return order fom ts_query_cursor_next_match
2019-09-17 14:52:27 -07:00
Max Brunsfeld
1af85dc3f7
Remove unused APIs, expand docs for predicate API
2019-09-16 15:00:32 -07:00
Max Brunsfeld
b79839b599
Use a more realistic example in one JS query unit test
2019-09-16 12:48:01 -07:00
Max Brunsfeld
9323ba52c8
Minify function names in wasm build
2019-09-16 11:38:29 -07:00
Max Brunsfeld
7793bf2a5a
Clean up query code
2019-09-16 11:33:22 -07:00
Max Brunsfeld
d4d554b2ae
Add wasm bindings for predicates
2019-09-16 10:25:44 -07:00
Max Brunsfeld
096126d039
Allow predicates in queries, to match on nodes' text
2019-09-15 22:06:51 -07:00
Max Brunsfeld
307a1a6c11
Avoid wasm calls in Node.startIndex and Node.startPosition
2019-09-13 15:38:30 -07:00
Max Brunsfeld
0d913dec65
Fix layout issues in web-ui
2019-09-13 15:19:31 -07:00
Max Brunsfeld
86205b9e6d
Fix infinite loop on unterminated string in query
2019-09-13 15:19:21 -07:00
Max Brunsfeld
a1fec71b19
Tweak QueryCursor to allow iterating either matches or captures
...
For syntax highlighting, we want to iterate over all of the captures in
order, and don't care about grouping the captures by pattern.
2019-09-13 15:19:04 -07:00
Max Brunsfeld
33587c924a
Remove an unused field, clean up some comments
2019-09-12 17:00:01 -07:00