1 ;;; Copyright (C) 2011-2014 Rocky Bernstein <rocky@gnu.org>
2 ;;; Perl trepanning 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:trepanpl-")
14 (require-relative-list '("../../lang/perl") "realgud-lang-")
16 (realgud-track-mode-vars "realgud:trepanpl")
18 (declare-function realgud-goto-line-for-pt 'realgud-track-mode)
19 (declare-function realgud-track-mode 'realgud-track-mode)
20 (declare-function realgud-track-mode-setup 'realgud-track-mode)
21 (declare-function realgud:track-mode-hook 'realgud-track-mode)
22 (declare-function realgud:track-set-debugger 'realgud-track-mode)
23 (declare-function realgud-perl-populate-command-keys 'realgud-lang-perl)
26 (defun realgud:trepanpl-goto-syntax-error-line (pt)
27 "Display the location mentioned in a Syntax error line
30 (realgud-goto-line-for-pt pt "syntax-error"))
32 (define-key realgud:trepanpl-track-mode-map
33 (kbd "C-c !s") 'realgud:trepanpl-goto-syntax-error-line)
35 (realgud-perl-populate-command-keys realgud:trepanpl-track-mode-map)
37 (defun realgud:trepanpl-track-mode-hook()
38 (if realgud:trepanpl-track-mode
40 (use-local-map realgud:trepanpl-track-mode-map)
41 (message "using trepanpl mode map")
43 (message "trepan.pl track-mode-hook disable called"))
46 (define-minor-mode realgud:trepanpl-track-mode
47 "Minor mode for tracking trepan.pl source locations inside a
48 process shell via realgud. trepan.pl is a Perl debugger see URL
49 `https://metacpan.org/pod/Devel::Trepan'.
51 If called interactively with no prefix argument, the mode is
52 toggled. A prefix argument, captured as ARG, enables the mode if
53 the argument is positive, and disables it otherwise.
56 ;; :lighter " trepanpl" ;; mode-line indicator from realgud-track is sufficient.
57 ;; The minor mode bindings.
59 :group 'realgud:trepanpl
60 :keymap realgud:trepanpl-track-mode-map
62 (realgud:track-set-debugger "trepan.pl")
63 (if realgud:trepanpl-track-mode
65 (realgud-track-mode-setup 't)
66 (realgud:trepanpl-track-mode-hook))
68 (setq realgud-track-mode nil)
72 (define-key realgud:trepanpl-short-key-mode-map "T" 'realgud:cmd-backtrace)
74 (provide-me "realgud:trepanpl-")