Skip to content

Commit e4ae7ce

Browse files
committed
Rename groups_for_functions as groups_for_docs
1 parent b17fcd2 commit e4ae7ce

File tree

7 files changed

+31
-23
lines changed

7 files changed

+31
-23
lines changed

lib/ex_doc/cli.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ defmodule ExDoc.CLI do
194194
195195
[
196196
extras: Path.wildcard("lib/elixir/pages/*.md"),
197-
groups_for_functions: [
197+
groups_for_docs: [
198198
Guards: & &1[:guard] == true
199199
],
200200
skip_undefined_reference_warnings_on: ["compatibility-and-deprecations"],

lib/ex_doc/config.ex

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ defmodule ExDoc.Config do
2424
formatter: "html",
2525
formatters: [],
2626
groups_for_extras: [],
27-
groups_for_functions: [],
27+
groups_for_docs: [],
2828
groups_for_modules: [],
2929
homepage_url: nil,
3030
javascript_config_path: "docs_config.js",
@@ -62,7 +62,7 @@ defmodule ExDoc.Config do
6262
formatter: nil | String.t(),
6363
formatters: [String.t()],
6464
groups_for_extras: keyword(),
65-
groups_for_functions: keyword((keyword() -> boolean)),
65+
groups_for_docs: keyword((keyword() -> boolean)),
6666
groups_for_modules: keyword(),
6767
homepage_url: nil | String.t(),
6868
javascript_config_path: nil | String.t(),
@@ -91,6 +91,14 @@ defmodule ExDoc.Config do
9191
{proglang, options} = Keyword.pop(options, :proglang, :elixir)
9292
{filter_modules, options} = Keyword.pop(options, :filter_modules, &filter_modules/2)
9393

94+
options =
95+
if groups_for_functions = options[:groups_for_functions] do
96+
# TODO: Deprecate me
97+
Keyword.put_new(options, :groups_for_docs, groups_for_functions)
98+
else
99+
options
100+
end
101+
94102
{source_url_pattern, options} =
95103
Keyword.pop_lazy(options, :source_url_pattern, fn ->
96104
guess_url(options[:source_url], options[:source_ref] || @default_source_ref)

lib/ex_doc/retriever.ex

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -104,18 +104,18 @@ defmodule ExDoc.Retriever do
104104
{doc_line, moduledoc, metadata} = get_module_docs(module_data, source_path)
105105

106106
# TODO: The default function groups must be returned by the language
107-
groups_for_functions =
108-
config.groups_for_functions ++
107+
groups_for_docs =
108+
config.groups_for_docs ++
109109
[Callbacks: &(&1[:__doc__] == :callback), Functions: fn _ -> true end]
110110

111111
annotations_for_docs = config.annotations_for_docs
112112

113-
docs_groups = Enum.map(groups_for_functions, &elem(&1, 0))
114-
function_docs = get_docs(module_data, source, groups_for_functions, annotations_for_docs)
113+
docs_groups = Enum.map(groups_for_docs, &elem(&1, 0))
114+
function_docs = get_docs(module_data, source, groups_for_docs, annotations_for_docs)
115115

116116
docs =
117117
function_docs ++
118-
get_callbacks(module_data, source, groups_for_functions, annotations_for_docs)
118+
get_callbacks(module_data, source, groups_for_docs, annotations_for_docs)
119119

120120
types = get_types(module_data, source)
121121

@@ -163,7 +163,7 @@ defmodule ExDoc.Retriever do
163163

164164
## Function helpers
165165

166-
defp get_docs(module_data, source, groups_for_functions, annotations_for_docs) do
166+
defp get_docs(module_data, source, groups_for_docs, annotations_for_docs) do
167167
{:docs_v1, _, _, _, _, _, doc_elements} = module_data.docs
168168

169169
nodes =
@@ -179,7 +179,7 @@ defmodule ExDoc.Retriever do
179179
function_data,
180180
source,
181181
module_data,
182-
groups_for_functions,
182+
groups_for_docs,
183183
annotations_for_docs
184184
)
185185
]
@@ -194,7 +194,7 @@ defmodule ExDoc.Retriever do
194194
function_data,
195195
source,
196196
module_data,
197-
groups_for_functions,
197+
groups_for_docs,
198198
annotations_for_docs
199199
) do
200200
{:docs_v1, _, _, content_type, _, _, _} = module_data.docs
@@ -212,7 +212,7 @@ defmodule ExDoc.Retriever do
212212
(doc_content && doc_ast(content_type, doc_content, file: source.path, line: doc_line + 1)) ||
213213
function_data.doc_fallback.()
214214

215-
group = GroupMatcher.match_function(groups_for_functions, metadata)
215+
group = GroupMatcher.match_function(groups_for_docs, metadata)
216216

217217
%ExDoc.FunctionNode{
218218
id: "#{name}/#{arity}",
@@ -255,19 +255,19 @@ defmodule ExDoc.Retriever do
255255
defp get_callbacks(
256256
%{type: :behaviour} = module_data,
257257
source,
258-
groups_for_functions,
258+
groups_for_docs,
259259
annotations_for_docs
260260
) do
261261
{:docs_v1, _, _, _, _, _, docs} = module_data.docs
262262

263263
for {{kind, _, _}, _, _, _, _} = doc <- docs, kind in module_data.callback_types do
264-
get_callback(doc, source, groups_for_functions, module_data, annotations_for_docs)
264+
get_callback(doc, source, groups_for_docs, module_data, annotations_for_docs)
265265
end
266266
end
267267

268268
defp get_callbacks(_, _, _, _), do: []
269269

270-
defp get_callback(callback, source, groups_for_functions, module_data, annotations_for_docs) do
270+
defp get_callback(callback, source, groups_for_docs, module_data, annotations_for_docs) do
271271
callback_data = module_data.language.callback_data(callback, module_data)
272272

273273
{:docs_v1, _, _, content_type, _, _, _} = module_data.docs
@@ -284,7 +284,7 @@ defmodule ExDoc.Retriever do
284284
doc_ast = doc_ast(content_type, doc, file: source.path, line: doc_line + 1)
285285

286286
metadata = Map.put(metadata, :__doc__, :callback)
287-
group = GroupMatcher.match_function(groups_for_functions, metadata)
287+
group = GroupMatcher.match_function(groups_for_docs, metadata)
288288

289289
%ExDoc.FunctionNode{
290290
id: "c:#{name}/#{arity}",

lib/mix/tasks/docs.ex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ defmodule Mix.Tasks.Docs do
112112
113113
* `:formatters` - Formatter to use; default: ["html", "epub"], options: "html", "epub".
114114
115-
* `:groups_for_extras`, `:groups_for_modules`, `:groups_for_functions` - See the "Groups" section
115+
* `:groups_for_extras`, `:groups_for_modules`, `:groups_for_docs` - See the "Groups" section
116116
117117
* `:ignore_apps` - Apps to be ignored when generating documentation in an umbrella project.
118118
Receives a list of atoms. Example: `[:first_app, :second_app]`.
@@ -218,7 +218,7 @@ defmodule Mix.Tasks.Docs do
218218
### Grouping functions and callbacks
219219
220220
Functions and callbacks inside a module can also be organized in groups.
221-
This is done via the `:groups_for_functions` configuration which is a
221+
This is done via the `:groups_for_docs` configuration which is a
222222
keyword list of group titles and filtering functions that receive the
223223
documentation metadata of functions as argument.
224224
@@ -240,7 +240,7 @@ defmodule Mix.Tasks.Docs do
240240
241241
And then in the configuration you can group these with:
242242
243-
groups_for_functions: [
243+
groups_for_docs: [
244244
Authentication: & &1[:section] == :auth,
245245
Resource: & &1[:subject] == :object,
246246
Admin: & &1[:permission] in [:grant, :write]

test/ex_doc/formatter/epub/templates_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ defmodule ExDoc.Formatter.EPUB.TemplatesTest do
7373
test "outputs function groups" do
7474
content =
7575
get_module_page([CompiledWithDocs],
76-
groups_for_functions: [
76+
groups_for_docs: [
7777
"Example functions": &(&1[:purpose] == :example),
7878
Legacy: &is_binary(&1[:deprecated])
7979
]

test/ex_doc/formatter/html/templates_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do
280280
ExDoc.Retriever.docs_from_modules(
281281
[CompiledWithDocs, CompiledWithDocs.Nested],
282282
doc_config(context,
283-
groups_for_functions: [
283+
groups_for_docs: [
284284
"Example functions": &(&1[:purpose] == :example),
285285
Legacy: &is_binary(&1[:deprecated])
286286
]
@@ -406,7 +406,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do
406406
test "outputs function groups", context do
407407
content =
408408
get_module_page([CompiledWithDocs], context,
409-
groups_for_functions: [
409+
groups_for_docs: [
410410
"Example functions": &(&1[:purpose] == :example),
411411
Legacy: &is_binary(&1[:deprecated])
412412
]

test/ex_doc/retriever_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ defmodule ExDoc.RetrieverTest do
7777
""")
7878

7979
config = %ExDoc.Config{
80-
groups_for_functions: [
80+
groups_for_docs: [
8181
"Group 1": &(&1.group == 1),
8282
"Group 2": &(&1.group == 2)
8383
]

0 commit comments

Comments
 (0)