Thomas Vigouroux
52d76f0a32
fix(treesitter): allow ranges in set_included_ranges
2020-11-23 15:09:32 +01:00
Thomas Vigouroux
9ff6760b2d
treesitter: refactor some things
2020-11-23 14:56:27 +01:00
TJ DeVries
2f8eaad6d8
fix: NULL segfaults brought to you by @vigoux
2020-11-18 11:16:38 -05:00
Thomas Vigouroux
c7d460c197
treesitter: separate tree and parser
...
While this might sound silly, it is needed for further improvements.
2020-11-04 08:14:20 +01:00
Björn Linse
8821587748
Merge pull request #13192 from bfredl/nodeid
...
] treesitter: add node:id()
2020-11-01 17:27:38 +01:00
Thomas Vigouroux
31738fe8f1
treesitter: fix wrong string formatting
2020-11-01 15:07:11 +01:00
Björn Linse
03c478ae53
treesitter: add node:id()
2020-11-01 14:59:17 +01:00
Thomas Vigouroux
d3a63a1f71
tree-sitter: error out when parsing fails
...
This can happen when there is ABI mismatches, and removes the assumption
parsing alwasy succeeds (which is wrong).
2020-11-01 12:40:31 +01:00
Thomas Vigouroux
bdbc56f931
treesitter: allow custom parser for highlighter
...
Also allow to get parser ranges.
This will be useful for language injection, allowing us to tweak the
parser's ranges on the fly.
Update runtime/lua/vim/treesitter.lua
Co-authored-by: Paul Burlumi <paul@burlumi.com >
2020-10-12 18:23:14 +02:00
Thomas Vigouroux
6f6c55717a
treesitter: check language ABI version on load
...
This is will avoid some issues at runtime.
2020-10-08 21:31:09 +02:00
Thomas Vigouroux
3c5141d2cf
treesitter: add string parser ( #13008 )
2020-09-30 09:32:43 -04:00
Björn Linse
9437327d5e
treesitter: use new on_bytes interface
...
This will significantly reduce the parsing work
needed e.g. when rehighlighting after every keypress
in insert mode.
Also add safety check for tree-sitter trying to read
past the end of a line. This can happen after we sent
an incorrect buffer update.
2020-09-09 21:22:21 +02:00
Thomas Vigouroux
18217b987f
treesitter: add node:field() to get field children
2020-09-01 08:57:55 +02:00
Thomas Vigouroux
e123fd0a5d
treesitter: allow to iterate over node children
2020-08-31 13:42:30 +02:00
Thomas Vigouroux
529251d5e4
treesitter: call bufload before parsing ( #12603 )
2020-07-10 09:33:27 -04:00
Thomas Vigouroux
69816f5e13
treesitter: use single nodes in set_ranges
...
fixup! treesitter: fix lint
2020-06-29 23:32:49 +02:00
Thomas Vigouroux
35cc8b6e83
treesitter: fix lint
2020-06-29 22:21:06 +02:00
Thomas Vigouroux
b652f74ca3
treesitter: use nodes to mark ranges
2020-06-29 22:21:06 +02:00
Thomas Vigouroux
75a1239eb5
treesitter: fix some clint errors
...
Also fixes some mismatches on the name of the function
2020-06-29 22:21:06 +02:00
Thomas Vigouroux
ac18403d6e
treesitter: test newly added set_included_ranges
2020-06-29 22:21:06 +02:00
Thomas Vigouroux
333f3f19db
treesitter: add set_included_ranges to the parser
...
This is the first step towards language injection using treesitter.
2020-06-29 22:21:06 +02:00
Thomas Vigouroux
36d71e775a
treesitter: simplify puhstree call process
2020-06-23 09:11:41 +02:00
Thomas Vigouroux
6c9a5743a0
treesitter: check for integer overflow ( #12135 )
...
Sometimes treesitter calls for an invalid column within a line, checking
that the column is actually valid and forcing the value avoids an
integer overflow and an infinite sequence of invalid reads.
Fixes #12131
2020-04-22 18:54:56 +02:00
Björn Linse
9c00fea585
lua: add regex support, and @match
support in treesitter queries
2020-02-26 19:39:02 +01:00
Björn Linse
00c57c98df
treesitter: add standard &rtp/parser/ search path for parsers
2020-02-07 09:22:55 +01:00
Björn Linse
440695c296
tree-sitter: implement query functionality and highlighting prototype [skip.lint]
2019-12-22 12:51:46 +01:00
Björn Linse
d5a69eb076
tree-sitter: handle node equality
2019-09-28 17:46:25 +02:00
Björn Linse
e0d6228978
tree-sitter: use "range" instead of "point_range" consistently in lua API
2019-09-28 17:46:25 +02:00
Björn Linse
06ee45b9b1
tree-sitter: fix lint, delete "demo" plugin (replaced by functional tests)
2019-09-28 17:46:25 +02:00
Björn Linse
d697841a9d
tree-sitter: cleanup tree refcounting
2019-09-28 14:55:43 +02:00
Björn Linse
d24dec596c
tree-sitter: inspect language
2019-09-28 14:55:43 +02:00
Björn Linse
a88a9f128e
tree-sitter: add some more API
2019-09-28 14:55:43 +02:00
Björn Linse
c1dc1bedba
tree-sitter: style
2019-09-28 14:55:43 +02:00
Björn Linse
a361e09cc5
tree-sitter: use standard luaL_newmetatable and luaL_checkudata pattern
2019-09-28 14:55:43 +02:00
Björn Linse
c8f861b739
tree-sitter: rename tree_sitter => treesitter for consistency
2019-09-28 14:55:43 +02:00