diff --git a/lazy-lock.json b/lazy-lock.json index 51c78a7..e093ab3 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -46,7 +46,7 @@ "nvim-web-devicons": { "branch": "master", "commit": "6788013bb9cb784e606ada44206b0e755e4323d7" }, "nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" }, "onedark.nvim": { "branch": "master", "commit": "213c23ae45a04797572242568d5d51937181792d" }, - "outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" }, + "outline.nvim": { "branch": "main", "commit": "1967ef50036b0b1eac4977aeede55915a741afe0" }, "overseer.nvim": { "branch": "master", "commit": "20660642c99a3d3bfb301a29156bd20963961342" }, "pantran.nvim": { "branch": "main", "commit": "b87c3ae48cba4659587fb75abd847e5b7a7c9ca0" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, diff --git a/remap.lua b/remap.lua index e090ed4..c51fbe1 100644 --- a/remap.lua +++ b/remap.lua @@ -119,3 +119,29 @@ function AddLocationListEntry() end vim.keymap.set("n", "la", AddLocationListEntry, { desc = "[L]ocation list [a]ppend current line" }) +vim.api.nvim_create_autocmd("FileType", { + pattern = "help", + callback = function() + vim.schedule(function() + vim.keymap.set("n", "", function() + local word = vim.fn.expand('') + + -- Extract tag from |tag| format used in help files + local tag = word:match('|([^|]+)|') or word + + if tag then + -- Remove any trailing special characters + tag = tag:gsub('[^%w%-_*]', '') + + if tag ~= '' then + local success = pcall(vim.cmd, 'tag ' .. tag) + if not success then + -- Try fuzzy search + vim.cmd('tag /' .. tag) + end + end + end + end) + end) + end +})