Commit Graph

39 Commits

Author SHA1 Message Date
Thomas Vigouroux
bfaf42a621 Merge pull request #14039 from theHamsta/fix-field-introspection
Fix(treesitter): Make treesitter.inspect_lang include last field name
2021-04-02 15:46:01 +02:00
TJ DeVries
240cec9192 ts: Add language version to vim.treesitter (#14255) 2021-03-30 16:40:29 -04:00
Stephan Seitz
927475bdf0 Fix(treesitter): Make treesitter.inspect_lang include last field name 2021-03-23 15:20:12 +01:00
Matthieu Coudron
2b0c34053d chore(ts): show grammar that triggers the error
to help debugging
2021-03-16 01:57:32 +01:00
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