Yea that makes way more sense. If the formatter can ignore the stuff it’s being injected in that would for sure be cool. Then the usual formatters for html etc can probably be used anyway.
> On 30 May 2020, at 16:30, Wojtek Mach <woj...@wojtekmach.pl> wrote: > > In my opinion formatting non-Elixir code is definitely out of the scope of > project. Instead of adding different backends to `mix format`, I’d do the > opposite: find a formatter that supports multiple backends and add `mix > format` as one of them. > > I thought the feature request was about formatting Elixir code _inside_ EEx > templates and just, i.e. we leave the surrounding code as is, but format the > inner Elixir code. That to me seems far more reasonable. > > Here’s a proof-of-concept for that idea: > https://gist.github.com/wojtekmach/a1c1648b8015dbb67d35b89f2e743266 > <https://gist.github.com/wojtekmach/a1c1648b8015dbb67d35b89f2e743266> > > before: > <p><%= bar( 1, 2 ) %></p> > > after: > <p><%= bar(1, 2) %></p> > > If this looks like something worth pursuing, let me know! > >> On 30 May 2020, at 16:26, Adam Lancaster <a...@a-corp.co.uk >> <mailto:a...@a-corp.co.uk>> wrote: >> >> Thanks that’s interesting context. >> >> I agree supporting every format would be a lot of work. I would also have >> mixed feelings about making the formatter extensible if it would mean a >> wealth of community owned formatters, as that would defeat some of the >> purpose of having an opinionated formatter. >> >> However I think you could make the formatter extensible in architecture, and >> allow official extensions to be built one at a time. Like a html formatter >> that works only on .html.eex files and .html.leex files would add a lot of >> value on its own, even if YAML and JSON are never supported. >> >> Best >> >> Adam >> >> >> >> >>> On 30 May 2020, at 14:48, Allen Madsen <allen.c.mad...@gmail.com >>> <mailto:allen.c.mad...@gmail.com>> wrote: >>> >>> Yea, I believe this has come up before. The problem is .eex can be embedded >>> into anything: YAML, HTML, JSON, etc. So, in order for the formatter to be >>> able to format .eex files, it would 1) have to know what the surrounding >>> data is and 2) have a formatter for that specific tool in the language. >>> >>> The first problem could be solvable by some heuristic, but could only solve >>> the problem for the types of files known. It's basically a problem with >>> infinite surface area. The second problem would mean the code base of core >>> would need to include some understanding of every surrounding format. So, >>> because of those reasons, I'd expect something like this to be rejected. >>> >>> However, if the goal were to make the formatter extensible so that >>> formatting of files other than .ex and .exs can be handled by a third party >>> plugin, that might be more applicable for inclusion into core. That would >>> require some proposed design for how such a thing might work though. >>> >>> Allen Madsen >>> http://www.allenmadsen.com <http://www.allenmadsen.com/> >>> >>> On Sat, May 30, 2020 at 8:39 AM Adam Lancaster >>> <a...@channelviewestates.co.uk <mailto:a...@channelviewestates.co.uk>> >>> wrote: >>> Hello >>> >>> It would be really great if the mix formatter could be configured to work >>> with .eex templates. Would that be a bananas amount of work? >>> >>> Best >>> >>> Adam >>> >>> -- >>> 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 >>> <mailto:elixir-lang-core+unsubscr...@googlegroups.com>. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/3c85260b-9435-42fb-9298-c7f79b3b5f7f%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/elixir-lang-core/3c85260b-9435-42fb-9298-c7f79b3b5f7f%40googlegroups.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 >>> <mailto:elixir-lang-core+unsubscr...@googlegroups.com>. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3CvELAj82crcY-6m6jdNJrXZNVQH1FgRsNQFtGV-vRZGEg%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3CvELAj82crcY-6m6jdNJrXZNVQH1FgRsNQFtGV-vRZGEg%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 >> <mailto:elixir-lang-core+unsubscr...@googlegroups.com>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/D76F1C37-1593-4FD6-B63A-982CD1B155F8%40a-corp.co.uk >> >> <https://groups.google.com/d/msgid/elixir-lang-core/D76F1C37-1593-4FD6-B63A-982CD1B155F8%40a-corp.co.uk?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 > <mailto:elixir-lang-core+unsubscr...@googlegroups.com>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/2EF38BB8-B6A9-47CB-943D-D4EC0C03E350%40wojtekmach.pl > > <https://groups.google.com/d/msgid/elixir-lang-core/2EF38BB8-B6A9-47CB-943D-D4EC0C03E350%40wojtekmach.pl?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/5A9DAD40-A299-477E-8345-99DC65ECEA76%40a-corp.co.uk.