Skip to content

Commit edb5839

Browse files
authored
Document private API usage (elixir-editors#95)
Also note one soft-deprecation
1 parent 13407bc commit edb5839

File tree

6 files changed

+19
-0
lines changed

6 files changed

+19
-0
lines changed

apps/debugger/lib/debugger/server.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,7 @@ defmodule ElixirLS.Debugger.Server do
434434
# Mixfile may already be loaded depending on cwd when launching debugger task
435435
mixfile = Path.absname(System.get_env("MIX_EXS") || "mix.exs")
436436

437+
# FIXME: Private API
437438
unless match?(%{file: ^mixfile}, Mix.ProjectStack.peek()) do
438439
Code.require_file(System.get_env("MIX_EXS") || "mix.exs")
439440
end
@@ -542,6 +543,7 @@ defmodule ElixirLS.Debugger.Server do
542543
defp change_env(env) do
543544
Mix.env(env)
544545

546+
# FIXME: Private API
545547
if project = Mix.Project.pop() do
546548
%{name: name, file: file} = project
547549
:code.purge(name)

apps/elixir_ls_utils/lib/launch.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
defmodule ElixirLS.Utils.Launch do
22
def start_mix do
3+
# FIXME: Private API
34
Mix.start()
5+
# FIXME: Private API
46
Mix.Local.append_archives()
7+
# FIXME: Private API
58
Mix.Local.append_paths()
69
load_dot_config()
710
:ok

apps/language_server/lib/language_server/build.ex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ defmodule ElixirLS.LanguageServer.Build do
1414
IO.puts("Compiling with Mix env #{Mix.env()}")
1515

1616
prev_deps = cached_deps()
17+
# FIXME: Private API
1718
Mix.Dep.clear_cached()
1819

1920
case reload_project() do
2021
{:ok, mixfile_diagnostics} ->
22+
# FIXME: Private API
2123
if fetch_deps? and Mix.Dep.load_on_environment([]) != prev_deps,
2224
do: fetch_deps()
2325

@@ -103,8 +105,10 @@ defmodule ElixirLS.LanguageServer.Build do
103105
mixfile = Path.absname(System.get_env("MIX_EXS") || "mix.exs")
104106

105107
if File.exists?(mixfile) do
108+
# FIXME: Private API
106109
case Mix.ProjectStack.peek() do
107110
%{file: ^mixfile, name: module} ->
111+
# FIXME: Private API
108112
Mix.Project.pop()
109113
:code.purge(module)
110114
:code.delete(module)
@@ -116,6 +120,7 @@ defmodule ElixirLS.LanguageServer.Build do
116120
Mix.Task.clear()
117121

118122
# Override build directory to avoid interfering with other dev tools
123+
# FIXME: Private API
119124
Mix.ProjectStack.post_config(build_path: ".elixir_ls/build")
120125

121126
# We can get diagnostics if Mixfile fails to load
@@ -136,6 +141,7 @@ defmodule ElixirLS.LanguageServer.Build do
136141
# The project may override our logger config, so we reset it after loading their config
137142
logger_config = Application.get_all_env(:logger)
138143
Mix.Task.run("loadconfig")
144+
# NOTE: soft-deprecated in v1.10
139145
Mix.Config.persist(logger: logger_config)
140146
end
141147

@@ -164,6 +170,7 @@ defmodule ElixirLS.LanguageServer.Build do
164170

165171
defp cached_deps do
166172
try do
173+
# FIXME: Private API
167174
Mix.Dep.cached()
168175
rescue
169176
_ ->
@@ -172,6 +179,7 @@ defmodule ElixirLS.LanguageServer.Build do
172179
end
173180

174181
defp fetch_deps do
182+
# FIXME: Private API and struct
175183
missing_deps =
176184
Mix.Dep.load_on_environment([])
177185
|> Enum.filter(fn %Mix.Dep{status: status} ->
@@ -181,6 +189,7 @@ defmodule ElixirLS.LanguageServer.Build do
181189
_ -> false
182190
end
183191
end)
192+
# FIXME: Private struct
184193
|> Enum.map(fn %Mix.Dep{app: app, requirement: requirement} -> "#{app} #{requirement}" end)
185194

186195
if missing_deps != [] do

apps/language_server/lib/language_server/cli.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ defmodule ElixirLS.LanguageServer.CLI do
1111
Launch.print_versions()
1212

1313
Mix.shell(ElixirLS.LanguageServer.MixShell)
14+
# FIXME: Private API
1415
Mix.Hex.ensure_updated?()
1516

1617
WireProtocol.stream_packets(&JsonRpc.receive_packet/1)

apps/language_server/lib/language_server/dialyzer.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ defmodule ElixirLS.LanguageServer.Dialyzer do
220220
defp update_stale(md5, removed_files, file_changes, timestamp) do
221221
prev_paths = MapSet.new(Map.keys(md5))
222222

223+
# FIXME: Private API
223224
all_paths =
224225
Mix.Utils.extract_files([Mix.Project.build_path()], [:beam])
225226
|> Enum.map(&Path.relative_to_cwd(&1))
@@ -235,6 +236,7 @@ defmodule ElixirLS.LanguageServer.Dialyzer do
235236
|> MapSet.difference(prev_paths)
236237
|> MapSet.to_list()
237238

239+
# FIXME: Private API
238240
changed = Enum.uniq(new_paths ++ Mix.Utils.extract_stale(all_paths, [timestamp]))
239241

240242
changed_contents =

apps/language_server/lib/language_server/dialyzer/manifest.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ defmodule ElixirLS.LanguageServer.Dialyzer.Manifest do
6161

6262
def read(root_path) do
6363
manifest_path = manifest_path(root_path)
64+
# FIXME: Private API
6465
timestamp = normalize_timestamp(Mix.Utils.last_modified(manifest_path))
6566

6667
{
@@ -103,6 +104,7 @@ defmodule ElixirLS.LanguageServer.Dialyzer.Manifest do
103104
end
104105

105106
def elixir_plt_path() do
107+
# FIXME: Private API
106108
Path.join([Mix.Utils.mix_home(), "elixir-ls-#{otp_vsn()}_elixir-#{System.version()}"])
107109
end
108110

0 commit comments

Comments
 (0)