id = "elixir" name = "Elixir" homepage = "https://elixir-lang.org" description = "Elixir is a programming language designed for building scalable and maintainable applications." icon = "SimpleIcons:elixir" executables = ["elixir", "elixirc", "iex", "mix"] [dotfiles] # IEx docs (https://hexdocs.pm/iex/IEx.html), "The .iex.exs file": "When # starting, IEx looks for a configured path, then for a local .iex.exs file # (located in the current working directory), then for a global .iex.exs file # located inside the directory pointed by the IEX_HOME environment variable # (which defaults to ~)". The local one belongs to a project, so the user-level # file is ~/.iex.exs. paths = ["~/.iex.exs"] # Installed Mix archives and Hex's own directory: downloaded artefacts plus # ~/.hex/hex.config, which carries the Hex API key. Neither is Elixir's config. exclude = ["~/.mix/archives/", "~/.hex/"] secret = [] # Evaluated once when a shell starts; rewriting it only affects the next iex. side_effect = false # No machine_lines: .iex.exs is Elixir code — prompts, inspect options, helper # modules — and the catalog's prefix matching cannot tell an absolute path # inside an expression from the rest of the line. Left to the consumer. [commands] format = 1 label = "Run Elixir" description = "Run an Elixir script or expression. Distribution and VM flags are partly left out." quality = "ai-draft" base = "fig:elixir" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/elixir.ts" license = "MIT" [[commands.field]] id = "file" label = "Script (.exs)" type = "path" position = 0 path = { kind = "file", role = "input" } sources = ["fig"] [[commands.field]] id = "eval" label = "Evaluate expression" type = "string" option = ["--eval", "-e"] multiple = true sources = ["fig"] [[commands.field]] id = "require" label = "Require file" type = "path" option = ["-r"] path = { kind = "file", role = "input" } sources = ["fig"] [[commands.field]] id = "no_halt" label = "Keep VM running" type = "boolean" option = ["--no-halt"] sources = ["fig"] [[commands.field]] id = "app" label = "Start app" type = "string" option = ["--app"] multiple = true sources = ["fig"] [[commands.field]] id = "name" label = "Node name" type = "string" option = ["--name"] sources = ["fig"] [[commands.field]] id = "sname" label = "Short node name" type = "string" option = ["--sname"] sources = ["fig"] [[commands.field]] id = "cookie" label = "Cookie" type = "string" option = ["--cookie"] sources = ["fig"] [[commands.task]] id = "script" label = "Run script" fields = ["file", "no_halt", "require"] required = ["file"] [[commands.task]] id = "eval" label = "Evaluate" fields = ["eval"] required = ["eval"] [[commands.group]] id = "basic" label = "Basic" fields = ["file", "eval", "require", "no_halt"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["app", "name", "sname", "cookie"]