Packages

Elixir-native, protocol-focused Language Server Protocol toolkit.

Current section

Files

Jump to
elixir_lsp lib elixir_lsp middleware recovery.ex
Raw

lib/elixir_lsp/middleware/recovery.ex

defmodule ElixirLsp.Middleware.Recovery do
@moduledoc """
Panic recovery middleware.
"""
def call(message, ctx, next) do
try do
next.(message, ctx)
rescue
exception ->
ctx = Map.put(ctx, :middleware_exception, {exception, __STACKTRACE__})
{message, ctx}
end
end
end