Skip to content

Commit d00110f

Browse files
authored
Don't attempt parsing code blocks that don't look like modules (#1662)
1 parent 486dce4 commit d00110f

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

lib/ex_doc/language/elixir.ex

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -611,10 +611,14 @@ defmodule ExDoc.Language.Elixir do
611611
end
612612

613613
defp parse_module(<<first>> <> _ = string, _mode) when first in ?A..?Z do
614-
do_parse_module(string)
614+
if string =~ ~r/^[A-Za-z0-9_.]+$/ do
615+
do_parse_module(string)
616+
else
617+
:error
618+
end
615619
end
616620

617-
defp parse_module(<<?:>> <> _ = string, :custom_link) do
621+
defp parse_module(":" <> _ = string, :custom_link) do
618622
do_parse_module(string)
619623
end
620624

test/ex_doc/language/elixir_test.exs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,8 @@ defmodule ExDoc.Language.ElixirTest do
496496
assert_unchanged(~m"`Unknown`")
497497

498498
assert_unchanged(~m"[Blank](about:blank)")
499+
500+
assert_unchanged(~m"`FOR UPDATE OF ? SKIP LOCKED`")
499501
end
500502

501503
## Helpers

0 commit comments

Comments
 (0)