diff --git a/docs/ldoc.ltp b/docs/ldoc.ltp
index eebb6b436..38238908f 100644
--- a/docs/ldoc.ltp
+++ b/docs/ldoc.ltp
@@ -204,21 +204,6 @@
$(M(ldoc.descript(item),item))
-# if ldoc.custom_tags then
-# for custom in iter(ldoc.custom_tags) do
-# local tag = item.tags[custom[1]]
-# if tag and not custom.hidden then
-# local li,il = use_li(tag)
- $(custom.title or custom[1]):
-
-# for value in iter(tag) do
- $(li)$(custom.format and custom.format(value) or M(value))$(il)
-# end -- for
-# end -- if tag
-
-# end -- iter tags
-# end
-
# if show_parms and item.params and #item.params > 0 and not item.hide_params then
# local subnames = module.kinds:type_of(item).subnames
# if subnames then
@@ -307,6 +292,36 @@
# end -- if usage
+# if ldoc.custom_tags then
+# for custom in iter(ldoc.custom_tags) do
+# local tag = item.tags[custom[1]]
+# if tag and not custom.hidden then
+# local group_begin, group_end, row_type_begin, row_type_end, group_header = item.get_delim(custom[1])
+ $(custom.title or custom[1]):
+ <$(group_begin)>
+# if group_header then
+
+# for _, g in ldoc.ipairs(group_header) do
+ $(g) |
+# end -- for g
+
+# end -- if group_header then
+# for value in iter(tag) do
+ <$(row_type_begin)>$(custom.format and custom.format(value, item, M) or M(value))$(row_type_end)>
+# local sub_values, sub_custom = item.get_auto_params(custom[1], value)
+# if sub_values then
+
+# for _, value in ldoc.ipairs(sub_values) do
+ - $(sub_custom.format(value, item, M))
+# end -- for auto_params
+
+# end -- if item.auto_params
+# end -- for
+ $(group_end)>
+# end -- if tag
+# end -- iter tags
+# end -- ldoc.custom_tags
+
# end -- for items
# last_kind = kind