diff options
author | derekstride <derek.stride@shopify.com> | 2021-04-21 12:10:48 -0230 |
---|---|---|
committer | derekstride <derek.stride@shopify.com> | 2021-04-27 12:29:37 -0230 |
commit | 44d4526e186a1f7168cf38fedb29e6fba81858a7 (patch) | |
tree | 41d36fec5ea605b3b0e8b0462d191ec40b3eeff5 /runtime/lua/vim | |
parent | fbe18d9ca41a419414cb112d0a426aa8803c6236 (diff) | |
download | rneovim-44d4526e186a1f7168cf38fedb29e6fba81858a7.tar.gz rneovim-44d4526e186a1f7168cf38fedb29e6fba81858a7.tar.bz2 rneovim-44d4526e186a1f7168cf38fedb29e6fba81858a7.zip |
Ensure there is a nested table allocated for #set!
Fixes the following bug:
```
test/functional/helpers.lua:107: Error executing lua:
vim/treesitter/query.lua:256: attempt to index a nil value
```
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r-- | runtime/lua/vim/treesitter/query.lua | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua index ed5146be44..51d538c0ff 100644 --- a/runtime/lua/vim/treesitter/query.lua +++ b/runtime/lua/vim/treesitter/query.lua @@ -253,7 +253,11 @@ local directive_handlers = { ["set!"] = function(_, _, _, pred, metadata) if #pred == 4 then -- (#set! @capture "key" "value") - metadata[pred[2]][pred[3]] = pred[4] + local capture = pred[2] + if not metadata[capture] then + metadata[capture] = {} + end + metadata[capture][pred[3]] = pred[4] else -- (#set! "key" "value") metadata[pred[2]] = pred[3] |