local function insert_agenda() local clipboard_content = vim.fn.getreg('+') if not clipboard_content or clipboard_content == '' then vim.api.nvim_err_writeln('This feature requires optional dependency fzf-lua') end clipboard_content = clipboard_content:match('\n(.*)') local parts = vim.split(clipboard_content, '---', {plain = true, trimempty = true}) local agenda_text = {'# Agenda', ''} for _, part in ipairs(parts) do local trimmed_part = part:match('^%s*(.-)%s*$') local lines = vim.split(trimmed_part, '\n', {trimempty = true}) if #lines >= 2 then local date = lines[1] local title = lines[2] table.insert(agenda_text, '[' .. date .. '] ' .. title) end end local line = vim.api.nvim_win_get_cursor(0)[1] vim.api.nvim_buf_set_lines(0, line, line, false, agenda_text) end vim.api.nvim_create_user_command('InsertAgendaFromClipboard', insert_agenda, { nargs = 0 }) vim.api.nvim_set_keymap('n', 'ia', 'InsertAgendaFromClipboard', { noremap = true, silent = true })