Hi José, Thanks for the response. Running Elixir is certainly necessary and your code example would solve the stdin/stdout issue.
It's not immediately clear to me, however, how to support .formatter.exs files using this approach (aside from eval-ing the file separately and passing a keyword list to format_string!(). Please let me know if I misread the docs and there is a way to do this. If not, then adding a --stdin flag to Mix formatter task would address both issues. Thanks in advance. On Sunday, October 15, 2017 at 10:15:47 AM UTC-5, Jan Fornoff wrote: > > Hi Pedro, > > Thanks for your remark, I think we're using the same setup then :-) > > Jose, would you be open to accepting such a --stdin flag into the Mix > formatter task? > > I'm sure we could find someone to get that done, if it's generally > welcome. > > Best, > Jan > > On Sun, Oct 15, 2017, 16:54 Pedro Medeiros <[email protected] > <javascript:>> wrote: > >> Hi Jan. >> >> The new version of the formatter tool already can format directly to >> stdout. Me and other vim users are already hacking our editors to format >> the code before the write. the command is *$ mix format --print* >> >> 2017-10-15 9:43 GMT-04:00 Jan Fornoff <[email protected] <javascript:>>: >> >>> Agree with Ron. It'd be a great and editor-agnostic addition to have an >>> option to utilize STDIN for quicker formatting experience on save! >>> >>> Would be willing to help if a hand is needed! >>> Best, >>> Jan >>> >>> On Friday, 13 October 2017 17:58:25 UTC+2, [email protected] wrote: >>> > Thanks for the responses. >>> > >>> > >>> > Yes, I was trying to avoid running an Elixir node to keep things as >>> simple as possible. Vim, Emacs, Sublime, VS Code, etc will each need to >>> integrate with the new code formatter. Supporting stdin/stdout via a >>> command line option would make integration simple and consistent across all >>> editors. Otherwise, each editor will need to run an Elixir node or use a >>> tmp file (to support formatting files that haven't been saved to the file >>> system yet). >>> > >>> > >>> > Thanks again for the feedback. >>> > >>> > >>> > Ron >>> > >>> > >>> > >>> > On Thursday, October 12, 2017 at 5:18:45 PM UTC-5, OvermindDL1 wrote: >>> > The atom packages I've seen for elixir run an elixir node to do syntax >>> coloring, highlighting, intellisense, and more. They should either use one >>> of those connections directly (best speed) or they could just run it on the >>> command-line. >>> > >>> > >>> > On Thursday, October 12, 2017 at 4:09:38 PM UTC-6, Allen Madsen wrote: >>> > I suspect the Atom package can't have elixir in it, which is probably >>> why he was hoping there'd be the stdin/stdout support in the mix format >>> command itself. >>> > >>> > >>> > >>> > Allen Madsen >>> > http://www.allenmadsen.com >>> > >>> > >>> > On Thu, Oct 12, 2017 at 5:42 PM, OvermindDL1 <[email protected]> >>> wrote: >>> > >>> > You can just call the formatting function directly. :-) >>> > >>> > >>> > iex(1)> Code.format_string!("blah 42") >>> >>> >>> > ["blah", "(", "", "42", "", ")"] >>> > >>> > iex(2)> Code.format_string!("blah 42") |> :erlang.iolist_to_binary() >>> >>> > "blah(42)" >>> > >>> > >>> > >>> > >>> > On Thursday, October 12, 2017 at 2:35:45 PM UTC-6, [email protected] >>> wrote: >>> > I apologize if this topic has already been covered. >>> > >>> > >>> > >>> > Have there been any discussions about adding support for >>> reading/writing via stdin/stdout to the new code formatter coming v1.6? >>> > >>> > >>> > I've release an Atom package that formats Elixir code automatically on >>> save using the new formatter. If the formatter supported stdin/stout it >>> would eliminate the need to write to a tmp file, which would greatly reduce >>> latency. >>> > >>> > >>> > I'm happy to help implement this, but wanted to see if there had been >>> any discussion already. >>> > >>> > >>> > Thanks in advance! >>> > >>> > >>> > Ron Green >>> > >>> > >>> > >>> >> > >>> > -- >>> > >>> > 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 [email protected]. >>> > >>> > To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/c7102ea4-d4fe-4a83-b0f2-07feea48f577%40googlegroups.com >>> . >>> > >>> > >>> > >>> > For more options, visit https://groups.google.com/d/optout. >>> >>> -- >>> 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 [email protected] <javascript:>. >> >> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/b2d7edb0-81be-4a75-903e-b35dfb7a3247%40googlegroups.com >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Pedro Henrique de Souza Medeiros >> ---------------------------------- >> Cel: +55 (21) 9914-86898 >> Email: [email protected] <javascript:> >> >> Beautiful is better than ugly, >> Explicit is better than implicit, >> Simple is better than complex, >> Complex is better than complicated. >> >> The Zen of Python, by Tim Peters >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "elixir-lang-core" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/elixir-lang-core/JU0a80TWFJA/unsubscribe >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/CAJbPmJNdupnHBLYx1zo8vSRpkHQVuqgfvDu11npimLP_xXKBJw%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/elixir-lang-core/CAJbPmJNdupnHBLYx1zo8vSRpkHQVuqgfvDu11npimLP_xXKBJw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/c2fdab7d-5cc9-46ba-aa8a-6039b2212523%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
