From 1cf22eee7f126dddedbed55786a6dc63b57d49d8 Mon Sep 17 00:00:00 2001 From: Lukasz Samson Date: Thu, 29 Sep 2022 21:14:25 +0200 Subject: [PATCH] allow formatting of untitled: even when project_dir is set Fixes https://github.com/elixir-lsp/elixir-ls/issues/691 --- .../lib/language_server/providers/formatting.ex | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/language_server/lib/language_server/providers/formatting.ex b/apps/language_server/lib/language_server/providers/formatting.ex index a0edd0a11..a30fceb55 100644 --- a/apps/language_server/lib/language_server/providers/formatting.ex +++ b/apps/language_server/lib/language_server/providers/formatting.ex @@ -3,7 +3,8 @@ defmodule ElixirLS.LanguageServer.Providers.Formatting do alias ElixirLS.LanguageServer.Protocol.TextEdit alias ElixirLS.LanguageServer.SourceFile - def format(%SourceFile{} = source_file, uri, project_dir) when is_binary(project_dir) do + def format(%SourceFile{} = source_file, uri = "file:" <> _, project_dir) + when is_binary(project_dir) do if can_format?(uri, project_dir) do case SourceFile.formatter_for(uri) do {:ok, {formatter, opts}} -> @@ -32,7 +33,8 @@ defmodule ElixirLS.LanguageServer.Providers.Formatting do end end - def format(%SourceFile{} = source_file, _uri, nil) do + # if project_dir is not set or schema is not file: we format with default options + def format(%SourceFile{} = source_file, _uri, _project_dir) do do_format(source_file) end