Sorry, my mistake. I mean exactly what you wrote here:
(…) If we change the phoenix generators to include makeup as a
:devdependency, then most people will indeed have access to the improved debugger. (…)
Source: https://github.com/elixir-plug/plug/pull/763#issuecomment-502857724
Thanks! Now I can see the case …
Thanks @tmbb! If it makes your life easier, we could add a highlighter API to Plug.Debugger, where we call
highlighter_module.highlight(snippet, min_line..max_line). So your implementation has only to implement the highlighting bits. This way it is extensible but we don’t have to keep the makeup code in Plug itself. Would that help?
Source: Syntax highlihting for the Debugger: minimum viable PR; needs cleaning by tmbb · Pull Request #763 · elixir-plug/plug · GitHub
This is exactly what I had in mind …
(…) I don’t think that’s the way to go. I’d rather have a debugger module (with respective options) passed as an argument to
use Phoenix.Endpoint, ...instead of hardcodingPlug.Debugger(…)
Source: Syntax highlihting for the Debugger: minimum viable PR; needs cleaning by tmbb · Pull Request #763 · elixir-plug/plug · GitHub
and that’s your answer.
I quoted those parts as I believe there are the most interesting for other people interested in this topic.
I have only one question …
That way people could use their own debuggers (a debugger with syntax highlighting, a debugger that replays the request with different parameters, a debugger that lets you update code in place, etc). That’s what my package does, it adds a completely new debugger (which is mostly copy-pasteed from the original
Plug.Debugger) which as a feature highlight the files. I only had to define a newPhoenixWithPrettyDebugger.EndpointbecausePlug.Debuggeris hardcoded inPhoenix.Endpoint's__using__/1macro.
Source: Syntax highlihting for the Debugger: minimum viable PR; needs cleaning by tmbb · Pull Request #763 · elixir-plug/plug · GitHub
Can you please describe if and how it’s possible to write said debuggers and have your syntax highlighting at the same time? From what I can see PhoenixWithPrettyDebugger.Plug.PrettyDebugger.Highlighter module is private (@moduledoc false), so you do not exposing it’s API, right?






















