diff --git a/lua/line-blame.lua b/lua/line-blame.lua index 638638e..5c05ca2 100644 --- a/lua/line-blame.lua +++ b/lua/line-blame.lua @@ -1,9 +1,13 @@ local ns = vim.api.nvim_create_namespace('line_blame'); + +local lineBlame = function(input_file_path, input_comma_separated_mail_list, blame_text, blame_highlight, blame_position) +end + -- lineBlame --- - does everything the plugin needs xd +-- does everything the plugin needs xd -- @param blame_highlight: 'Normal' -- @param blame_position: 'eol' | 'overlay' | 'right_align' -local lineBlame = function(input_file_path, input_comma_separated_mail_list, blame_text, blame_highlight, blame_position) +local fileBlame = function(input_file_path, input_comma_separated_mail_list, blame_text, blame_highlight, blame_position) local handler = io.popen("git blame -e " .. input_file_path .. " | awk '{ print $2$6}'") if handler == nil then @@ -15,7 +19,7 @@ local lineBlame = function(input_file_path, input_comma_separated_mail_list, bla for current_line_mail, line_number in string.gmatch(result, "%(<(.+)>(%d+)%)") do for target_mail in string.gmatch(input_comma_separated_mail_list, "[^,]+") do if target_mail == current_line_mail then - local extid = vim.api.nvim_buf_set_extmark(0, ns, tonumber(line_number), 0, { + vim.api.nvim_buf_set_extmark(0, ns, tonumber(line_number) - 1, 0, { id = tonumber(line_number), virt_text = { { blame_text, blame_highlight } }, virt_text_pos = blame_position, @@ -24,16 +28,13 @@ local lineBlame = function(input_file_path, input_comma_separated_mail_list, bla }) end end - - -- ,virt_text = {[ "test", "WildMenu"]} end result = handler:read("L") end handler:close() end --- lineBlame("./README.md") - return { lineBlame = lineBlame, + fileBlame = fileBlame, } diff --git a/lua/monkey-alert.lua b/lua/monkey-alert.lua index 7a0e4c5..fee8664 100644 --- a/lua/monkey-alert.lua +++ b/lua/monkey-alert.lua @@ -1,24 +1,29 @@ local blame = require("./line-blame") -local defaultList = "one;two" --- vim.g.monkeyUserList = defaultList -vim.g.monkeyMailList = defaultList +local defaultList = "one,two" +local defaultBlameTextColor = "#bcb8b1" +local defaultBlameText = "- Monkey alert 🐒" +local defaultBlamePosition = "eol" local function setup(opts) - vim.g.monkeyMailList = opts.monkeyMailList - -- vim.g.monkeyUserList = opts.monkeyUserList + vim.api.nvim_set_hl(0, 'Monkey', { fg = opts.blameTextColorHex or defaultBlameTextColor, bold = false }) + vim.g.monkeyMailList = opts.monkeyMailList or defaultList + vim.g.monkeyBlameText = opts.blameText or defaultBlameText + vim.g.monkeyBlamePosition = opts.blamePosition or defaultBlamePosition end local function blameCurrentFile() - blame.lineBlame(vim.api.nvim_buf_get_name(0), "test,another,dani.heras@hotmail.com,final", "| Found a fkin monkey 🐒", - "Normal", "eol") + blame.fileBlame(vim.api.nvim_buf_get_name(0), vim.g.monkeyMailList, vim.g.monkeyBlameText, + "Monkey", vim.g.monkeyBlamePosition) +end + +local function blameCurrentLine() + blame.lineBlame(vim.api.nvim_buf_get_name(0), vim.g.monkeyMailList, vim.g.monkeyBlameText, + "Monkey", vim.g.monkeyBlamePosition) end return { setup = setup, - blame = blameCurrentFile + blameLine = blameCurrentLine, + blameFile = blameCurrentFile } - --- NOTE: --- vim.log.levels.DEBUG vim.log.levels.ERROR vim.log.levels.INFO vim.log.levels.TRACE vim.log.levels.WARN vim.log.levels.OFF ---