Max Brunsfeld
837899e456
Add API for checking if a pattern in a query is non-local
2023-02-16 11:59:34 -08:00
Max Brunsfeld
40703f110c
Fix bug in maintenance of query cursor's tree depth
2023-02-16 11:59:34 -08:00
Max Brunsfeld
fa869cf3ed
Restructure query_cursor_advance to explicitly control which hidden nodes it descends into
2023-02-16 11:59:34 -08:00
Max Brunsfeld
29c9073177
Extract 'internal' versions of tree cursor movement fns that allow visiting hidden nodes
2023-02-16 11:59:34 -08:00
Max Brunsfeld
189cf6d59d
Group analysis state sets into QueryAnalysis struct
2023-02-16 11:59:34 -08:00
Max Brunsfeld
32ce1fccd0
Precompute the set of repetition symbols that can match rootless patterns
2023-02-16 11:59:34 -08:00
Max Brunsfeld
450c67484b
For now, don't implement ts_tree_print_dot_graph on windows
2023-02-13 23:18:41 -08:00
Max Brunsfeld
0b817a609f
Clear the parse stack when terminating parsing early due to error cost
...
This fixes a bug where the parse tree would not be rebalanced if this
code path was taken.
2023-02-13 13:45:12 -08:00
Max Brunsfeld
97fd990822
Add --dot flag to parse subcommand, for printing tree as DOT graph
2023-02-13 12:33:34 -08:00
Max Brunsfeld
e021d6e979
Merge pull request #1990 from DeepChannel/fix/nanos-rollover
...
fix: possible rollover of nanoseconds in clock.h
2023-02-01 13:15:32 -08:00
Phil Freeman
eb549a89ad
fix: possible rollover of nanoseconds in clock.h
2022-12-14 09:43:58 -08:00
Max Brunsfeld
efd22e452b
Fix suppression of empty tokens during error handling at included range boundaries
2022-11-14 12:20:39 -08:00
Max Brunsfeld
d07f864815
Fix parse error when reusing a node at the end of an included range
2022-11-11 16:34:57 -08:00
Max Brunsfeld
da6e24de17
Fix adjustment of trees' included ranges on edits
...
Previously, when an included range started or ended *inside* of
an edit, that range did not get updated correctly.
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2022-11-07 16:52:19 -08:00
Max Brunsfeld
1848d0bc36
Add tree included ranges getter
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-11-04 15:24:07 -07:00
Logan Collins
5337a678fa
Resolving a potential crash freeing a null pointer when cancelling parses.
2022-10-31 11:35:52 -07:00
Matt
98b8226c70
Remove unnecessary cast
2022-09-21 20:17:30 -04:00
Matt
8751fa0853
Add explicit casting for array capacities
2022-09-21 15:52:44 -04:00
Max Brunsfeld
70cfc55e58
Merge pull request #1879 from mattmassicotte/fix/sizes
...
change integer type in ts_parser__set_cached_token
2022-09-21 10:25:38 -07:00
Matt
af6611e530
matching integer types
2022-09-21 08:50:01 -04:00
Max Brunsfeld
67d13cf50b
Fix integer size of subtree's child count field
...
Fixes tree-sitter/tree-sitter-cpp#175
2022-09-08 11:02:42 -07:00
Max Brunsfeld
1b86ccecc8
Merge pull request #1845 from tree-sitter/root-node-with-offset
...
Add API for applying a positional offset when accessing a tree's nodes
2022-08-25 10:51:20 -07:00
Max Brunsfeld
6b87326470
Merge pull request #1787 from kianmeng/fix-typos
...
Fix typos
2022-08-25 10:25:39 -07:00
Max Brunsfeld
53ed4cf037
Tolerate tree edits whose old range extends beyond the end of the tree
2022-08-25 10:20:40 -07:00
Max Brunsfeld
477b667753
Add ts_tree_root_node_with_offset API
2022-08-18 13:48:47 -07:00
Sebastian Lackner
1245d54fb8
Fix crash in ts_node_field_name_for_child when no children are present
2022-07-27 12:26:35 +02:00
Sebastian Lackner
2174288e30
query: Use uint16_t for production_id in AnalysisSubgraphNode struct
2022-07-26 21:50:38 +02:00
Max Brunsfeld
79eaa68793
Don't match nested wildcard patterns against error nodes
2022-07-07 18:11:52 -07:00
Max Brunsfeld
254edb0ec8
Include captured summary information in stack debug graphs
2022-07-07 17:53:54 -07:00
Max Brunsfeld
548c12fb88
Fix bug where patterns with top-level alternatives were not considered 'rooted'
2022-07-07 17:53:54 -07:00
Max Brunsfeld
1401767689
query: Don't attempt to match top-level sibling patterns directly in ERROR nodes
...
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-07-07 15:27:00 -07:00
Kian-Meng Ang
b8552ec6c4
Fix typos
2022-06-28 19:57:42 +08:00
Max Brunsfeld
3ac36b0cbe
Handle backslashes in token names when printing DOT debug graphs
2022-06-25 17:13:11 -07:00
Max Brunsfeld
5aa2f4dc8c
Log when ignoring an empty external token after an error
2022-06-24 19:07:27 -07:00
Max Brunsfeld
d223a81b50
Allow empty external tokens during err recovery if they change the scanner's state
2022-06-24 15:58:13 -07:00
Max Brunsfeld
c0e1991f6b
🎨 ts_parser__lex
2022-06-24 14:24:21 -07:00
Max Brunsfeld
ca902065cb
Fix bug when stack versions merge after reducing a non-terminal extra
2022-06-24 14:24:21 -07:00
Max Brunsfeld
58b719541b
Fix failure to match queries with wildcard at root with range restrictions
2022-06-22 15:54:06 -07:00
Rich Siegel
150eb2966b
Fixed warning/error when compiling with clang -Os.
...
DISCUSSION:
When compiling with `-Os` for "smallest, fastest", an error is reported in `parser.c`:
```
/Users/siegel/git/tree-sitter/lib/src/./parser.c:1368:10: error: unused variable 'did_merge' [-Werror,-Wunused-variable]
bool did_merge = ts_stack_merge(self->stack, version, previous_version_count);
^
1 error generated.
```
This is because with `NDEBUG` set, `assert(e)` collapses to `(void)0`,
which in turn means that `did_merge` does not actually get consumed.
This seems to get caught when compiling with `-Os`, but not otherwise.
Compiler version:
```
Apple clang version 13.0.0 (clang-1300.0.29.30)
Target: arm64-apple-darwin21.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
```
2022-03-04 18:00:16 -05:00
Max Brunsfeld
8decec3774
Properly incorporate lookahead bytes when recovering via missing token
2022-03-02 17:12:25 -08:00
Max Brunsfeld
0fb864c1a0
Retain information about the lexer's lookahead for the token where an error was detected
2022-02-22 09:45:26 -08:00
Max Brunsfeld
0bdd9b640c
Store the lookahead subtree of paused stack versions, not just the lookahead symbol
2022-02-22 09:45:26 -08:00
Max Brunsfeld
d08f1af15c
🎨
2022-02-22 09:43:57 -08:00
Max Brunsfeld
cb4317ba8e
Change goto_first_child_for_{byte,point} to compare nodes' ranges inclusively
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-04 12:38:33 -08:00
Max Brunsfeld
584b55df8d
Delete unused code, tweak whitespace
2022-01-19 16:54:57 -08:00
Max Brunsfeld
fce23d63b3
Merge pull request #1602 from the-mikedavis/md-ignore-future-matches-for-non-local-patterns
...
prevent future captures for `#is-not? local` matches
2022-01-19 16:40:30 -08:00
Michael Davis
716ef24578
remove unfinished queries from 'ts_query_cursor_remove_match'
2022-01-18 17:01:07 -06:00
Max Brunsfeld
516fd6f6de
Add --abi flag to generate command, generate version 13 by default
2022-01-17 14:50:47 -08:00
Max Brunsfeld
aaf4572727
Merge pull request #1589 from alex-pinkus/deduplicate-core-ids
...
Ignore duplicate states when initializing subgraphs in `ts_query__analyze_patterns`
2022-01-17 13:54:31 -08:00
Alex Pinkus
eaf9b170f1
Don't start with duplicate states in ts_query__analyze_patterns
...
This change exposes a new `primary_state_ids` field on the `TSLanguage`
struct, and populates it by tracking the first encountered state with a
given `core_id`. (For posterity: the initial change just exposed
`core_id` and deduplicated within `ts_analyze_query`).
With this `primary_state_ids` field in place, the
`ts_query__analyze_patterns` function only needs to populate its
subgraphs with starting states that are _primary_, since non-primary
states behave identically to primary ones. This leads to large savings
across the board, since most states are not primary.
2022-01-16 11:17:47 -08:00