summaryrefslogtreecommitdiff
path: root/lib/elixir
diff options
context:
space:
mode:
authorAndrea Leopardi <an.leopardi@gmail.com>2022-07-17 10:50:09 +0200
committerGitHub <noreply@github.com>2022-07-17 10:50:09 +0200
commit2e1381d430a957db095271a49c2807ed319c8237 (patch)
tree57de2e0b9f9ad0ca963ec6bb86b6b777a52ae9eb /lib/elixir
parentffa6bd844e35a5feb94c98ae3930f86957437267 (diff)
downloadelixir-2e1381d430a957db095271a49c2807ed319c8237.tar.gz
Add basic IEx dbg callback (#11984)
Diffstat (limited to 'lib/elixir')
-rw-r--r--lib/elixir/lib/kernel/cli.ex13
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