brainlid

brainlid

What do you use to format your .html.leex and .html.eex files? I’m using VS Code and haven’t found a beautifier I’m happy with yet.

I’d also prefer not to install a Ruby gem for it to work.

Showing Posts 1 to 10

brainlid

brainlid OP

The general consensus I’ve gotten from others is that currently nothing works well and everyone is hand formatting them.

adamzapasnik

adamzapasnik

I hope it’s solid enough :sweat_smile:
I think the only major problem right now is this:

https://github.com/adamzapasnik/prettier-plugin-eex/issues/6

But it should be solved by the end of this weekend. (I have a semi working solution atm)

mindreframer

mindreframer

Nice! Thanks for providing ideas for this topic, currently there is not much alternatives.
The installation instructions are a bit involved at the moment and the amount of TODO comments is a bit scary :sweat_smile:

$ ag TODO
prettier-plugin-eex/lib/html_parser/encoder.js
47:          // TODO: added space
134:    // TODO: better error wording?

prettier-plugin-eex/lib/html_parser/decoder.js
151:          // TODO: show an example

prettier-plugin-eex/lib/html_parser/decoder/table_and_head_decoder.js
6:      // TODO: change name
34:      // TODO: change name

prettier-plugin-eex/lib/html_parser/decoder/html_body_decoder.js
56:  // TODO: validate if it's needed!

prettier-plugin-eex/lib/index.js
30:      // TODO: ADD mjml?

prettier-plugin-eex/lib/eex/formatter.js
5:// TODO: add formatting option to format multiline by urself
6:// TODO: better naming please

prettier-plugin-eex/lib/eex/tokenizer.js
55:      (html.endsWith('/>') || // TODO: FIX THIS

I need to play with it on a bigger project and see how well it copes with real world markup. Anyways, I hope you get yourself more beta-users and they will help to improve your library! :slight_smile:

ouven

ouven

Hi, I wrote and use YAB for eex/leex - Visual Studio Marketplace

Maybe you want to give it a try and send feedback. For me it works good enough.

Oh, I have missed your point, not to install a ruby gem :upside_down_face:

mindreframer

mindreframer

Nice, it worked quite OK for the couple files that I have thrown at it. It does not handle embedded markup in Liveviews, like:

  def render(assigns) do
    ~L"""
    <div class="container">
      <h3>Counter for <%= @current %> </h3>
    </div>
    """
  end

I can image that this would be tricky to support, though.

Thanks for posting it, it was completely under my radar!

cenotaph

cenotaph

thank you! I was working with intellij and just switched to vscode as this was making me mad. I don’t even have OCD :nerd_face:

praveenperera

praveenperera

Thanks for this, its pretty good but it doesn’t indent inputs_for

ex:

<%= inputs_for f, :config, fn fc -> %>
<%= label fc, :devise_secret_key, "Devise Secret Key" %>
<%= text_input fc, :devise_secret_key, phx_debounce: 600 %>
<%= error_tag fc, :devise_secret_key %>
<% end %>
praveenperera

praveenperera

So far this (prettier-plugin-eex) is the one that works the best.

I’m using it with vscode using Run on Save - Visual Studio Marketplace

  "emeraldwalk.runonsave": {
    "commands": [
      {
        "match": "\\.l?eex$",
        "cmd": "prettier --write ${file}"
      },
    ]
  },

Thank you for this

wtd423

wtd423

I followed the readme til the end and format on save started to work with just the regular Prettier extension. Unfortunately it changed every line of <% code... %> into <eext1> so don’t forget to commit your work before trying the eex plugin. :scream:

Where Next? Top

Trending in Questions Top

water
I’m aware of 2 such projects, are there others? git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New
leoschweizer
Hi, we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews