+1 for more tools for working with CLIs but that's definitely outside of the scope of the language itself. For more information, we have a document on the development guidelines and team: https://elixir-lang.org/development.html - Discussions about additional tooling to the ecosystem are probably better suited to ElixirForum, because a wider community will be able to jump in and participate.
On Sat, Apr 29, 2023 at 6:36 PM Zach Daniel <zachary.s.dan...@gmail.com> wrote: > You could consider using Spark :) > > https://github.com/ash-project/spark > > Its used for Ash Framework, as well as ChannelHandler: > https://felt.com/blog/pheonix-channel-routing-patterns > > On Sat, Apr 29, 2023 at 12:00 PM Brandon Gillespie <bran...@cold.org> > wrote: > >> I realize CLI tooling isn't elixir's focus, but what I'd give for a nice >> argparser! >> >> Something in-code like python's argparser would be phenomenal, which >> handles syntax and user experience for you. I think it wouldn't be hard, >> with macros: >> >> ``` >> >> defmodule MyParser do >> use ArgParser >> >> parser do >> command("d?hcp") do >> command("l?ist|ls") do >> option("--all|-a", :boolean, store: true) >> option("--mon?itor|-m", :boolean, store: true) >> end >> end >> >> command "g?enerate" do >> option("--f?orce|-f", :boolean, store: true) >> command("w?edge") do >> argument("slot", :integer, choices: [0, 1]) >> option("--r?restart|-r", :boolean, store: true) >> end >> end >> end >> ``` >> >> Then just `MyParser.parse(args)` >> >> I hear erlang's "argparse" is coming into OTP, but I haven't looked at >> it. I expect like most things erlang it's highly eldritch :D >> >> I'll add it to the end of my todo list, just after ∞ unfortunately. But >> maybe I'll get to it. >> >> Sidebar to this: >> >> I know Elixir isn't focused on CLI, and there are few if any CLI things >> out there, but I'd contend it's a chicken-and-egg thing. There aren't >> CLI things out there because it's such a PITA to do it (having just >> wrestled with escript and others trying to do this I can assure you this >> is the case). I've seriously considered wrapping my elixir thing with a >> python script, just to make it more user-friendly and manageable. >> That's... well, it says something. >> >> -Brandon >> >> -- >> 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/d969eddb-c7bf-8cf8-99ee-c4fa16a5f52e%40cold.org >> . >> > -- > 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/CAK-yb0CZzfsuxknkAz0SuvE_Lxh3V0ceEqssBkC2_hm9WbkwpQ%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAK-yb0CZzfsuxknkAz0SuvE_Lxh3V0ceEqssBkC2_hm9WbkwpQ%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. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4LvHXO5QXqDMC%2Bapzznyf9vHpzFt2wkTbGLm_uKqe5-pg%40mail.gmail.com.