From b3bf3fb2ee8605344a4e4d68807d0dfa22f48561 Mon Sep 17 00:00:00 2001 From: Thomas Vanbesien Date: Sun, 7 Jun 2026 20:58:17 +0200 Subject: refactor(nvim): extract follow engine into dotfiles.follow module --- .config/nvim/plugin/50-nvim-help.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .config/nvim/plugin/50-nvim-help.lua (limited to '.config/nvim/plugin/50-nvim-help.lua') diff --git a/.config/nvim/plugin/50-nvim-help.lua b/.config/nvim/plugin/50-nvim-help.lua new file mode 100644 index 0000000..926bb68 --- /dev/null +++ b/.config/nvim/plugin/50-nvim-help.lua @@ -0,0 +1,23 @@ +-- `nvim-help://` — open Neovim help for in a scratch, read-only +-- buffer. Registered with the follow engine (see 50-follow.lua). + +require("dotfiles.follow").register_scheme("nvim-help", { + resolve = function(uri) + local tagfiles = {} + for _, path in pairs(vim.opt.runtimepath:get()) do + tagfiles[#tagfiles + 1] = path .. "/doc/tags" + end + vim.opt_local.tags = tagfiles + local matches = vim.fn.taglist(uri) + if #matches == 0 then + return nil, "No help page found for nvim-help://" .. uri + end + return matches[1].filename + end, + after = function() + vim.opt_local.bufhidden = "wipe" + vim.opt_local.buftype = "nofile" + vim.opt_local.swapfile = false + vim.opt_local.readonly = true + end, +}) -- cgit v1.3.1