aboutsummaryrefslogtreecommitdiff
path: root/config/nvim/lua
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2024-03-04 21:55:38 +0100
committerRuben Beltran del Rio <git@r.bdr.sh>2024-03-04 21:55:38 +0100
commitb662b6bcafaa991a0c1d470fb054dc5d88a58154 (patch)
tree79994b8b80df881a733ba8693cd97715218e8571 /config/nvim/lua
parent07fd710d612c0e6b1bbf00d67f6a747e93991c13 (diff)
parentcd4c8b13ab7c0c9a455efdc7bd262aa1a6e715a7 (diff)
Merge branch 'main' of git.sr.ht:~rbdr/dotfiles
Diffstat (limited to 'config/nvim/lua')
-rw-r--r--config/nvim/lua/calendar_tools.lua29
-rw-r--r--config/nvim/lua/plugins.lua3
2 files changed, 30 insertions, 2 deletions
diff --git a/config/nvim/lua/calendar_tools.lua b/config/nvim/lua/calendar_tools.lua
new file mode 100644
index 0000000..2f8c602
--- /dev/null
+++ b/config/nvim/lua/calendar_tools.lua
@@ -0,0 +1,29 @@
+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 })
diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua
index 24f77b5..15aeb95 100644
--- a/config/nvim/lua/plugins.lua
+++ b/config/nvim/lua/plugins.lua
@@ -77,6 +77,5 @@ require('lazy').setup({
'tpope/vim-fugitive',
'milkypostman/vim-togglelist',
- -- Notes
- { dir = '~/projects/plugins/nota.nvim' }
+ 'https://git.sr.ht/~rbdr/nota.nvim'
})