Files
monkey-alert.nvim/lua/monkey-alert.lua

53 lines
1.5 KiB
Lua

local blame = require("./line-blame")
local defaultList = "one,two"
local defaultBlameTextColor = "#bcb8b1"
local defaultBlameText = "- Monkey alert 🐒"
local defaultBlamePosition = "eol"
local function clearBlame()
blame.clearBlame()
end
local function blameCurrentFile()
clearBlame()
blame.fileBlame(vim.api.nvim_buf_get_name(0), vim.g.monkey_mail_list, vim.g.monkey_blame_text,
"Monkey", vim.g.monkey_blame_position)
end
local function blameCurrentLine()
clearBlame()
local row = vim.api.nvim_win_get_cursor(0)[1]
blame.lineBlame(vim.api.nvim_buf_get_name(0), tonumber(row) - 1, vim.g.monkey_mail_list,
vim.g.monkey_blame_text,
"Monkey", vim.g.monkey_blame_position)
end
local function enableOnLine()
vim.api.nvim_create_autocmd("CursorMoved", {
callback = function()
clearBlame()
blameCurrentLine()
end,
})
end
local function setup(opts)
vim.api.nvim_set_hl(0, 'Monkey', { fg = opts.blame_text_color_hex or defaultBlameTextColor, bold = false })
vim.g.monkey_mail_list = opts.monkey_mail_list or defaultList
vim.g.monkey_blame_text = opts.blame_text or defaultBlameText
vim.g.monkey_blame_position = opts.blame_position or defaultBlamePosition
if opts.auto_attach then
enableOnLine()
end
end
return {
setup = setup,
blameLine = blameCurrentLine,
blameFile = blameCurrentFile,
blameClear = clearBlame,
enable = enableOnLine
}