@@ -75,7 +75,6 @@ defmodule Mix.Tasks.Help do
75
75
aliases = Enum . filter ( load_aliases ( ) , fn { name , _ } -> String . contains? ( name , pattern ) end )
76
76
77
77
{ docs , max } = build_doc_list ( modules , aliases )
78
-
79
78
display_doc_list ( docs , max )
80
79
end
81
80
@@ -95,39 +94,28 @@ defmodule Mix.Tasks.Help do
95
94
opts
96
95
end
97
96
98
- case verbose_doc ( task ) do
99
- [ single ] ->
100
- print_doc ( task , single , opts )
101
-
102
- [ alias_doc , task_doc ] ->
103
- print_doc ( task , alias_doc , opts )
104
-
105
- note = "\n There is also a task named \" #{ task } \" . The documentation is shown next.\n "
106
-
107
- if ansi_docs? ( opts ) do
108
- IO.ANSI.Docs . print ( note , opts )
109
- else
110
- IO . puts ( note )
111
- end
112
-
113
- print_doc ( task , task_doc , opts )
97
+ for doc <- verbose_doc ( task ) do
98
+ print_doc ( task , doc , opts )
114
99
end
115
100
end
116
101
117
102
def run ( _ ) do
118
103
Mix . raise ( "Unexpected arguments, expected \" mix help\" or \" mix help TASK\" " )
119
104
end
120
105
121
- defp print_doc ( task , { doc , location } , opts ) do
106
+ defp print_doc ( task , { doc , location , note } , opts ) do
122
107
if ansi_docs? ( opts ) do
108
+ opts = [ width: width ( ) ] ++ opts
123
109
IO.ANSI.Docs . print_heading ( "mix #{ task } " , opts )
124
110
IO.ANSI.Docs . print ( doc , opts )
111
+ IO . puts ( "Location: #{ location } " )
112
+ note && IO . puts ( "" ) && IO.ANSI.Docs . print ( note , opts )
125
113
else
126
114
IO . puts ( "# mix #{ task } \n " )
127
115
IO . puts ( doc )
116
+ IO . puts ( "\n Location: #{ location } " )
117
+ note && IO . puts ( [ ?\n , note , ?\n , ?\n ] )
128
118
end
129
-
130
- IO . puts ( "Location: #{ location } " )
131
119
end
132
120
133
121
# Loadpaths without checks because tasks may be defined in deps.
@@ -224,24 +212,24 @@ defmodule Mix.Tasks.Help do
224
212
225
213
cond do
226
214
has_alias? and has_task? ->
227
- [ alias_doc ( aliases [ task ] ) , task_doc ( task ) ]
215
+ note = "There is also a task named \" #{ task } \" . The documentation is shown next."
216
+ [ alias_doc ( aliases [ task ] , note ) , task_doc ( task ) ]
228
217
229
218
has_alias? ->
230
- [ alias_doc ( aliases [ task ] ) ]
219
+ [ alias_doc ( aliases [ task ] , nil ) ]
231
220
232
221
true ->
233
222
[ task_doc ( task ) ]
234
223
end
235
224
end
236
225
237
- defp alias_doc ( task_name ) do
238
- doc = "Alias for " <> inspect ( task_name )
239
- { doc , "mix.exs" }
226
+ defp alias_doc ( task_name , note ) do
227
+ { "Alias for " <> inspect ( task_name ) , "mix.exs" , note }
240
228
end
241
229
242
230
defp task_doc ( task ) do
243
231
module = Mix.Task . get! ( task )
244
232
doc = Mix.Task . moduledoc ( module ) || "There is no documentation for this task"
245
- { doc , where_is_file ( module ) }
233
+ { doc , where_is_file ( module ) , nil }
246
234
end
247
235
end
0 commit comments