Skip to content

Commit 73bedd2

Browse files
committed
no code action for potentially unformatted line
1 parent 069cf41 commit 73bedd2

File tree

1 file changed

+8
-3
lines changed
  • apps/language_server/lib/language_server/providers/code_action

1 file changed

+8
-3
lines changed

apps/language_server/lib/language_server/providers/code_action/helpers.ex

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@ defmodule ElixirLS.LanguageServer.Providers.CodeAction.Helpers do
1515
is_line_formatted =
1616
unformatted_text
1717
|> Diff.diff(formatted_text)
18-
|> Enum.filter(fn %TextEdit{range: range} ->
19-
range["start"]["line"] == changed_line or range["end"]["line"] == changed_line
20-
end)
18+
|> Enum.filter(&near_changed_line(&1, changed_line))
2119
|> Enum.empty?()
2220

2321
if is_line_formatted do
@@ -41,6 +39,13 @@ defmodule ElixirLS.LanguageServer.Providers.CodeAction.Helpers do
4139
_ -> :error
4240
end
4341
end
42+
43+
defp near_changed_line(%TextEdit{range: range}, changed_line) do
44+
changed_line_neighborhood = [changed_line - 1, changed_line, changed_line + 1]
45+
46+
range["start"]["line"] in changed_line_neighborhood or
47+
range["end"]["line"] in changed_line_neighborhood
48+
end
4449

4550
@spec update_line(TextEdit.t(), non_neg_integer()) :: TextEdit.t()
4651
def update_line(

0 commit comments

Comments
 (0)