File tree Expand file tree Collapse file tree 2 files changed +34
-1
lines changed
lib/language_server/providers Expand file tree Collapse file tree 2 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ defmodule ElixirLS.LanguageServer.Providers.Rename do
3636 )
3737 end
3838
39- definition_references ++ repack_references ( references , start_uri )
39+ Enum . uniq ( definition_references ++ repack_references ( references , start_uri ) )
4040 else
4141 _ ->
4242 [ ]
Original file line number Diff line number Diff line change @@ -81,6 +81,39 @@ defmodule ElixirLS.LanguageServer.Providers.RenameTest do
8181
8282 assert sort_edit_by_start_line ( edits ) == expected_edits
8383 end
84+
85+ test "renaming a variable definition works original -> new_original" do
86+ text = """
87+ defmodule MyModule do
88+ def hello do
89+ original = "original"
90+ new = original <> " new stuff"
91+ end
92+ end
93+ """
94+
95+ # new = "#{original} + new stuff!"
96+ { line , char } = { 3 , 6 }
97+
98+ edits =
99+ Rename . rename (
100+ % SourceFile { text: text , version: 0 } ,
101+ @ fake_uri ,
102+ line ,
103+ char ,
104+ "new_original"
105+ )
106+ |> assert_return_structure_and_get_edits ( @ fake_uri , nil )
107+
108+ expected_edits =
109+ [
110+ % { line: 2 , start_char: 4 , end_char: 12 } ,
111+ % { line: 3 , start_char: 10 , end_char: 18 }
112+ ]
113+ |> get_expected_edits ( "new_original" )
114+
115+ assert sort_edit_by_start_line ( edits ) == expected_edits
116+ end
84117 end
85118
86119 describe "renaming local function" do
You can’t perform that action at this time.
0 commit comments