diff options
author | Andrea Leopardi <an.leopardi@gmail.com> | 2022-07-17 10:50:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-17 10:50:09 +0200 |
commit | 2e1381d430a957db095271a49c2807ed319c8237 (patch) | |
tree | 57de2e0b9f9ad0ca963ec6bb86b6b777a52ae9eb /lib/elixir | |
parent | ffa6bd844e35a5feb94c98ae3930f86957437267 (diff) | |
download | elixir-2e1381d430a957db095271a49c2807ed319c8237.tar.gz |
Add basic IEx dbg callback (#11984)
Diffstat (limited to 'lib/elixir')
-rw-r--r-- | lib/elixir/lib/kernel/cli.ex | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/elixir/lib/kernel/cli.ex b/lib/elixir/lib/kernel/cli.ex index 5c6b9b376..d3946e5d8 100644 --- a/lib/elixir/lib/kernel/cli.ex +++ b/lib/elixir/lib/kernel/cli.ex @@ -13,7 +13,8 @@ defmodule Kernel.CLI do pa: [], pz: [], verbose_compile: false, - profile: nil + profile: nil, + pry: false } @standalone_opts ["-h", "--help", "--short-version"] @@ -28,6 +29,10 @@ defmodule Kernel.CLI do System.argv(argv) System.no_halt(config.no_halt) + if config.pry do + Application.put_env(:elixir, :dbg_callback, {IEx.Pry, :dbg, []}) + end + fun = fn _ -> errors = process_commands(config) @@ -319,7 +324,7 @@ defmodule Kernel.CLI do end defp parse_argv(["+iex" | t], config) do - parse_iex(t, config) + parse_iex(t, %{config | pry: true}) end defp parse_argv(["-S", h | t], config) do @@ -408,6 +413,10 @@ defmodule Kernel.CLI do defp parse_iex(["--dot-iex", _ | t], config), do: parse_iex(t, config) defp parse_iex(["--remsh", _ | t], config), do: parse_iex(t, config) + defp parse_iex(["--no-pry" | t], config) do + {%{config | pry: false}, t} + end + defp parse_iex(["-S", h | t], config) do {%{config | commands: [{:script, h} | config.commands]}, t} end |