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]
paths = ["~/.iex.exs"]
exclude = ["~/.mix/archives/", "~/.hex/"]
secret = []
side_effect = false
[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"]