diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2024-03-04 21:55:38 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2024-03-04 21:55:38 +0100 |
| commit | b662b6bcafaa991a0c1d470fb054dc5d88a58154 (patch) | |
| tree | 79994b8b80df881a733ba8693cd97715218e8571 /config/nvim/lua | |
| parent | 07fd710d612c0e6b1bbf00d67f6a747e93991c13 (diff) | |
| parent | cd4c8b13ab7c0c9a455efdc7bd262aa1a6e715a7 (diff) | |
Merge branch 'main' of git.sr.ht:~rbdr/dotfiles
Diffstat (limited to 'config/nvim/lua')
| -rw-r--r-- | config/nvim/lua/calendar_tools.lua | 29 | ||||
| -rw-r--r-- | config/nvim/lua/plugins.lua | 3 |
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' }) |