From 679074b341ab12931206cfb0c15b09cc305d0c19 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Sun, 10 Nov 2024 08:03:16 +0100 Subject: [PATCH] ci: fix docgen titles --- lua/snacks/docs.lua | 20 ++++++++++++++++++++ scripts/docs | 2 ++ 2 files changed, 22 insertions(+) diff --git a/lua/snacks/docs.lua b/lua/snacks/docs.lua index c34231e7..88f0483c 100644 --- a/lua/snacks/docs.lua +++ b/lua/snacks/docs.lua @@ -331,6 +331,26 @@ function M._build() vim.cmd.checktime() end +function M.fix_titles() + for file, t in vim.fs.dir("doc", { depth = 1 }) do + if t == "file" and file:find("%.txt$") then + local lines = vim.fn.readfile("doc/" .. file) --[[@as string[] ]] + for i, line in ipairs(lines) do + -- Example: SNACKS.GIT.BLAME_LINE() *snacks-git-module-snacks.git.blame_line()* + local func = line:gsub("^SNACKS.*module%-snacks(.+%(%))%*$", "Snacks%1") + if func ~= line then + local left = ("`%s`"):format(func) + local right = ("*%s*"):format(func) + line = left .. string.rep(" ", #line - #left - #right) .. right + lines[i] = line + end + end + vim.fn.writefile(lines, "doc/" .. file) + end + end + vim.cmd.helptags("doc") +end + function M.build() local ok, err = pcall(M._build) if not ok then diff --git a/scripts/docs b/scripts/docs index 2e8b0b60..b7bd7ee0 100755 --- a/scripts/docs +++ b/scripts/docs @@ -21,3 +21,5 @@ for f in docs/*.md; do --demojify "true" \ --shift-heading-level-by -1 done + +nvim -u tests/minit.lua --headless +'lua require("snacks.docs").fix_titles()' +qa