From 3dbe74f2eef627e2dc19b79fe06753d5dc09003f Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Wed, 15 May 2024 09:00:31 +0200 Subject: update nvim MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- .vim/after/ftplugin/todofile.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .vim/after/ftplugin/todofile.lua (limited to '.vim/after/ftplugin/todofile.lua') diff --git a/.vim/after/ftplugin/todofile.lua b/.vim/after/ftplugin/todofile.lua new file mode 100644 index 0000000..2080d39 --- /dev/null +++ b/.vim/after/ftplugin/todofile.lua @@ -0,0 +1,23 @@ +local function toggle_todo() + local ln, n = vim.api.nvim_get_current_line(), 0 + ln, n = string.gsub(ln, 'TODO', 'DONE', 1) + if n > 0 then + goto set_line + end + ln, n = string.gsub(ln, 'DONE', 'TODO', 1) + if n > 0 then + goto set_line + end + ln, n = string.gsub(ln, '^(-|*) ', '%1 TODO ') + if n > 0 then + goto set_line + end + + goto exit -- skip over set_current_line + + ::set_line:: + vim.api.nvim_set_current_line(ln) + + ::exit:: +end +vim.keymap.set('n', '', toggle_todo, { desc = 'toggle todo', buffer = true }) -- cgit 1.4.1