aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/muwiki.txt43
1 files changed, 42 insertions, 1 deletions
diff --git a/doc/muwiki.txt b/doc/muwiki.txt
index c22acb1..92750ae 100644
--- a/doc/muwiki.txt
+++ b/doc/muwiki.txt
@@ -38,7 +38,7 @@ It provides:
Using vim.pack (Neovim 0.12+)~
>
vim.pack.add({
- { src = "https://git.3kgcat.fi/muwiki.nvim" }
+ { src = "https://git.3kgcat.fi/muwiki.nvim", name = "muwiki" }
})
<
@@ -229,6 +229,47 @@ Open with menu example~ *muwiki-au
})
<
+Custom open handler using get_link()~ *muwiki-autocmd-custom-open*
+>
+ vim.api.nvim_create_autocmd("FileType", {
+ pattern = "markdown",
+ callback = function(args)
+ if not muwiki.wiki_root(args.buf) then return end
+ vim.keymap.set('n', '<CR>', function()
+ local link = muwiki.get_link()
+ if not link then
+ vim.notify('No link under cursor', vim.log.levels.WARN)
+ return
+ end
+
+ -- Custom logic based on link type
+ if link.type == 'web' then
+ vim.system({ 'xdg-open', link.target }, { detach = true })
+ elseif link.type == 'file' then
+ local ext = link.target:match('%.([^%.]+)$')
+ if ext == 'png' or ext == 'jpg' or ext == 'jpeg' or ext == 'gif' or ext == 'webp' then
+ vim.system({ 'swayimg', link.target }, { detach = true })
+ elseif ext == 'mp4' or ext == 'mkv' or ext == 'avi' or ext == 'mov' or ext == 'webm' then
+ vim.system({ 'mpv', link.target }, { detach = true })
+ elseif ext == 'pdf' then
+ vim.system({ 'zathura', link.target }, { detach = true })
+ else
+ -- Open in Neovim for other file types
+ local utils = require('muwiki.utils')
+ local file_path = utils.resolve(link.target, nil)
+ vim.cmd('edit ' .. vim.fn.fnameescape(file_path))
+ end
+ else
+ -- Wiki link: open in Neovim
+ local utils = require('muwiki.utils')
+ local file_path = utils.resolve(link.target, nil)
+ vim.cmd('edit ' .. vim.fn.fnameescape(file_path))
+ end
+ end, { buffer = args.buf, desc = "Open link (custom handler)" })
+ end,
+ })
+<
+
==============================================================================
8. HEALTH CHECK *muwiki-health*