"gemini.vim": { "branch": "master", "commit": "c9efb59c97b71c28d4678c79fd21fbdd3a69d196" },
"lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
"neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" },
+ "nota.nvim": { "branch": "main", "commit": "9e9e89d8556ecafa6b11ab21aa9ffab550f7f3ad" },
"nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" },
"nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" },
"nvim-dap-vscode-js": { "branch": "main", "commit": "03bd29672d7fab5e515fc8469b7d07cc5994bbf6" },
--- /dev/null
+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', '<leader>ia', '<cmd>InsertAgendaFromClipboard<CR>', { noremap = true, silent = true })