@@ -75,7 +75,6 @@ defmodule Mix.Tasks.Help do
7575 aliases = Enum . filter ( load_aliases ( ) , fn { name , _ } -> String . contains? ( name , pattern ) end )
7676
7777 { docs , max } = build_doc_list ( modules , aliases )
78-
7978 display_doc_list ( docs , max )
8079 end
8180
@@ -95,39 +94,28 @@ defmodule Mix.Tasks.Help do
9594 opts
9695 end
9796
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 )
11499 end
115100 end
116101
117102 def run ( _ ) do
118103 Mix . raise ( "Unexpected arguments, expected \" mix help\" or \" mix help TASK\" " )
119104 end
120105
121- defp print_doc ( task , { doc , location } , opts ) do
106+ defp print_doc ( task , { doc , location , note } , opts ) do
122107 if ansi_docs? ( opts ) do
108+ opts = [ width: width ( ) ] ++ opts
123109 IO.ANSI.Docs . print_heading ( "mix #{ task } " , opts )
124110 IO.ANSI.Docs . print ( doc , opts )
111+ IO . puts ( "Location: #{ location } " )
112+ note && IO . puts ( "" ) && IO.ANSI.Docs . print ( note , opts )
125113 else
126114 IO . puts ( "# mix #{ task } \n " )
127115 IO . puts ( doc )
116+ IO . puts ( "\n Location: #{ location } " )
117+ note && IO . puts ( [ ?\n , note , ?\n , ?\n ] )
128118 end
129-
130- IO . puts ( "Location: #{ location } " )
131119 end
132120
133121 # Loadpaths without checks because tasks may be defined in deps.
@@ -224,24 +212,24 @@ defmodule Mix.Tasks.Help do
224212
225213 cond do
226214 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 ) ]
228217
229218 has_alias? ->
230- [ alias_doc ( aliases [ task ] ) ]
219+ [ alias_doc ( aliases [ task ] , nil ) ]
231220
232221 true ->
233222 [ task_doc ( task ) ]
234223 end
235224 end
236225
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 }
240228 end
241229
242230 defp task_doc ( task ) do
243231 module = Mix.Task . get! ( task )
244232 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 }
246234 end
247235end
0 commit comments