]> code.delx.au - gnu-emacs-elpa/blob - packages/realgud/realgud/debugger/trepan8/track-mode.el
93e057cd1acd30ae71ac90360d1b5290b3b19baf
[gnu-emacs-elpa] / packages / realgud / realgud / debugger / trepan8 / track-mode.el
1 ;;; Copyright (C) 2010-2011, 2014-2015 Rocky Bernstein <rocky@gnu.org>
2 ;;; Ruby "trepan8" Debugger tracking a comint buffer.
3
4 (eval-when-compile (require 'cl))
5 (require 'load-relative)
6 (require-relative-list '(
7 "../../common/cmds"
8 "../../common/menu"
9 "../../common/track"
10 "../../common/track-mode"
11 )
12 "realgud-")
13 (require-relative-list '("core" "init") "realgud:trepan8-")
14 (require-relative-list '("../../lang/ruby") "realgud-lang-")
15
16 (realgud-track-mode-vars "trepan8")
17
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)
23
24 (realgud:ruby-populate-command-keys trepan8-track-mode-map)
25
26 (define-key trepan8-track-mode-map
27 (kbd "C-c !!") 'realgud:ruby-goto-dollar-bang-line)
28
29 (defun trepan8-track-mode-hook()
30 (use-local-map trepan8-track-mode-map)
31 (message "trepan8 track-mode-hook called")
32 )
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.
35
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.
37
38 \\{trepan8-track-mode-map}
39 "
40 :init-value nil
41 ;; :lighter " trepan8" ;; mode-line indicator from realgud-track is sufficient.
42 ;; The minor mode bindings.
43 :global nil
44 :group 'realgud:trepan8
45 :keymap trepan8-track-mode-map
46
47 (realgud:track-set-debugger "trepan8")
48 (if trepan8-track-mode
49 (progn
50 (realgud-track-mode 't)
51 (trepan8-track-mode-hook))
52 (progn
53 (realgud-track-mode nil)
54 ))
55 )
56
57 (provide-me "realgud:trepan8-")