diff --git a/lib/ex_doc/autolink.ex b/lib/ex_doc/autolink.ex index 0c9b42ac0..389f1f8de 100644 --- a/lib/ex_doc/autolink.ex +++ b/lib/ex_doc/autolink.ex @@ -250,7 +250,7 @@ defmodule ExDoc.Autolink do defp mix_task(name, string, mode, config) do {module, url, visibility} = - if name =~ ~r/^[a-z][a-z0-9]*(\.[a-z][a-z0-9]*)*$/ do + if name =~ ~r/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$/ do parts = name |> String.split(".") |> Enum.map(&Macro.camelize/1) module = Module.concat([Mix, Tasks | parts]) diff --git a/test/ex_doc/language/elixir_test.exs b/test/ex_doc/language/elixir_test.exs index f1b24b3a8..e1789d3c7 100644 --- a/test/ex_doc/language/elixir_test.exs +++ b/test/ex_doc/language/elixir_test.exs @@ -214,6 +214,9 @@ defmodule ExDoc.Language.ElixirTest do assert autolink_doc("`mix compile.elixir`") == ~s|mix compile.elixir| + assert autolink_doc("`mix task_with_docs`") == + ~s|mix task_with_docs| + assert autolink_doc("`mix help compile.elixir`") == ~s|mix help compile.elixir|