28 lines
552 B
Lua
28 lines
552 B
Lua
local M = {}
|
|
|
|
function M.get_buf_lines(bufnr)
|
|
return vim.api.nvim_buf_get_lines(bufnr, 0, -1, false)
|
|
end
|
|
|
|
function M.get_buf_path(bufnr)
|
|
local name = vim.api.nvim_buf_get_name(bufnr)
|
|
if name == "" then
|
|
return nil
|
|
end
|
|
return name
|
|
end
|
|
|
|
function M.find_root(file, markers)
|
|
if not file or file == "" then
|
|
return vim.loop.cwd()
|
|
end
|
|
local dir = vim.fs.dirname(file)
|
|
local found = vim.fs.find(markers, { path = dir, upward = true })
|
|
if found and #found > 0 then
|
|
return vim.fs.dirname(found[1])
|
|
end
|
|
return dir
|
|
end
|
|
|
|
return M
|