local M = {} function M.InsertMarkdownURL() local url = vim.fn.getreg "+" if url == "" then return end local cmd = "curl -L " .. vim.fn.shellescape(url) .. " 2>/dev/null" local handle = io.popen(cmd) if not handle then return end local html = handle:read "*a" handle:close() local title = "" local pattern = "(.-)" local m = string.match(html, pattern) if m then title = m end if title ~= "" then title = title:gsub("%[", "(") title = title:gsub("%]", ")") local markdownLink = "[" .. title .. "](" .. url .. ")" vim.api.nvim_put({markdownLink}, "", true, true) -- vim.api.nvim_command("call append(line('.'), '" .. markdownLink .. "')") else print("Title not found for link") end end return M