Currently the plugin relies on the fact that vim.treesitter.get_parser
retains the same parser instance over the lifetime of the buffer. The function
is not called directly, instead get_parser from nvim-treesitter gets called,
which is a wrapper around the standard function.
The Neovim documentation states the following:
Currently, the parser will be retained for the lifetime of a buffer but this
is subject to change. A plugin should keep a reference to the parser object
as long as it wants incremental updates.
See :h treesitter-parsers
We should maintain a table that maps a buffer ID to a parser instance. This
will keep the parser alive instead of letting it become garbage. The reference
needs to be deleted when a buffer is detached again.
If you agree I would like to give this a try myself, I think it makes a good
first issue.
Currently the plugin relies on the fact that
vim.treesitter.get_parser
retains the same parser instance over the lifetime of the buffer. The function is not called directly, insteadget_parser
from nvim-treesitter gets called, which is a wrapper around the standard function.The Neovim documentation states the following:
See
:h treesitter-parsers
We should maintain a table that maps a buffer ID to a parser instance. This will keep the parser alive instead of letting it become garbage. The reference needs to be deleted when a buffer is detached again.
If you agree I would like to give this a try myself, I think it makes a good first issue.