tmbb
Syntax Highlighting for code in the Phoenix (= Plug) debugger
Just created a very simple library that allows you to have syntax highlighting in the Phoenix debugger. Code here: GitHub - tmbb/phoenix_with_pretty_debugger: Add syntax highlighting to the Plug debugger used by Phoenix · GitHub
PhoenixWithPrettyDebugger
Adds support for syntax highlighting in the Phoenix debugger.
To use, replace the following line in your application’s endpoint:
use Phoenix.Endpoint, otp_app: :your_app
by the this line:
use PhoenixWithPrettyDebugger.Endpoint, otp_app: :your_app
No other changes are needed.
Happy hacking with a prettier debugging experience!
The highlighter supports elixir and erlang by default (so it can even highlight code in the cowboy modules). Internaly this project uses the makeup syntax highlighting library and you can add support for other languages by importing the appropriate lexers.
Example output:
Highlighting Elixir:
Highlighting Erlang:
Is this safe?!
This library simply defines an alternative to the default Phoenix.Endpoint module which is actually API compatible. We reuse as much functionality from that module as possible and only redefine the parts we need to add our new debugger. Becuase the debugger is only used in :dev and never in :prod
Most Liked
tmbb
The debugger is part of Plug and not Phoenix. I’ve proposed to add syntax highlighting to Plug here: Syntax highlihting for the Debugger: minimum viable PR; needs cleaning by tmbb · Pull Request #763 · elixir-plug/plug · GitHub
I think that instead of adding syntax highlighting to plug debugger is rather have a way of of setting a custom debugger in the Phoenix.Endpoint module (as my last message from that PR explains).
tmbb
Can you please describe if and how it’s possible to write said debuggers and have your syntax highlighting at the same time?
You just have to duplicate the functionality in your own debugger module, of course. I’m not interested at all in exposing any part of this as public API. Just copy and paste the relevant files into your own project.










