HEEX formatter (Phoenix.LiveView.HTMLFormatter
/ mix format
) seems to introduce an unexpected line break in the generated html. User error? A bug? ; )
This looks super-related to Formatter adds space/newline to inline elements · Issue #2237 · phoenixframework/phoenix_live_view · GitHub, but, AFAICT, the fix got merged in LiveView 0.18.2, and I am seeing the problem in 0.18.3.
Details:
Here is my repro (happy to provide a more streamline repro gist, if useful):
I want to add a comma after some text
<%= link to: ... do %>
<%= @item.content %><% end %>,
and this works great. Here is the web page (loaded in Safari, on a Mac):
Running mix format
, moves the <% end %>
element (and, therefore, the comma that follows) to its own line:
<%= link to: ... do %>
<%= @item.content %>
<% end %>,
which introduces a space before the comma:
I am not expecting a code formatter to change what the code does, only what the code looks like. Am I doing something obviously silly here, or does this look like a bug? ; )
Thank you!
PS A bit more data:
$ cat .formatter.exs
[
line_length: 120,
import_deps: [:ecto, :phoenix],
plugins: [Phoenix.LiveView.HTMLFormatter],
inputs: ["*.{heex,ex,exs}", "priv/*/seeds.exs", "{config,lib,test}/**/*.{heex,ex,exs}"],
subdirectories: ["priv/*/migrations"]
]
$ cat mix.exs | grep phoenix
{:phoenix, "~> 1.6"},
{:phoenix_ecto, "~> 4.4"},
{:phoenix_html, "~> 3.2"},
{:phoenix_live_dashboard, "~> 0.7"},
{:phoenix_live_reload, "~> 1.4", only: :dev},
{:phoenix_live_view, "~> 0.18.3"},
$ elixir --version
Erlang/OTP 25 [erts-13.1.1] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit] [dtrace]
Elixir 1.14.1 (compiled with Erlang/OTP 25)