aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/query.lua
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2021-05-03 21:41:39 +0200
committerGitHub <noreply@github.com>2021-05-03 21:41:39 +0200
commit3fc71ea228f6fef058ebcb9c08c2ada32a705129 (patch)
tree8fb687392e2f21b382be63233f10a3395d41530a /runtime/lua/vim/treesitter/query.lua
parentad811444424f573c4dc10b203f8f42adb3c5fdf4 (diff)
parent44d4526e186a1f7168cf38fedb29e6fba81858a7 (diff)
downloadrneovim-3fc71ea228f6fef058ebcb9c08c2ada32a705129.tar.gz
rneovim-3fc71ea228f6fef058ebcb9c08c2ada32a705129.tar.bz2
rneovim-3fc71ea228f6fef058ebcb9c08c2ada32a705129.zip
Merge pull request #14418 from DerekStride/treesitter-set-directive
[RDY] tree-sitter ensure there is a nested table allocated for `#set!`
Diffstat (limited to 'runtime/lua/vim/treesitter/query.lua')
-rw-r--r--runtime/lua/vim/treesitter/query.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua
index db6d7e4dc0..9b4d28e09a 100644
--- a/runtime/lua/vim/treesitter/query.lua
+++ b/runtime/lua/vim/treesitter/query.lua
@@ -275,7 +275,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]