mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 02:34:59 -07:00
feat(treesitter): add query.set extension options
This commit is contained in:
parent
9762c5e340
commit
4f5745aa8d
@ -1259,16 +1259,26 @@ Query:iter_matches({node}, {source}, {start}, {stop}, {opts})
|
||||
(`fun(): integer, table<integer, TSNode[]>, table`) pattern id, match,
|
||||
metadata
|
||||
|
||||
set({lang}, {query_name}, {text}) *vim.treesitter.query.set()*
|
||||
set({lang}, {query_name}, {text}, {opts}) *vim.treesitter.query.set()*
|
||||
Sets the runtime query named {query_name} for {lang}
|
||||
|
||||
This allows users to override any runtime files and/or configuration set
|
||||
by plugins.
|
||||
This allows users to override or extend any runtime files and/or
|
||||
configuration set by plugins.
|
||||
|
||||
Parameters: ~
|
||||
• {lang} (`string`) Language to use for the query
|
||||
• {query_name} (`string`) Name of the query (e.g., "highlights")
|
||||
• {text} (`string`) Query text (unparsed).
|
||||
• {opts} (`table?`) A table with the following fields:
|
||||
• {bufnr}? (`integer`) Buffer this query should apply to
|
||||
(`0` for current buffer, `nil` for all buffers for
|
||||
{lang}).
|
||||
• {inherits}? (`string|string[]`) Language(s) this query
|
||||
should inherit from (see
|
||||
|treesitter-query-modeline-inherits|).
|
||||
• {extends}? (`boolean`) Whether the query should be an
|
||||
extension query (see
|
||||
|treesitter-query-modeline-extends|).
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
@ -195,15 +195,28 @@ local explicit_queries = setmetatable({}, {
|
||||
end,
|
||||
})
|
||||
|
||||
--- @class vim.treesitter.query.set.Opts
|
||||
--- @inlinedoc
|
||||
---
|
||||
--- Buffer this query should apply to (`0` for current buffer, `nil` for all buffers for {lang}).
|
||||
--- @field bufnr? integer
|
||||
---
|
||||
--- Language(s) this query should inherit from (see |treesitter-query-modeline-inherits|).
|
||||
--- @field inherits? string|string[]
|
||||
---
|
||||
--- Whether the query should be an extension query (see |treesitter-query-modeline-extends|).
|
||||
--- @field extends? boolean
|
||||
|
||||
--- Sets the runtime query named {query_name} for {lang}
|
||||
---
|
||||
--- This allows users to override any runtime files and/or configuration
|
||||
--- This allows users to override or extend any runtime files and/or configuration
|
||||
--- set by plugins.
|
||||
---
|
||||
---@param lang string Language to use for the query
|
||||
---@param query_name string Name of the query (e.g., "highlights")
|
||||
---@param text string Query text (unparsed).
|
||||
function M.set(lang, query_name, text)
|
||||
---@param opts? vim.treesitter.query.set.Opts
|
||||
function M.set(lang, query_name, text, opts)
|
||||
explicit_queries[lang][query_name] = M.parse(lang, text)
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user