diff --git a/modules/programs/nvim/plugins/default.nix b/modules/programs/nvim/plugins/default.nix index 74bde38..d1ea630 100644 --- a/modules/programs/nvim/plugins/default.nix +++ b/modules/programs/nvim/plugins/default.nix @@ -269,33 +269,13 @@ with builtins; plugin = telekasten-nvim; dependencies = [ { plugin = telescope-nvim; } + { plugin = which-key-nvim; } ]; cmd = [ "Telekasten" ]; keys = [ { key = "z"; cmd = "Telekasten"; desc = "zettelkasten"; } ]; - conf = '' - require("telekasten").setup({ - home = vim.fn.expand("~/Nextcloud/Notes/zettelkasten"), - auto_set_filetype = false, - image_subdir = "assets", - }) - vim.api.nvim_create_autocmd({ "BufReadPost", "BufNewFile" }, { - pattern = "*/zettelkasten/*", - callback = function(event) - vim.api.nvim_buf_set_keymap(0, "n", "", "", { - callback = function() - local current_word = vim.fn.expand("") - if vim.fn.match(current_word, "[[") == 0 then - require("telekasten").follow_link() - else - require("telekasten").toggle_todo() - end - end, - }) - end, - }) - ''; + conf = builtins.readFile ./zettelkasten-nvim.lua; } { plugin = markdown-preview-nvim; diff --git a/modules/programs/nvim/plugins/zettelkasten-nvim.lua b/modules/programs/nvim/plugins/zettelkasten-nvim.lua new file mode 100644 index 0000000..6a35570 --- /dev/null +++ b/modules/programs/nvim/plugins/zettelkasten-nvim.lua @@ -0,0 +1,27 @@ +local telekasten = require("telekasten") +telekasten.setup({ + home = vim.fn.expand("~/Nextcloud/Notes/zettelkasten"), + auto_set_filetype = false, + image_subdir = "assets", +}) + +vim.api.nvim_create_autocmd({ "BufReadPost", "BufNewFile" }, { + pattern = "*/zettelkasten/*", + callback = function(_) + require("which-key").register({ + g = { + f = { telekasten.follow_link, "Follow link" }, + r = { telekasten.show_backlinks, "Show backlinks" }, + }, + [""] = { + f = { + f = { telekasten.find_notes, "Find note" }, + n = { telekasten.new_note, "New note" }, + }, + s = { + g = { telekasten.search_note, "Grep notes" }, + }, + }, + }, { buffer = vim.fn.bufnr("%") }) + end, +})