mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
refactor: add vim._resolve_bufnr
This commit is contained in:
committed by
Lewis Russell
parent
b52ffd0a59
commit
668d2569b4
@ -32,9 +32,7 @@ M.minimum_language_version = vim._ts_get_minimum_language_version()
|
||||
---
|
||||
---@return vim.treesitter.LanguageTree object to use for parsing
|
||||
function M._create_parser(bufnr, lang, opts)
|
||||
if bufnr == 0 then
|
||||
bufnr = vim.api.nvim_get_current_buf()
|
||||
end
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
|
||||
vim.fn.bufload(bufnr)
|
||||
|
||||
@ -90,9 +88,7 @@ function M.get_parser(bufnr, lang, opts)
|
||||
opts = opts or {}
|
||||
local should_error = opts.error == nil or opts.error
|
||||
|
||||
if bufnr == nil or bufnr == 0 then
|
||||
bufnr = api.nvim_get_current_buf()
|
||||
end
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
|
||||
if not valid_lang(lang) then
|
||||
lang = M.language.get_lang(vim.bo[bufnr].filetype)
|
||||
@ -258,9 +254,7 @@ end
|
||||
---
|
||||
---@return {capture: string, lang: string, metadata: vim.treesitter.query.TSMetadata}[]
|
||||
function M.get_captures_at_pos(bufnr, row, col)
|
||||
if bufnr == 0 then
|
||||
bufnr = api.nvim_get_current_buf()
|
||||
end
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
local buf_highlighter = M.highlighter.active[bufnr]
|
||||
|
||||
if not buf_highlighter then
|
||||
@ -361,11 +355,7 @@ end
|
||||
function M.get_node(opts)
|
||||
opts = opts or {}
|
||||
|
||||
local bufnr = opts.bufnr
|
||||
|
||||
if not bufnr or bufnr == 0 then
|
||||
bufnr = api.nvim_get_current_buf()
|
||||
end
|
||||
local bufnr = vim._resolve_bufnr(opts.bufnr)
|
||||
|
||||
local row, col --- @type integer, integer
|
||||
if opts.pos then
|
||||
@ -417,7 +407,7 @@ end
|
||||
---@param bufnr (integer|nil) Buffer to be highlighted (default: current buffer)
|
||||
---@param lang (string|nil) Language of the parser (default: from buffer filetype)
|
||||
function M.start(bufnr, lang)
|
||||
bufnr = bufnr or api.nvim_get_current_buf()
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
local parser = assert(M.get_parser(bufnr, lang, { error = false }))
|
||||
M.highlighter.new(parser)
|
||||
end
|
||||
@ -426,7 +416,7 @@ end
|
||||
---
|
||||
---@param bufnr (integer|nil) Buffer to stop highlighting (default: current buffer)
|
||||
function M.stop(bufnr)
|
||||
bufnr = (bufnr and bufnr ~= 0) and bufnr or api.nvim_get_current_buf()
|
||||
bufnr = vim._resolve_bufnr(bufnr)
|
||||
|
||||
if M.highlighter.active[bufnr] then
|
||||
M.highlighter.active[bufnr]:destroy()
|
||||
|
Reference in New Issue
Block a user