Skip to content

Commit 6d7b641

Browse files
committed
Ensure default groups are displayed last
1 parent d822391 commit 6d7b641

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

lib/ex_doc/retriever.ex

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ defmodule ExDoc.Retriever do
148148

149149
docs_groups =
150150
get_docs_groups(
151-
moduledoc_groups ++ config.docs_groups ++ module_data.default_groups,
151+
moduledoc_groups ++ config.docs_groups,
152+
module_data.default_groups,
152153
nodes_groups,
153154
docs
154155
)
@@ -282,13 +283,13 @@ defmodule ExDoc.Retriever do
282283
end)
283284
end
284285

285-
defp get_docs_groups(module_groups, nodes_groups, doc_nodes) do
286+
defp get_docs_groups(module_groups, default_groups, nodes_groups, doc_nodes) do
286287
module_groups = Enum.map(module_groups, &normalize_group/1)
287-
288+
default_groups = Enum.map(default_groups, &normalize_group/1)
288289
# Doc nodes already have normalized groups
289290
nodes_groups_descriptions = Map.new(nodes_groups, &{&1.title, &1.description})
290291

291-
normal_groups = module_groups ++ nodes_groups
292+
normal_groups = module_groups ++ nodes_groups ++ default_groups
292293
nodes_by_group_title = Enum.group_by(doc_nodes, & &1.group)
293294

294295
{docs_groups, _} =

lib/mix/tasks/docs.ex

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -400,10 +400,11 @@ defmodule Mix.Tasks.Docs do
400400
rules:
401401
402402
* First, groups defined as `@moduledoc groups: [...]` in the given order.
403-
* Then groups defined as keys in the `:groups_for_docs` configuration.
404-
* Then default groups: Types, Callbacks and Functions.
405-
* Finally, other groups returned by `:default_group_for_doc` by order of
406-
appearance of their belonging elements.
403+
* Then groups defined as keys in the `:groups_for_docs` configuration, in the
404+
given order.
405+
* Then, other groups returned by `:default_group_for_doc` by alphabetical order
406+
of their belonging elements (by function name).
407+
* Finally the default groups: Types, Callbacks and Functions.
407408
408409
## Meta-tags configuration
409410

0 commit comments

Comments
 (0)