1 ;;; Copyright (C) 2010-2011, 2014-2015 Rocky Bernstein <rocky@gnu.org>
2 ;;; Ruby "trepan8" Debugger tracking a comint buffer.
4 (eval-when-compile (require 'cl))
5 (require 'load-relative)
6 (require-relative-list '(
10 "../../common/track-mode"
13 (require-relative-list '("core" "init") "realgud:trepan8-")
14 (require-relative-list '("../../lang/ruby") "realgud-lang-")
16 (realgud-track-mode-vars "trepan8")
18 (declare-function realgud-track-mode 'realgud-track-mode)
19 (declare-function realgud-track-mode-hook 'realgud-track-mode)
20 (declare-function realgud-track-mode-setup 'realgud-track-mode)
21 (declare-function realgud:track-set-debugger 'realgud-track-mode)
22 (declare-function realgud:ruby-populate-command-keys 'realgud-lang-ruby)
24 (realgud:ruby-populate-command-keys trepan8-track-mode-map)
26 (define-key trepan8-track-mode-map
27 (kbd "C-c !!") 'realgud:ruby-goto-dollar-bang-line)
29 (defun trepan8-track-mode-hook()
30 (use-local-map trepan8-track-mode-map)
31 (message "trepan8 track-mode-hook called")
33 (define-minor-mode trepan8-track-mode
34 "Minor mode for tracking trepan8 source locations inside a process shell via realgud. trepan8 is a Ruby debugger for version 1.8.
36 If called interactively with no prefix argument, the mode is toggled. A prefix argument, captured as ARG, enables the mode if the argument is positive, and disables it otherwise.
38 \\{trepan8-track-mode-map}
41 ;; :lighter " trepan8" ;; mode-line indicator from realgud-track is sufficient.
42 ;; The minor mode bindings.
44 :group 'realgud:trepan8
45 :keymap trepan8-track-mode-map
47 (realgud:track-set-debugger "trepan8")
48 (if trepan8-track-mode
50 (realgud-track-mode 't)
51 (trepan8-track-mode-hook))
53 (realgud-track-mode nil)
57 (provide-me "realgud:trepan8-")