Skip to content

Commit faf8d25

Browse files
committed
Fix rename issues following merge with master
1 parent 716de9d commit faf8d25

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

apps/language_server/lib/language_server/providers/rename.ex

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ defmodule ElixirLS.LanguageServer.Providers.Rename do
88
alias ElixirLS.LanguageServer.SourceFile
99

1010
def rename(%SourceFile{} = source_file, start_uri, line, character, new_name) do
11+
trace = ElixirLS.LanguageServer.Tracer.get_trace()
12+
1113
edits =
1214
with char_ident when not is_nil(char_ident) <-
1315
get_char_ident(source_file.text, line, character),
1416
%ElixirSense.Location{} = definition <-
1517
ElixirSense.definition(source_file.text, line, character),
16-
references <- ElixirSense.references(source_file.text, line, character) do
18+
references <- ElixirSense.references(source_file.text, line, character, trace) do
1719
length_old = length(char_ident)
1820

1921
definition_references =
@@ -26,7 +28,7 @@ defmodule ElixirLS.LanguageServer.Providers.Rename do
2628
%{file: separate_file_path, type: :function} ->
2729
parse_definition_source_code(definition)
2830
|> get_all_fn_header_positions(char_ident)
29-
|> positions_to_references(SourceFile.path_to_uri(separate_file_path), length_old)
31+
|> positions_to_references(SourceFile.Path.to_uri(separate_file_path), length_old)
3032

3133
_ ->
3234
positions_to_references(
@@ -85,7 +87,7 @@ defmodule ElixirLS.LanguageServer.Providers.Rename do
8587

8688
defp repack_references(references, start_uri) do
8789
for reference <- references do
88-
uri = if reference.uri, do: SourceFile.path_to_uri(reference.uri), else: start_uri
90+
uri = if reference.uri, do: SourceFile.Path.to_uri(reference.uri), else: start_uri
8991

9092
%{
9193
uri: uri,

apps/language_server/test/providers/rename_test.exs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,39 @@
11
defmodule ElixirLS.LanguageServer.Providers.RenameTest do
22
use ExUnit.Case, async: true
33

4+
alias ElixirLS.LanguageServer.Build
45
alias ElixirLS.LanguageServer.Providers.Rename
56
alias ElixirLS.LanguageServer.SourceFile
67
alias ElixirLS.LanguageServer.Test.FixtureHelpers
8+
alias ElixirLS.LanguageServer.Tracer
79
# mix cmd --app language_server mix test test/providers/rename_test.exs
810

911
@fake_uri "file:///World/Netherlands/Amsterdam/supercomputer/amazing.ex"
1012

13+
setup_all context do
14+
File.rm_rf!(FixtureHelpers.get_path(".elixir_ls/calls.dets"))
15+
{:ok, pid} = Tracer.start_link([])
16+
Tracer.set_project_dir(FixtureHelpers.get_path(""))
17+
18+
compiler_options = Code.compiler_options()
19+
Build.set_compiler_options(ignore_module_conflict: true)
20+
21+
on_exit(fn ->
22+
Process.monitor(pid)
23+
Process.unlink(pid)
24+
GenServer.stop(pid)
25+
26+
receive do
27+
{:DOWN, _, _, _, _} -> :ok
28+
end
29+
end)
30+
31+
Code.compile_file(FixtureHelpers.get_path("rename_example.ex"))
32+
Code.compile_file(FixtureHelpers.get_path("rename_example_b.ex"))
33+
34+
{:ok, context}
35+
end
36+
1137
test "rename blank space" do
1238
text = """
1339
defmodule MyModule do

0 commit comments

Comments
 (0)