From e5e0d7f620fbadbd971026b2362307c9d985e9cb Mon Sep 17 00:00:00 2001 From: Jordan Irwin Date: Sat, 31 Jul 2021 18:44:54 -0700 Subject: [PATCH] LDoc: format chat command parameters the same as functions --- .ldoc/config.ld | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/.ldoc/config.ld b/.ldoc/config.ld index 313ff11..b454873 100644 --- a/.ldoc/config.ld +++ b/.ldoc/config.ld @@ -136,28 +136,32 @@ local function chatcmd_handler(item) end if #item.params > 0 then - item.description = item.description .. "\n\n### Parameters:" - end - - if item.tags.chatparam then local pstring = "### Parameters:\n" - for _, cp in ipairs(item.tags.chatparam) do - local idx, key, desc = cp:find(" ") - if idx then - key = cp:sub(1, idx-1) - value = cp:sub(idx) - else - key = cp - end + for k, param in pairs(item.params) do + if type(k) == "number" then + local value = item.params.map[param] - pstring = pstring .. '\n- ' - .. key .. '' - if value then - pstring = pstring .. value - end + pstring = pstring .. '\n- ' + .. param .. '' - item.description = item.description .. "\n\n" .. pstring + local modifiers = item.modifiers.param[param] + if modifiers and modifiers.type then + pstring = pstring .. ' `' .. modifiers.type .. '`' + end + + if value then + pstring = pstring .. value + end + + if modifiers and modifiers.opt then + pstring = pstring .. " *(optional)*" + end + end end + + item.description = item.description .. "\n\n" .. pstring + -- clear parameter list + item.params = {} end return item