[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 0e68d8d 038/215: common/regexp.el: start to DRY regexps
From: |
Rocky Bernstein |
Subject: |
[elpa] master 0e68d8d 038/215: common/regexp.el: start to DRY regexps |
Date: |
Sat, 30 Jul 2016 14:48:52 +0000 (UTC) |
branch: master
commit 0e68d8d19d0d50ec7c73b999fbc433dad62dff4a
Author: rocky <address@hidden>
Commit: rocky <address@hidden>
common/regexp.el: start to DRY regexps
lang/js.el: term escape is common to nodejs and trepanjs
---
realgud/common/regexp.el | 2 ++
realgud/debugger/nodejs/init.el | 32 +++++++++++++++-----------------
realgud/lang/js.el | 4 ++++
3 files changed, 21 insertions(+), 17 deletions(-)
diff --git a/realgud/common/regexp.el b/realgud/common/regexp.el
index bc78795..4e9fcec 100644
--- a/realgud/common/regexp.el
+++ b/realgud/common/regexp.el
@@ -35,6 +35,8 @@ output by a debugger inside a process shell"
;; call, return, exception, etc.
)
+(defconst realgud:regexp-captured-num "\\([0-9]+\\)")
+
(defvar realgud-pat-hash (make-hash-table :test 'equal)
"Hash key is the debugger name, a string. The values of a hash entry
is a realgud-loc-pat struct")
diff --git a/realgud/debugger/nodejs/init.el b/realgud/debugger/nodejs/init.el
index 979dfc1..204444f 100644
--- a/realgud/debugger/nodejs/init.el
+++ b/realgud/debugger/nodejs/init.el
@@ -33,25 +33,15 @@
backtrace, prompt, etc. The values of a hash entry is a
realgud-loc-pat struct")
-(defconst realgud:nodejs-term-escape "[[0-9]+[GKJ]"
- "Escape sequence regular expression pattern nodejs often puts in around
prompts")
-
-(defconst realgud:nodejs-frame-start-regexp "\\(?:^\\|\n\\)\\(?:#\\)")
-(defconst realgud:nodejs-frame-num-regexp "\\([0-9]+\\)")
-(defconst realgud:nodejs-frame-module-regexp "[^ \t\n]+")
-(defconst realgud:nodejs-frame-file-regexp "[^ \t\n]+")
-(defconst realgud:nodejs-frame-line-regexp realgud:nodejs-frame-num-regexp)
-(defconst realgud:nodejs-frame-column-regexp realgud:nodejs-frame-num-regexp)
-
-;; Regular expression that describes a nodejs location generally shown
;; before a command prompt.
;; For example:
;; break in /home/indutny/Code/git/indutny/myscript.js:1
(setf (gethash "loc" realgud:nodejs-pat-hash)
(make-realgud-loc-pat
:regexp (format
- "\\(?:%s\\)*break in \\([^:]+\\):\\([0-9]*\\)"
- realgud:nodejs-term-escape)
+ "\\(?:%s\\)*\\(?:break\\|exception\\) in %s:%s"
+ realgud:js-term-escape "\\([^:]+\\)"
+ realgud:regexp-captured-num)
:file-group 1
:line-group 2))
@@ -60,7 +50,7 @@ realgud-loc-pat struct")
;; debug>
(setf (gethash "prompt" realgud:nodejs-pat-hash)
(make-realgud-loc-pat
- :regexp (format "^\\(?:%s\\)*debug> " realgud:nodejs-term-escape)
+ :regexp (format "^\\(?:%s\\)*debug> " realgud:js-term-escape)
))
;; Regular expression that describes a "breakpoint set" line
@@ -84,9 +74,17 @@ realgud-loc-pat struct")
;; Removed 1 breakpoint(s).
(setf (gethash "brkpt-del" realgud:nodejs-pat-hash)
(make-realgud-loc-pat
- :regexp "^Removed \\([0-9]+\\) breakpoint(s).\n"
+ :regexp (format "^Removed %s breakpoint(s).\n"
+ realgud:regexp-captured-num)
:num 1))
+
+(defconst realgud:nodejs-frame-start-regexp "\\(?:^\\|\n\\)\\(?:#\\)")
+(defconst realgud:nodejs-frame-num-regexp realgud:regexp-captured-num)
+(defconst realgud:nodejs-frame-module-regexp "[^ \t\n]+")
+(defconst realgud:nodejs-frame-file-regexp "[^ \t\n]+")
+
+;; Regular expression that describes a nodejs location generally shown
;; Regular expression that describes a debugger "backtrace" command line.
;; For example:
;; #0 module.js:380:17
@@ -104,9 +102,9 @@ realgud-loc-pat struct")
"\\(?:" realgud:nodejs-frame-module-regexp " \\)?"
"\\(" realgud:nodejs-frame-file-regexp "\\)"
":"
- realgud:nodejs-frame-line-regexp
+ realgud:regexp-captured-num
":"
- realgud:nodejs-frame-column-regexp
+ realgud:regexp-captured-num
)
:num 1
:file-group 2
diff --git a/realgud/lang/js.el b/realgud/lang/js.el
index bb5ab38..aeb84a7 100644
--- a/realgud/lang/js.el
+++ b/realgud/lang/js.el
@@ -21,6 +21,10 @@
(require-relative-list '("../common/regexp" "../common/loc" "../common/track")
"realgud-")
+(defconst realgud:js-term-escape "[[0-9]+[GKJ]"
+ "Escape sequence regular expression pattern trepanjs often puts
+ in around prompts")
+
(declare-function realgud-goto-line-for-pt 'realgud-track)
;; Regular expression that describes a Perl Carp backtrace line.
- [elpa] master b8d8686 032/215: Squelch one of the many compiler warnings, (continued)
- [elpa] master b8d8686 032/215: Squelch one of the many compiler warnings, Rocky Bernstein, 2016/07/30
- [elpa] master 266e5df 021/215: Small error message grammar correction, Rocky Bernstein, 2016/07/30
- [elpa] master e2c3271 015/215: Minimal support for running under eshell, Rocky Bernstein, 2016/07/30
- [elpa] master 33bfa6f 033/215: Squelch one of the many compiler warnings, Rocky Bernstein, 2016/07/30
- [elpa] master 395db6d 016/215: Simplify eshell/comint/shell mode testing., Rocky Bernstein, 2016/07/30
- [elpa] master 2acb30c 031/215: Start js lang. add js backtrace regexp, Rocky Bernstein, 2016/07/30
- [elpa] master 1868152 025/215: core.el: remove duplicate command buffer creation, Rocky Bernstein, 2016/07/30
- [elpa] master b920afc 043/215: trepanjs: handle eval properly, Rocky Bernstein, 2016/07/30
- [elpa] master ea27a82 026/215: More copyright assignments to FSF, Rocky Bernstein, 2016/07/30
- [elpa] master 3d74bb5 013/215: More FSF copyright assignments., Rocky Bernstein, 2016/07/30
- [elpa] master 0e68d8d 038/215: common/regexp.el: start to DRY regexps,
Rocky Bernstein <=
- [elpa] master 03ecacd 049/215: trepanjs msg change: stop in -> call in, Rocky Bernstein, 2016/07/30
- [elpa] master 986585b 035/215: Revert "Squelch one of the many compiler warnings", Rocky Bernstein, 2016/07/30
- [elpa] master 78aba8b 044/215: DRY with respect to realgud:regexp-captured-num, Rocky Bernstein, 2016/07/30
- [elpa] master bfa52c5 046/215: caddr -> cl-caddr. Fill in %s on format., Rocky Bernstein, 2016/07/30
- [elpa] master 0a1dbc4 036/215: Remove node asci schmutz. put in lang/js.el, Rocky Bernstein, 2016/07/30
- [elpa] master 74eedc2 030/215: Start js lang. add js backtrace regexp, Rocky Bernstein, 2016/07/30
- [elpa] master 6df0f6a 051/215: trepanjs location format has changed, Rocky Bernstein, 2016/07/30
- [elpa] master bbab251 048/215: gdb: DRY captured number uses., Rocky Bernstein, 2016/07/30
- [elpa] master be999ea 054/215: trepanjs backtrace format changes next release, Rocky Bernstein, 2016/07/30
- [elpa] master 5078d4e 056/215: Doc gdb regexp more., Rocky Bernstein, 2016/07/30