Skip to content

Commit 57521ce

Browse files
committed
no code action for potentially unformatted line
1 parent 069cf41 commit 57521ce

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
@@ -28,6 +26,13 @@ defmodule ElixirLS.LanguageServer.Providers.CodeAction.Helpers do
2826
end
2927
end
3028

29+
defp near_changed_line(%TextEdit{range: range}, changed_line) do
30+
changed_line_neighborhood = [changed_line - 1, changed_line, changed_line + 1]
31+
32+
range["start"]["line"] in changed_line_neighborhood or
33+
range["end"]["line"] in changed_line_neighborhood
34+
end
35+
3136
defp changed_line(text_edits) do
3237
lines =
3338
text_edits

0 commit comments

Comments
 (0)