diff options
| -rw-r--r-- | after/ftplugin/markdown.lua | 25 | ||||
| -rw-r--r-- | lua/config/plugins/notes.lua | 25 |
2 files changed, 37 insertions, 13 deletions
diff --git a/after/ftplugin/markdown.lua b/after/ftplugin/markdown.lua new file mode 100644 index 0000000..8fbe798 --- /dev/null +++ b/after/ftplugin/markdown.lua @@ -0,0 +1,25 @@ +if require("zk.util").notebook_root(vim.fn.expand("%:p")) ~= nil then + vim.keymap.set("n", "<CR>", vim.lsp.buf.definition, + { buffer = true, noremap = true, silent = false, desc = "Open the link under the caret." }) + + -- Create a new note in the same directory as the current buffer, using the current selection for title. + vim.keymap.set("v", "<Leader>zn", ":'<,'>ZkNewFromTitleSelection { dir = vim.fn.expand('%:p:h') }<CR>", + { buffer = true, noremap = true, silent = false, desc = "Create a new note using the current selection for title." }) + + -- Create a new note in the same directory as the current buffer, + -- using the current selection for note content and asking for its title. + vim.keymap.set("v", "<Leader>zN", + ":'<,'>ZkNewFromContentSelection { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }<CR>", + { buffer = true, noremap = true, silent = false, desc = "Create a new note using the current selection for contents." }) + + vim.keymap.set("n", "<Leader>zb", "<CMD>ZkBacklinks<CR>", + { buffer = true, noremap = true, silent = false, desc = "Open notes linking to the current buffer." }) + + -- Alternative for backlinks using pure LSP and showing the source context. + -- The results will appear in the quickfix list. + vim.keymap.set("n", "<Leader>zB", vim.lsp.buf.references, + { buffer = true, noremap = true, silent = false, desc = "Open notes linking to the current buffer with LSP." }) + + vim.keymap.set("n", "<Leader>zl", "<CMD>ZkLinks<CR>", + { buffer = true, noremap = true, silent = false, desc = "Open notes linked by the current buffer." }) +end diff --git a/lua/config/plugins/notes.lua b/lua/config/plugins/notes.lua index 57d5d24..a76271e 100644 --- a/lua/config/plugins/notes.lua +++ b/lua/config/plugins/notes.lua @@ -16,21 +16,19 @@ return { }, }) - local opts = { noremap = true, silent = false } + vim.keymap.set("n", "<Leader>zn", "<CMD>ZkNew { title = vim.fn.input('Title: ') }<CR>", + { noremap = true, silent = false, desc = "Create a new note after asking for its title." }) - -- Create a new note after asking for its title. - vim.api.nvim_set_keymap("n", "<leader>zn", "<Cmd>ZkNew { title = vim.fn.input('Title: ') }<CR>", opts) + vim.keymap.set("n", "<Leader>zo", "<CMD>ZkNotes { sort = { 'modified' } }<CR>", + { noremap = true, silent = false, desc = "Open notes." }) + vim.keymap.set("n", "<Leader>zt", "<CMD>ZkTags<CR>", + { noremap = true, silent = false, desc = "Open notes associated with the selected tags." }) - -- Open notes. - vim.api.nvim_set_keymap("n", "<leader>zo", "<Cmd>ZkNotes { sort = { 'modified' } }<CR>", opts) - -- Open notes associated with the selected tags. - vim.api.nvim_set_keymap("n", "<leader>zt", "<Cmd>ZkTags<CR>", opts) - - -- Search for the notes matching a given query. - vim.api.nvim_set_keymap("n", "<leader>zf", - "<Cmd>ZkNotes { sort = { 'modified' }, match = { vim.fn.input('Search: ') } }<CR>", opts) - -- Search for the notes matching the current visual selection. - vim.api.nvim_set_keymap("v", "<leader>zf", ":'<,'>ZkMatch<CR>", opts) + vim.keymap.set("n", "<Leader>zf", + "<CMD>ZkNotes { sort = { 'modified' }, match = { vim.fn.input('Search: ') } }<CR>", + { noremap = true, silent = false, desc = "Search for the notes matching a given query." }) + vim.keymap.set("v", "<Leader>zf", ":'<,'>ZkMatch<CR>", + { noremap = true, silent = false, desc = "Search for the notes matching the current visual selection." }) end }, @@ -46,6 +44,7 @@ return { position = "right", width = "block", border = "thick", + language_pad = 1, min_width = min_width, left_pad = 1, right_pad = 1, |
