mirror of
https://github.com/neovim/neovim.git
synced 2025-10-21 09:12:07 +00:00
feat(treesitter): upstream foldexpr from nvim-treesitter
This commit is contained in:
@@ -115,6 +115,16 @@ function M.get_parser(bufnr, lang, opts)
|
||||
return parsers[bufnr]
|
||||
end
|
||||
|
||||
---@private
|
||||
---@param bufnr (integer|nil) Buffer number
|
||||
---@return boolean
|
||||
function M._has_parser(bufnr)
|
||||
if bufnr == nil or bufnr == 0 then
|
||||
bufnr = a.nvim_get_current_buf()
|
||||
end
|
||||
return parsers[bufnr] ~= nil
|
||||
end
|
||||
|
||||
--- Returns a string parser
|
||||
---
|
||||
---@param str string Text to parse
|
||||
@@ -612,4 +622,14 @@ function M.show_tree(opts)
|
||||
})
|
||||
end
|
||||
|
||||
--- Returns the fold level for {lnum} in the current buffer. Can be set directly to 'foldexpr':
|
||||
--- <pre>lua
|
||||
--- vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
|
||||
--- </pre>
|
||||
---@param lnum integer|nil Line number to calculate fold level for
|
||||
---@return string
|
||||
function M.foldexpr(lnum)
|
||||
return require('vim.treesitter._fold').foldexpr(lnum)
|
||||
end
|
||||
|
||||
return M
|
||||
|
Reference in New Issue
Block a user