Oh, the file_server is locally registered and not per process, I don't
think we change this. :(

On Thu, Dec 16, 2021 at 7:20 PM José Valim <jose.va...@dashbit.co> wrote:

> > So I would like to request that there be a function to get the formatter
> options (and as-of Elixir 1.13 formatter as well) relative to a passed in
> directory. If we can settle on an approach I'd be willing to create a PR
> for this.
>
> Maybe I am oversimplifying this but can we:
>
> 1. Accept cwd as an option (which defaults to File.cwd)
> 2. Make sure that all the path lookups what we do have a Path.join(cwd,
> path)
>
> ?
>
> In any case, a PR to address this is very welcome, regardless of the
> approach, since it is important to Elixir LS.
>
> On Thu, Dec 16, 2021 at 6:42 PM Jason Axelson <jason.axel...@gmail.com>
> wrote:
>
>> Hi all,
>>
>> While working on ElixirLS we cannot use the normal `mix format` for a few
>> reasons:
>> - We want to provide the results of the formatting as Language Server
>> Protocol edits which allows editors to undo the formatting
>> - We want to format quickly without paying the cost of the BEAM startup
>> time
>>
>> Therefore up until now we've been formatting using Code.format_string!/2
>> and using Mix.Tasks.Format.formatter_opts_for_file/2 to find the formatter
>> options, however that suffers from a major problem for us, the result of
>> Mix.Tasks.Format.formatter_opts_for_file/2 depends on the value of the
>> current working directory (i.e. File.cwd/0), and because of the current
>> architecture of ElixirLS the current working directory is not stable and we
>> cannot control it directly (the current working directory changes as elixir
>> code is compiled).
>>
>> So I would like to request that there be a function to get the formatter
>> options (and as-of Elixir 1.13 formatter as well) relative to a passed in
>> directory. If we can settle on an approach I'd be willing to create a PR
>> for this.
>>
>> I'm also open to alternative suggestions (especially ones that take into
>> consideration the fact that we cannot control the current working
>> directory). If it were possible I would love if I could give an individual
>> Elixir process its own file server with its own current working directory.
>> However I'm not sure that that is possible in the BEAM. The only mentions
>> of the file server that I've been able to find in the Erlang docs are in
>> https://www.erlang.org/doc/man/file.html and the file server is only
>> referenced indirectly.
>>
>> Thanks,
>> Jason
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "elixir-lang-core" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to elixir-lang-core+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/elixir-lang-core/CAHMz6kxfAwzFE8TZzrCSOtmaGLoxZQqUqX55iS9u2S%3DU6EeB3Q%40mail.gmail.com
>> <https://groups.google.com/d/msgid/elixir-lang-core/CAHMz6kxfAwzFE8TZzrCSOtmaGLoxZQqUqX55iS9u2S%3DU6EeB3Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4%2B_iwZSAa2UvGzHn__qyP2JjGxDhCvDg1B8umUrsgR9bA%40mail.gmail.com.

Reply via email to