]> git.r.bdr.sh - rbdr/dotfiles/commitdiff
Merge branch 'main' of git.sr.ht:~rbdr/dotfiles
authorRuben Beltran del Rio <redacted>
Mon, 4 Mar 2024 20:55:38 +0000 (21:55 +0100)
committerRuben Beltran del Rio <redacted>
Mon, 4 Mar 2024 20:55:38 +0000 (21:55 +0100)
config/nvim/init.lua
config/nvim/lazy-lock.json
config/nvim/lua/calendar_tools.lua [new file with mode: 0644]
config/nvim/lua/plugins.lua

index 49fedcc8ee023aca05e12afba89c421ad35050a8..674a55d6af239b1b3ad0a5ad3d37b40c659f3150 100644 (file)
@@ -113,3 +113,4 @@ require('plugins')
 require('treesitter_config')
 require('lsp')
 require('dap_config')
+require('calendar_tools')
index ba874a419dac9c25071e3031bfa71a2cf9fd421a..18ee0da81eccbbb4a9907359b383dedae140ab77 100644 (file)
@@ -7,7 +7,7 @@
   "lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
   "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" },
   "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" },
-  "nota.nvim": { "branch": "main", "commit": "503d09fc95a47c13141d097cf80dd243d1dce342" },
+  "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" },
@@ -20,4 +20,4 @@
   "vim-fugitive": { "branch": "master", "commit": "2e88f14a585c014691904ba8fe39e6ea851c9422" },
   "vim-indent-object": { "branch": "master", "commit": "8ab36d5ec2a3a60468437a95e142ce994df598c6" },
   "vim-togglelist": { "branch": "master", "commit": "48f0d30292efdf20edc883e61b121e6123e03df7" }
-}
\ No newline at end of file
+}
diff --git a/config/nvim/lua/calendar_tools.lua b/config/nvim/lua/calendar_tools.lua
new file mode 100644 (file)
index 0000000..2f8c602
--- /dev/null
@@ -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 })
index 24f77b5348b5a0f8661a9d55b5018867854813d1..15aeb955ee0b46b7260319dc6acc88c816828375 100644 (file)
@@ -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'
 })