diff options
author | Ching Pei Yang <59727193+horriblename@users.noreply.github.com> | 2023-01-16 13:39:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-16 04:39:19 -0800 |
commit | ef89f9fd46ab591183b7f59f31f5a2e55f7a526b (patch) | |
tree | b83f335268691f395241a8ec8396f16360568620 /runtime/lua/vim/treesitter/query.lua | |
parent | 9e1d2e2ca7ad28e8d3c9d9b607490bb83d3df443 (diff) | |
download | rneovim-ef89f9fd46ab591183b7f59f31f5a2e55f7a526b.tar.gz rneovim-ef89f9fd46ab591183b7f59f31f5a2e55f7a526b.tar.bz2 rneovim-ef89f9fd46ab591183b7f59f31f5a2e55f7a526b.zip |
docs: treesitter.add_directive, add_predicate #21206
Diffstat (limited to 'runtime/lua/vim/treesitter/query.lua')
-rw-r--r-- | runtime/lua/vim/treesitter/query.lua | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua index 4bec5db527..dbf134573d 100644 --- a/runtime/lua/vim/treesitter/query.lua +++ b/runtime/lua/vim/treesitter/query.lua @@ -419,7 +419,8 @@ local directive_handlers = { --- Adds a new predicate to be used in queries --- ---@param name string Name of the predicate, without leading # ----@param handler function(match:string, pattern:string, bufnr:number, predicate:function) +---@param handler function(match:table, pattern:string, bufnr:number, predicate:string[]) +--- - see |vim.treesitter.query.add_directive()| for argument meanings function M.add_predicate(name, handler, force) if predicate_handlers[name] and not force then error(string.format('Overriding %s', name)) @@ -436,7 +437,12 @@ end --- metadata table `metadata[capture_id].key = value` --- ---@param name string Name of the directive, without leading # ----@param handler function(match:string, pattern:string, bufnr:number, predicate:function, metadata:table) +---@param handler function(match:table, pattern:string, bufnr:number, predicate:string[], metadata:table) +--- - match: see |treesitter-query| +--- - node-level data are accessible via `match[capture_id]` +--- - pattern: see |treesitter-query| +--- - predicate: list of strings containing the full directive being called, e.g. +--- `(node (#set! conceal "-"))` would get the predicate `{ "#set!", "conceal", "-" }` function M.add_directive(name, handler, force) if directive_handlers[name] and not force then error(string.format('Overriding %s', name)) |