diff --git a/ext/JETExt.jl b/ext/JETExt.jl
index 52bd409..9a81774 100644
--- a/ext/JETExt.jl
+++ b/ext/JETExt.jl
diff --git a/ext/JETExt.jl b/ext/JETExt.jl
diff --git a/ext/JETExt.jl b/ext/JETExt.jl
index 52bd409..9a81774 100644
--- a/ext/JETExt.jl
+++ b/ext/JETExt.jl
@@ -37,4 +37,8 @@ function REPLSmuggler.smuggle(result::JET.JETCallResult)
end
end
+function Base.display(::REPLSmuggler.SmugglerDisplay, x::JET.JETCallResult)
+ return REPLSmuggler.smuggle(x)
+end
+
end
diff --git a/src/REPLSmuggler.jl b/src/REPLSmuggler.jl
index eb4900e..864786c 100644
--- a/src/REPLSmuggler.jl
+++ b/src/REPLSmuggler.jl
@@ -35,6 +35,10 @@ using .Protocols
include("Server.jl")
using .Server
+struct SmugglerDisplay <: Base.AbstractDisplay end
+function Base.display(::SmugglerDisplay, x::Base.ExceptionStack)
+ return smuggle(x)
+end
"""
Store the current server.
@@ -44,6 +48,7 @@ CURRENT_SMUGGLER = nothing
function smuggle(specific_smuggler, serializer)
global CURRENT_SMUGGLER
CURRENT_SMUGGLER = Smuggler(specific_smuggler, serializer, Set{Session}())
+ Base.pushdisplay(SmugglerDisplay())
serve_repl(CURRENT_SMUGGLER)
end
Adding something like this enables automatic smuggling. It doesn't work for errors though because errors doesn't go through the display system.
Perhaps still useful?
Adding something like this enables automatic smuggling. It doesn't work for errors though because errors doesn't go through the display system.
Perhaps still useful?