Amaan Qureshi
34fa7a0c64
feat(lib): wrap subtrees with changes in green circles
2024-10-05 20:08:34 -04:00
Ron Panduwana
a83b893016
fix: handle more cases of editing subtrees that depend on column values
2024-09-29 20:36:08 -04:00
Amaan Qureshi
28972f916a
fix(lib): silence warnings with -Wpedantic
2024-09-27 12:58:26 -04:00
Amaan Qureshi
24a68697ac
fix(lib): properly account for aliased root nodes and root nodes with
...
children in `ts_subtree_string`
2024-03-20 19:23:08 -04:00
Daumantas Kavolis
ce5afeb4b3
Fix regression in subtree_compare
2024-02-29 10:15:58 +02:00
Amaan Qureshi
caa451f024
fix: don't log NUL characters
...
Graphviz dot will fail with this character present
2024-02-17 03:24:42 -05:00
Max Brunsfeld
09b522ece2
Fix another bug in subtree_compare
...
When subtrees differ, exit loop before pushing children to the stack.
2023-11-30 11:10:33 -08:00
Max Brunsfeld
5e2456c2f2
Avoid using recursion for ts_subtree_compare
...
This can lead to stack overflow crashes.
2023-11-27 11:35:33 -08:00
Andrew Hlynskyi
f9e8802234
Use the same flags in lib's build.rs as in Makefile
2023-08-17 16:27:52 +03:00
Amaan Qureshi
13f6ec2b0c
fix: rename shadowed variables from -Wshadow warnings and apply some useful clang-tidy warnings
2023-07-19 18:12:26 -04:00
Max Brunsfeld
3375527a89
Fix bug in ts_tree_cursor_goto_descendant
2023-06-12 14:45:30 -07:00
Max Brunsfeld
9dd725b4e3
Start work on exposing APIs for node descendant counts and indices
2023-06-09 08:51:47 -07:00
Matt
cde45268b6
subtree casts
2023-04-04 17:43:27 +03: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
53ed4cf037
Tolerate tree edits whose old range extends beyond the end of the tree
2022-08-25 10:20:40 -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
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
8decec3774
Properly incorporate lookahead bytes when recovering via missing token
2022-03-02 17:12:25 -08:00
Max Brunsfeld
584b55df8d
Delete unused code, tweak whitespace
2022-01-19 16:54:57 -08:00
furunkel
f78ad7162f
Don't use zero maxlen for snprintf in ts_subtree__write_to_string
...
It seems that (some implementations of?) `snprintf` returns -1 and sets `errno` to `EINVAL` if a `maxlen` of zero is passed. This causes the count to underflow and `ts_subtree__write_to_string` returns a gigantic size which the succeeding malloc will refuse to allocate.
2021-11-12 20:52:15 +01:00
Claudi Lleyda Moltó
8e4509e47b
Fix: cast pointers to void * when printing
...
To avoid undefined behaviour, pointers should be cast to `void *` when
printed with `%p`.
2021-05-21 12:36:58 +02:00
Max Brunsfeld
a40045a419
When editing, properly invalidate trees that depend on get_column
2021-03-11 14:46:13 -08:00
Max Brunsfeld
2465207fee
Suppress false non-null error in subtree_clone
2020-10-25 09:13:12 -07:00
Max Brunsfeld
908b102786
Add more doc comments in the C lib
2020-10-23 12:15:44 -07:00
Max Brunsfeld
d533d1f076
Allocate parent nodes together with their child array
2020-10-23 12:15:44 -07:00
ikrima
50ff4376b4
fix: ts_subtree_string not using ts_malloc
2020-10-15 20:43:30 -07:00
Max Brunsfeld
6a46dff89a
Add ts_language_alias_at helper function
2020-06-25 15:06:26 -07:00
Riccardo Schirone
780e9cecc9
Do not use multiple unnamed structs inside of unions
2020-04-29 20:42:45 +02:00
Max Brunsfeld
9ffcb16392
Fix tree-balancing logic
...
Remove incorrect condition that would prevent balancing of repeating
structures containing only tokens (nodes w/ no children).
Co-Authored-By: Rob Rix <robrix@github.com>
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2020-01-23 10:26:53 -08:00
Max Brunsfeld
0cb2ef1082
Fix code paths that still conflated null characters with EOF
2019-12-06 15:29:03 -08:00
Max Brunsfeld
967da88371
Avoid unnecessary recompiles between debug & test builds
...
This makes development much quicker when switching back and forth
between compiling with RLS while editing and running tests with
`cargo test`.
2019-11-14 13:34:25 -08:00
Max Brunsfeld
0955c5b3d7
Handle named nodes aliased as anonymous nodes
...
Fixes #401
2019-08-29 14:28:44 -07:00
Max Brunsfeld
a3ce4a4282
Remove some unnecessary global symbols from the library
2019-08-28 11:17:29 -07:00
Max Brunsfeld
ea515b6967
Fix ts_node_string behavior for anonymous leaf nodes
...
Refs tree-sitter/py-tree-sitter#8
2019-07-18 12:39:15 -07: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
56309a1c28
Generate node-fields.json file
2019-02-12 11:06:18 -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
1d1674811c
Fully implement ts_node_child_by_field_id
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
213ccfd3a4
Update trees' metadata bits when setting symbol back to word token
2019-01-29 15:30:13 -08:00
Max Brunsfeld
233d616ebf
Add random mutation tests
2019-01-25 12:05:21 -08:00
Max Brunsfeld
196339aaa9
Assert no memory leaks by stubbing malloc/free in the test suite
2019-01-21 14:22:35 -08:00
Max Brunsfeld
dd416b0955
Update include paths to not reference 'runtime' directory
2019-01-04 17:33:34 -08:00
Max Brunsfeld
47607cecf4
Reorganize repo, add rust CLI and binding code,
2019-01-04 17:31:49 -08:00