spacemacs/layers/+tools/dap/funcs.el
Ivan Yonchovski fc2d220b5e dap-layer implementation
- I had some issues related to finding the corresponding shortcuts for each of
the commands and I am looking for suggestions for improvements.

- updated the lsp-java readme since the server installation is now automatic. If
you already have jdt server installation, please run lsp-java-update-server
which will download the related dap-mode related stuff.

- Make sure that you have latest melpa versions of lsp-java, lsp-ui and dap-mode
since several issues related to the java integration were fixed lately.

- dap-mode is pretty young package and it is not extensively tested

- dap-hydra which will be used as a transient state for the breakpoints and
debugging, in general, is not synched with the shortcuts in the layer. I will sync
them once there is agreement on the shortcuts configuration. Also, I have not
updated lsp-java README.org with the corresponding shortcuts for the same
reason.

- The debug integration with the python lsp layer will be implemented in
separate PR.

- There will be few more functions that are going to be added to the dap-mode at
some point and they would require shortcuts too:
* suspend/kill thread I guess - "m d t s" "m d t k"?
* watches - "m d l w"
* exception breakpoints - I have to figure out how it will look like on emacs
  side.
* goto point "m d H"?
2018-11-25 23:03:08 +00:00

67 lines
2 KiB
EmacsLisp

;;; packages.el --- DAP mode functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;;
;; Author: Ivan Yonchovski (yyoncho@gmail.com)
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
(defun spacemacs/dap-bind-keys-for-mode (mode)
"Define key bindings for the specific MODE."
(spacemacs/declare-prefix-for-mode mode "md" "debug")
(spacemacs/declare-prefix-for-mode mode "mdd" "debuging")
(spacemacs/declare-prefix-for-mode mode "mdb" "breakpoints")
(spacemacs/declare-prefix-for-mode mode "mdw" "debug windows")
(spacemacs/declare-prefix-for-mode mode "mdS" "switch")
(spacemacs/declare-prefix-for-mode mode "mdI" "inspect")
(spacemacs/declare-prefix-for-mode mode "mde" "eval")
(spacemacs/set-leader-keys-for-major-mode mode
;; debuging/running
"ddd" #'dap-debug
"ddl" #'dap-debug-last
"ddr" #'dap-debug-recent
;; stepping
"dc" #'dap-continue
"di" #'dap-step-in
"do" #'dap-step-out
"ds" #'dap-next
"dv" #'dap-ui-inspect-thing-at-point
"dr" #'dap-restart-frame
;; transient state
"d." #'dap-hydra
;; abandon
"da" #'dap-disconnect
"dA" #'dap-delete-all-sessions
;; eval
"dee" #'dap-eval
"der" #'dap-eval-region
"det" #'dap-eval-thing-at-point
;; switching
"dSs" #'dap-switch-session
"dSt" #'dap-switch-thread
"dSf" #'dap-switch-frame
;; inspect
"dIi" #'dap-ui-inspect
"dIr" #'dap-ui-inspect-region
"dIt" #'dap-ui-inspect-thing-at-point
;; breakpoints
"dbb" #'dap-breakpoint-toggle
"dbc" #'dap-breakpoint-condition
"dbl" #'dap-breakpoint-log-message
"dbh" #'dap-breakpoint-hit-condition
"dba" #'dap-breakpoint-add
"dbd" #'dap-breakpoint-delete
"dbD" #'dap-breakpoint-delete-all
;; repl
"d'" #'dap-ui-repl
;; windows
"dwo" #'dap-go-to-output-buffer
"dwl" #'dap-ui-locals
"dws" #'dap-ui-sessions
"dwb" #'dap-ui-breakpoints))