diff options
author | Riley Bruins <ribru17@hotmail.com> | 2024-12-20 16:23:52 -0800 |
---|---|---|
committer | Riley Bruins <ribru17@hotmail.com> | 2025-01-12 08:10:49 -0800 |
commit | bd4ca22d0334a3323313dfd6975a80218ec65e36 (patch) | |
tree | e938b941b837bb0eec7516ade1bd6072b312927a /runtime/lua | |
parent | 45e606b1fddbfeee8fe28385b5371ca6f2fba71b (diff) | |
download | rneovim-bd4ca22d0334a3323313dfd6975a80218ec65e36.tar.gz rneovim-bd4ca22d0334a3323313dfd6975a80218ec65e36.tar.bz2 rneovim-bd4ca22d0334a3323313dfd6975a80218ec65e36.zip |
feat(treesitter)!: don't parse tree in get_parser() or start()
**Problem:** `vim.treesitter.get_parser()` and `vim.treesitter.start()`
both parse the tree before returning it. This is problematic because if
this is a sync parse, it will stall the editor on large files. If it is
an async parse, the functions return stale trees.
**Solution:** Remove this parsing side effect and leave it to the user
to parse the returned trees, either synchronously or asynchronously.
Diffstat (limited to 'runtime/lua')
-rw-r--r-- | runtime/lua/vim/treesitter.lua | 2 | ||||
-rw-r--r-- | runtime/lua/vim/treesitter/highlighter.lua | 2 |
2 files changed, 0 insertions, 4 deletions
diff --git a/runtime/lua/vim/treesitter.lua b/runtime/lua/vim/treesitter.lua index 9b7c8233d8..0269699dfd 100644 --- a/runtime/lua/vim/treesitter.lua +++ b/runtime/lua/vim/treesitter.lua @@ -61,8 +61,6 @@ function M._create_parser(bufnr, lang, opts) { on_bytes = bytes_cb, on_detach = detach_cb, on_reload = reload_cb, preview = true } ) - self:parse(nil, function() end) - return self end diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua index 04e6ee8a9e..be138885d5 100644 --- a/runtime/lua/vim/treesitter/highlighter.lua +++ b/runtime/lua/vim/treesitter/highlighter.lua @@ -148,8 +148,6 @@ function TSHighlighter.new(tree, opts) vim.opt_local.spelloptions:append('noplainbuffer') end) - self.tree:parse(nil, function() end) - return self end |