HTMLify

logger.lua
Views: 25 | Author: abh
-- [[ logger.lua ]] --

local M = {}

function M.log()
    local cr, cc = unpack(vim.api.nvim_win_get_cursor(0))

    vim.cmd(":normal! yy")
    local line = vim.fn.getreg("0")
    vim.cmd(":normal! yiw")
    local var = vim.fn.getreg("0")

    local filetype = vim.bo.filetype
    local ll;
    if filetype == "text" then
        ll = var
    elseif filetype == "python" then
        ll = "print(\"" .. var .. ":\", " .. var .. ")"
    elseif filetype == "javascript" then
        ll = "console.log(\"" .. var .. ":\", " .. var .. ");"
    elseif filetype == "go" then
        ll = "println(\"" .. var .. ":\", " .. var .. ")"
    elseif filetype == "lua" then
        ll = "print(\"" .. var .. ":\", " .. var .. ")"
    elseif filetype == "dart" then
        ll = "print(\"" .. var .. ":\", " .. var .. ");"
    end

    for c in line:gmatch(".") do
        if c ~= " " and c ~= "\t" then
            break
        end
        ll = c .. ll
    end

    vim.fn.setreg("0", ll, "c")
    vim.cmd(":normal! o")
    vim.cmd(":normal! p")

    vim.api.nvim_win_set_cursor(0, {cr, cc})
end

vim.keymap.set("n", "<C-l>", M.log, {})

return M

Comments