Skip to content

Commit a1269e0

Browse files
committed
use root option
1 parent 7066835 commit a1269e0

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

apps/language_server/lib/language_server/providers/execute_command/apply_spec.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ defmodule ElixirLS.LanguageServer.Providers.ExecuteCommand.ApplySpec do
5757
try do
5858
target_line_length =
5959
case SourceFile.formatter_for(uri, state.project_dir, true) do
60-
{:ok, {_, opts, _formatter_exs_dir}} ->
60+
{:ok, {_, opts}} ->
6161
Keyword.get(opts, :line_length, @default_target_line_length)
6262

6363
{:error, reason} ->

apps/language_server/lib/language_server/providers/formatting.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ defmodule ElixirLS.LanguageServer.Providers.Formatting do
1212
if SourceFile.Path.path_in_dir?(file_path, project_dir) do
1313
# file in project_dir we find formatter and options for file
1414
case SourceFile.formatter_for(uri, project_dir, mix_project?) do
15-
{:ok, {formatter, opts, formatter_exs_dir}} ->
15+
{:ok, {formatter, opts}} ->
16+
formatter_exs_dir = opts[:root]
1617
if should_format?(uri, formatter_exs_dir, opts[:inputs], project_dir) do
1718
do_format(source_file, formatter, opts)
1819
else

apps/language_server/lib/language_server/server.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,7 @@ defmodule ElixirLS.LanguageServer.Server do
10961096

10971097
locals_without_parens =
10981098
case SourceFile.formatter_for(uri, state.project_dir, state.mix_project?) do
1099-
{:ok, {_, opts, _formatter_exs_dir}} ->
1099+
{:ok, {_, opts}} ->
11001100
locals_without_parens = Keyword.get(opts, :locals_without_parens, [])
11011101

11021102
if List.improper?(locals_without_parens) do
@@ -1226,7 +1226,7 @@ defmodule ElixirLS.LanguageServer.Server do
12261226
if String.ends_with?(uri, [".ex", ".exs"]) or source_file.language_id in ["elixir"] do
12271227
formatter_opts =
12281228
case SourceFile.formatter_for(uri, state.project_dir, state.mix_project?) do
1229-
{:ok, {_, opts, _formatter_exs_dir}} -> opts
1229+
{:ok, {_, opts}} -> opts
12301230
{:error, _} -> []
12311231
end
12321232

apps/language_server/lib/language_server/source_file.ex

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ defmodule ElixirLS.LanguageServer.SourceFile do
257257
end
258258

259259
@spec formatter_for(String.t(), String.t() | nil, boolean) ::
260-
{:ok, {function | nil, keyword(), String.t()}} | {:error, any}
260+
{:ok, {function | nil, keyword()}} | {:error, any}
261261
def formatter_for(uri = "file:" <> _, project_dir, mix_project?) when is_binary(project_dir) do
262262
path = __MODULE__.Path.from_uri(uri)
263263

@@ -271,7 +271,12 @@ defmodule ElixirLS.LanguageServer.SourceFile do
271271
manifest_path: MixProjectCache.manifest_path(),
272272
config_mtime: MixProjectCache.config_mtime(),
273273
mix_project: MixProjectCache.get(),
274-
root: project_dir
274+
root: project_dir,
275+
plugin_loader: fn _plugins ->
276+
# we don't do any plugin loading as this may trigger compile
277+
# TODO it may be safe to compile on 1.18+
278+
:ok
279+
end
275280
]
276281

277282
{:ok, Mix.Tasks.ElixirLSFormat.formatter_for_file(path, opts)}

0 commit comments

Comments
 (0)