KronicDeth / intellij-elixir

Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)
Other
1.83k stars 153 forks source link

when using `mix format`, it is not acknowledging the `.formatter.exs` in the project #3375

Open ivanvan93 opened 11 months ago

ivanvan93 commented 11 months ago

Describe the bug When you reformat the code with mix format via the plugin, it does not read/use the .formatter.exs that's in the project directory. Because it doesn't use the project's .formatter.exs, dependencies that also have their own formatters are also not considered.

Example of running mix format in the project

    field :something, type: non_null(:something) do
      arg :some_id, non_null(:id)
      arg :another_id, non_null(:id)

Example of running mix format outside the project (eg. having the plugin run it)

    field :something, type: non_null(:something) do
      arg(:some_id, non_null(:id))
      arg(:another_id, non_null(:id))

To Reproduce Steps to reproduce the behavior:

  1. Reformat the code as usual.
    1. ensuring that the plugin's mix format runs

Expected behavior mix format from the plugin to produce the same output as running mix format inside the project folder.

Logs Enabling the IntelliJ logs to output log levels :all and it reveals the plugin attempts to run the following.

/Users/myself/.asdf/installs/erlang/25.3/bin/erl -pa /Users/myself/.asdf/installs/erlang/25.3/lib/eunit-2.8.2/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/erl_docgen-1.4/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/public_key-1.13.3/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/erl_interface-5.3.1/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/snmp-5.13.4/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/ssl-10.9/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/observer-2.14/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/crypto-5.1.3/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/tftp-1.0.4/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/eldap-1.2.10/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/inets-8.3/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/reltool-0.9.1/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/ftp-1.1.4/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/stdlib-4.3/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/mnesia-4.21.4/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/compiler-8.2.4/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/sasl-4.2/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/common_test-1.24/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/asn1-5.0.21/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/erts-13.2/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/wx-2.2.1/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/xmerl-1.3.31/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/diameter-2.2.7/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/debugger-5.3.1/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/et-1.6.5/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/edoc-1.2/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/tools-3.5.3/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/kernel-8.5.4/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/megaco-4.4.3/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/runtime_tools-1.19/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/os_mon-2.8.1/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/ssh-4.15.3/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/syntax_tools-3.0.1/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/parsetools-2.4.1/ebin -pa /Users/myself/.asdf/installs/erlang/25.3/lib/dialyzer-5.0.5/ebin -pa /Users/myself/.asdf/installs/elixir/1.14.4/lib/logger/ebin -pa /Users/myself/.asdf/installs/elixir/1.14.4/lib/elixir/ebin -pa /Users/myself/.asdf/installs/elixir/1.14.4/lib/ex_unit/ebin -pa /Users/myself/.asdf/installs/elixir/1.14.4/lib/mix/ebin -pa /Users/myself/.asdf/installs/elixir/1.14.4/lib/eex/ebin -pa /Users/myself/.asdf/installs/elixir/1.14.4/lib/iex/ebin -noshell -s elixir start_cli -elixir ansi_enabled true -extra /Users/myself/.asdf/installs/elixir/1.14.4/bin/mix format

Desktop:

Erlang:

Elixir:

Plugin:

ivanvan93 commented 11 months ago

I've also upgraded to Elixir 1.15.6 with Erlang 26.1 and the issue still persists