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
f08767c482
Add tree query editor to web UI and playground
2019-09-12 14:07:17 -07:00
Max Brunsfeld
49ce2fddb9
Add wasm binding for running tree queries in a limited range
2019-09-12 12:14:04 -07:00
Max Brunsfeld
67dcbc3e73
Detect error when a prefix of a valid node name is used in a query
2019-09-11 21:23:46 -07:00
Max Brunsfeld
c71de5bd81
Tweak query interface
...
* Rename TSQueryContext -> TSQueryCursor
* Remove the permanent association between the cursor and its query. The
cursor can now be used again for a different query.
2019-09-11 17:33:48 -07:00
Max Brunsfeld
c8c75782e3
Allow tree queries to execute within a limited range
2019-09-11 16:49:29 -07:00
Max Brunsfeld
beb5eec7d9
Fix handling of single-node patterns in tree queries
2019-09-11 15:22:32 -07:00
Max Brunsfeld
ad3f21b0e5
Add simple CLI command for running tree queries
2019-09-11 15:12:45 -07:00
Max Brunsfeld
d674bc139a
Fix more bugs in binary search used in tree queries
...
This binary search implementation differs from Rust's
`slice::binary_search_by` method in how they deal with ties.
In Rust's implementation:
> If there are multiple matches, then any one of the matches
> could be returned.
This implementation needs to return the index of the *first* match.
2019-09-11 14:45:14 -07:00
Max Brunsfeld
33f89522f6
Allow lisp-style comments in tree queries
2019-09-11 12:16:05 -07:00
Max Brunsfeld
4fa0b02d67
Fix management of capture lists in query execution
2019-09-11 12:06:38 -07:00
Max Brunsfeld
60467ae701
Fix bugs in binary search used in tree queries
2019-09-10 22:30:27 -07:00
Max Brunsfeld
fe7c74e7aa
Start work on an API for querying trees
2019-09-10 20:53:57 -07:00
Max Brunsfeld
a8dedbee0d
In test command, use the longest line of dashes as the test divider
2019-09-05 09:59:59 -07:00
Max Brunsfeld
62538ed410
highlight iterator: Return byte offset ranges instead of string slices
...
Refs #443
2019-09-04 17:29:31 -07:00
Max Brunsfeld
30e73505e1
Fix handling of extra tokens in ts_tree_cursor_current_field_id
2019-09-04 09:04:31 -07:00
Max Brunsfeld
7685b7861c
0.15.8
2019-08-30 21:22:46 -07:00
Max Brunsfeld
69ab405325
In next ABI, group symbols by action in small parse state table
...
This is a more compact representation because in most states, many
symbols share the same actions.
2019-08-30 20:29:55 -07:00
Max Brunsfeld
8037607583
Only generate the new parse table format if --next-abi flag is used
2019-08-29 17:37:33 -07:00
Max Brunsfeld
aeb2f895b4
Add --report-states flag for reporting state counts for each rule
2019-08-29 17:36:39 -07:00
Max Brunsfeld
82ff542d3b
Appease MSVC by avoiding empty arrays
2019-08-29 17:31:44 -07:00
Max Brunsfeld
09a2755399
Store parse states with few lookahead symbols in a more compact way
2019-08-29 15:52:23 -07:00
Max Brunsfeld
48a883c1d4
Move external token state id computation out of render module
2019-08-29 15:48:22 -07:00
Max Brunsfeld
759c1d6e65
Reorder parse states by descending symbol count
2019-08-29 15:28:29 -07:00
Max Brunsfeld
2430733ee8
Avoid iterating hashmaps in places where order matters
2019-08-29 15:26:05 -07:00
Max Brunsfeld
f371507d39
Move TokenSet to rules module
2019-08-29 15:25:45 -07:00
Max Brunsfeld
0955c5b3d7
Handle named nodes aliased as anonymous nodes
...
Fixes #401
2019-08-29 14:28:44 -07:00
Max Brunsfeld
b3ab2e07a2
binding_rust: Generalize the interface to callback-based parse methods
...
Fixes #386
2019-08-29 10:39:51 -07:00
Max Brunsfeld
09b46b87dd
Remove unnecessary blank lines from parse command output on error
2019-08-28 15:29:44 -07:00
Tuấn-Anh Nguyễn
d96ba09391
Make Tree::changed_ranges return an Iterator instead of a Vec ( #437 )
...
* Make Tree::changed_ranges return an Iterator instead of a Vec
* Remove CBufferIter.free parameter
2019-08-26 19:36:16 -07:00
Max Brunsfeld
d5b5d473ab
Add missing comparisons to property item hash & equality impls
...
Fixes the inconsistent failurs of property sheet unit tests
2019-08-26 09:31:48 -07:00
Max Brunsfeld
ec7756faa0
Add repo URL to Cargo.toml files
2019-08-19 17:31:35 -07:00
Max Brunsfeld
8e3ff6376f
Upgrade rand, dirs
2019-08-19 17:31:35 -07:00
Rob Donnelly
9ba5f25594
Ignore hidden files in grammar test directories ( #430 )
...
This fixes "stream did not contain valid UTF-8" error due to
`tree-sitter test` attempting to Vim's parse hidden binary swap files.
2019-08-19 09:03:12 -07:00
Max Brunsfeld
5e04daf483
Avoid non-deterministic set iteration order when handling conflicts
2019-08-13 15:57:42 -07:00
Max Brunsfeld
56ce4e5d50
Upgrade rsass, remove hashbrown
2019-08-13 10:08:58 -07:00
Max Brunsfeld
5f369a5870
Fix another empty array literal for MSVC compatibility
2019-08-12 15:13:41 -07:00
Matthew Krupcale
276d3cb5ad
tree-sitter-cli: build: add support for git submodules ( #422 )
...
The .git file can contain a reference to the actual git directory as is commonly the case for a submodule[1]. When this is the case, read the .git file to discover the actual git directory.
* cli/build.rs: Read the .git file to discover the git directory
[1] https://git-scm.com/docs/gitrepository-layout
2019-08-12 14:11:59 -07:00
Max Brunsfeld
13c0aa7dbb
Avoid empty initializer list for ts_alias_sequences
...
Fixes a bug introduced in 68b089b41e
2019-08-12 14:11:40 -07:00
Max Brunsfeld
68b089b41e
cli: Fix generation of parsers with fields but no aliases
...
Fixes #419
2019-08-11 09:22:30 -07:00
Max Brunsfeld
4d63697036
cli: Fix loading of parsers with no tree-sitter section in package.json
2019-08-11 09:21:49 -07:00
Max Brunsfeld
0dff46865c
web-ui: Fix content-type of library wasm
2019-08-10 13:00:55 -07:00
Max Brunsfeld
d78204b713
cli: Don't regenerate index.js if it already exists
2019-08-08 15:02:36 -07:00
Max Brunsfeld
93f7de03e2
cli: Handle multi-parser repos, content-regex property
...
Prompted by tree-sitter/tree-sitter-typescript#68
2019-08-07 17:41:45 -07:00
Max Brunsfeld
7005d8b9d9
Avoid printing names of all skipped tests in benchmark script
2019-08-06 12:46:46 -07:00
Max Brunsfeld
8083ae6602
benchmark: Parse each sample a configurable number of times
...
Refs #343
2019-08-02 12:04:31 -07:00
Max Brunsfeld
0afbc31789
Automatically skip BOM characters at beginnings of files
...
Refs tree-sitter/tree-sitter-python#48
2019-08-02 12:03:04 -07:00
Max Brunsfeld
9e1649d9f8
node-types: Fix children descriptors' multiple and required properties
2019-07-30 12:07:11 -07:00