Use weak tables in tree-sitter code (#17117)

feat(treesitter): use weak tables when possible

Also add the defaulttable function to create a table whose values are created when a key is missing.
This commit is contained in:
Thomas Vigouroux
2022-09-07 08:39:56 +02:00
committed by GitHub
parent f32fd19f1e
commit fd1595514b
5 changed files with 69 additions and 10 deletions

View File

@@ -3,10 +3,7 @@ local query = require('vim.treesitter.query')
local language = require('vim.treesitter.language')
local LanguageTree = require('vim.treesitter.languagetree')
-- TODO(bfredl): currently we retain parsers for the lifetime of the buffer.
-- Consider use weak references to release parser if all plugins are done with
-- it.
local parsers = {}
local parsers = setmetatable({}, { __mode = 'v' })
local M = vim.tbl_extend('error', query, language)