diff --git a/docs/config.ld b/docs/config.ld index 2e51ce765..dffe3ecf2 100644 --- a/docs/config.ld +++ b/docs/config.ld @@ -102,6 +102,8 @@ new_type("staticfct", "Static module functions", false, "Parameters") new_type("property", "Object properties", false, "Type constraints") -- Documentation for objects deprecated properties new_type("deprecatedproperty", "Deprecated object properties", false, "Type constraints") +-- Documentation for objects deprecated methods +new_type("deprecatedmethod", "Deprecated object methods", false, "Parameters") -- Use a custom type for the methods to bypass the faulty ldoc built-in detection. -- (yes, the space after Methods *is* on purpose to avoid clashing with ldoc -- internal "methods" concept) @@ -911,25 +913,28 @@ local display_type = { -- Add the `-> ret_type` annotation. local display_return_type = { - method = true, - staticfct = true, + method = true, + deprecatedmethod = true, + staticfct = true, } -- Show return values. local show_return = { - ["function"] = true, - constructorfct = true, - constructorfct2 = true, - legacylayout = true, - staticfct = true, - method = true, - deprecated = true, + ["function"] = true, + constructorfct = true, + constructorfct2 = true, + legacylayout = true, + staticfct = true, + method = true, + deprecated = true, + deprecatedmethod = true, } -- The different type of deprecation. local is_deprecated = { deprecated = true, deprecatedproperty = true, + deprecatedmethod = true, deprecatedsignal = true, } @@ -975,12 +980,12 @@ custom_display_name_handler = function(item, default_handler) end end - if is_deprecated[item.type] then - return ret .. " [deprecated]" + if item.type:match("method") then + ret = render_methods(item) end - if item.type == "method" then - ret = render_methods(item) + if is_deprecated[item.type] then + return ret .. " [deprecated]" end -- Get rid of the "module:" in front of method names. It is either wrong or