Skip to content

Commit 1ab3110

Browse files
committed
improve adjust_headings
do not match links with anchor as headings do not match escaped `#`
1 parent d10ce2c commit 1ab3110

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

apps/language_server/lib/language_server/markdown_utils.ex

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
defmodule ElixirLS.LanguageServer.MarkdownUtils do
2+
@hash_match ~r/(?<!\\)(?<!\w)(#+)(?=\s)/u
23
# Find the lowest heading level in the fragment
34
defp lowest_heading_level(fragment) do
4-
case Regex.scan(~r/(#+)/u, fragment) do
5+
case Regex.scan(@hash_match, fragment) do
56
[] ->
67
nil
78

@@ -19,7 +20,7 @@ defmodule ElixirLS.LanguageServer.MarkdownUtils do
1920
if min_level do
2021
level_difference = base_level + 1 - min_level
2122

22-
Regex.replace(~r/(#+)/u, fragment, fn _, capture ->
23+
Regex.replace(@hash_match, fragment, fn _, capture ->
2324
adjusted_level = String.length(capture) + level_difference
2425
String.duplicate("#", adjusted_level)
2526
end)

0 commit comments

Comments
 (0)