-
Notifications
You must be signed in to change notification settings - Fork 3k
/
Copy pathdocs.exs
117 lines (113 loc) · 2.94 KB
/
docs.exs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[
annotations_for_docs: fn
md ->
cond do
md[:module] != :erlang ->
[]
md.kind == :function && :erl_internal.guard_bif(md.name, md.arity) ->
true = :erl_internal.bif(md.name, md.arity)
["auto-imported", "allowed in guard tests"]
md.kind == :function && :erl_internal.bif(md.name, md.arity) ->
["auto-imported"]
md.kind == :type && :erl_internal.is_type(md.name, md.arity) ->
["predefined"]
true ->
[]
end
end,
groups_for_docs: [
{"Predefined datatypes",
fn a ->
a.kind == :type && a.module == :erlang && :erl_internal.is_type(a.name, a.arity)
end},
{"Types",
fn a ->
a.kind == :type
end},
{"Checksum",
fn a ->
a[:category] == :checksum
end},
{"Code",
fn a ->
a[:category] == :code
end},
{"Distributed Erlang",
fn a ->
a[:category] == :distribution
end},
{"Erlang Terms",
fn a ->
a[:category] == :terms
end},
{"Processes and Ports",
fn a ->
a[:category] == :processes || a[:category] == :ports
end},
{"System",
fn a ->
a[:category] == :system
end},
{"Time and timers",
fn a ->
a[:category] == :time || a[:category] == :timer
end},
{"Tracing",
fn a ->
a[:category] == :trace
end},
{"Deprecated functions",
fn a ->
a[:category] == :deprecated
end},
{"Functions without group",
fn a ->
if a.module == :erlang do
IO.puts(:stderr, "Undefined group #{a[:category]} for #{a.module}:#{a.name}/#{a.arity}")
true
else
false
end
end}
],
## The order of these items determine
## how they are listed in the docs
extras:
[
"guides/introduction.md",
"guides/communication.md",
"guides/time_correction.md",
"guides/match_spec.md",
"guides/crash_dump.md",
"guides/alt_dist.md",
"guides/alt_disco.md",
"guides/absform.md",
"guides/tty.md",
"guides/driver.md",
"guides/inet_cfg.md",
"guides/erl_ext_dist.md",
"guides/erl_dist_protocol.md",
"references/driver_entry.md",
"references/epmd_cmd.md",
"references/erl_cmd.md",
"references/erlc_cmd.md",
"references/erl_driver.md",
"references/erl_nif.md",
"references/erlsrv_cmd.md",
"references/erts_alloc.md",
"references/escript_cmd.md",
"references/run_erl_cmd.md",
"references/start_cmd.md",
"references/start_erl_cmd.md",
"references/werl_cmd.md"
] ++ Path.wildcard("../emulator/internal_doc/*.md"),
skip_code_autolink_to: [
"dist_util:net_ticker_spawn_options/0",
"dist_util:handshake_we_started/1",
"dist_util:handshake_other_started/1",
"dist_util:start_timer/1",
"dist_util:strict_order_flags/0",
"erl_types:t_is_equal/2",
"erl_types:t_has_var/1"
]
]