BREAKING CHANGE: Anyone used to realgud will find it missing as of this
commit. It's been replaced with Dape (see
https://github.com/svaante/dape).
This change was made because realgud's implementation was archaic and
over-complicated, dap-mode requires lsp-mode (and has a lot of moving
parts and points of failure), and dape is straight-forward by
comparison; to set up and use. Note that dap-mode and dap-ui is now
deprecated and will be removed in the future, but still remains behind
the +lsp flag for backwards compatibility, at least until v3.
This also adds a '<leader> d' prefix for debugger commands (except for
vanilla users, who already have dape's prefix on 'C-x C-a')
+ Fixes a shallow comparison error (eq cannot compare strings).
+ Uses the doom-store-* API rather than pull in a new dependency to
manage project-local variables.
Reworks the internals of how the debugger module stores the last-used
configuration:
- car of the configuration indicates whether it is a realgud or a
dap-based configuration.
- For dap-based debuggers, the entire dap configuration is stored, with
code copied from `dab-debug`.
- When inside a project, don't store the configuration as a buffer-local
variable, but instead as a project-local variable using
`projectile-variable`.
Fixes#2367.