Skip to content

Commit cbe6549

Browse files
committed
Refactor: consolidate stepping commands
1 parent 68338db commit cbe6549

File tree

1 file changed

+22
-33
lines changed

1 file changed

+22
-33
lines changed

dap-mode.el

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -692,45 +692,34 @@ thread exection but the server will log message."
692692
session)
693693
(dap--resume-application session))
694694

695-
(defun dap-next ()
696-
"Debug next."
697-
(interactive)
698-
(let ((debug-session (dap--cur-active-session-or-die)))
699-
(if-let (thread-id (dap--debug-session-thread-id (dap--cur-session)))
700-
(progn
701-
(dap--send-message (dap--make-request
702-
"next"
703-
(list :threadId thread-id))
704-
(dap--resp-handler)
705-
debug-session)
706-
(dap--resume-application debug-session))
707-
(lsp--error "Currently active thread is not stopped. Use `dap-switch-thread' or select stopped thread from sessions view."))))
708-
709-
(defun dap-step-in ()
710-
"Debug step in."
711-
(interactive)
712-
(if-let (thread-id (dap--debug-session-thread-id (dap--cur-session)))
695+
(defun dap--step (cmd debug-session)
696+
"Send a request for CMD, a step command.
697+
DEBUG-SESSION is the debug session in which the stepping is to be
698+
executed."
699+
(if-let (thread-id (dap--debug-session-thread-id debug-session))
713700
(progn
714701
(dap--send-message (dap--make-request
715-
"stepIn"
702+
cmd
716703
(list :threadId thread-id))
717704
(dap--resp-handler)
718-
(dap--cur-active-session-or-die))
719-
(dap--resume-application (dap--cur-active-session-or-die)))
705+
debug-session)
706+
(dap--resume-application debug-session))
720707
(lsp--error "Currently active thread is not stopped. Use `dap-switch-thread' or select stopped thread from sessions view.")))
721708

722-
(defun dap-step-out ()
723-
"Debug step in."
724-
(interactive)
725-
(if-let (thread-id (dap--debug-session-thread-id (dap--cur-session)))
726-
(progn
727-
(dap--send-message (dap--make-request
728-
"stepOut"
729-
(list :threadId thread-id))
730-
(dap--resp-handler)
731-
(dap--cur-active-session-or-die))
732-
(dap--resume-application (dap--cur-active-session-or-die)))
733-
(lsp--error "Currently active thread is not stopped. Use `dap-switch-thread' or select stopped thread from sessions view.")))
709+
(defun dap-next (debug-session)
710+
"Step over statements."
711+
(interactive (list (dap--cur-session-or-die)))
712+
(dap--step "next" debug-session))
713+
714+
(defun dap-step-in (debug-session)
715+
"Like `dap-next', but step into function calls."
716+
(interactive (list (dap--cur-session-or-die)))
717+
(dap--step "stepIn" debug-session))
718+
719+
(defun dap-step-out (debug-session)
720+
"Debug step out."
721+
(interactive (list (dap--cur-session-or-die)))
722+
(dap--step "stepOut" debug-session))
734723

735724
(defun dap-restart-frame (debug-session frame-id)
736725
"Restarts current frame."

0 commit comments

Comments
 (0)