Function: ibtypes::grep-msg
ibtypes::grep-msg is a byte-compiled function defined in hibtypes.el.
Signature
(ibtypes::grep-msg)
Documentation
Jump to the source line from a line-numbered grep or compilation msg.
Messages are recognized in any buffer (other than a helm completion buffer) except for grep -A<num> context lines which are matched only in grep and shell buffers.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hibtypes.el
(defib grep-msg ()
"Jump to the source line from a line-numbered grep or compilation msg.
Messages are recognized in any buffer (other than a helm completion
buffer) except for grep -A<num> context lines which are matched only
in grep and shell buffers."
;; Locate and parse grep messages found in any buffer other than a
;; helm completion buffer.
(unless (derived-mode-p 'helm-major-mode)
(save-excursion
(beginning-of-line)
(when (or
;; HyRolo stuck error
(looking-at ".*(hyrolo-grep-file): Stuck looping in \\(buffer\\) \\\\?\"\\([^\\\t\n\r\f\"'`]+\\)\\\\?\" at position \\([0-9]+\\)")
;; Emacs native compiler file lines
(looking-at "Compiling \\(\\S-+\\)\\.\\.\\.$")
(looking-at "Loading \\(\\S-+\\) (\\S-+)\\.\\.\\.$")
(looking-at "[a-zA-Z0-9]+ ([-a-zA-Z0-9]+): \\([^:\"'`]+\\):\\([0-9]+\\):")
;; Grep matches (allowing for Emacs Lisp vars with : in
;; name within the pathname), Ruby, UNIX C compiler and Introl 68HC11 C compiler errors
(looking-at "\\([^ \t\n\r\"'`]*[^ \t\n\r:\"'`0-9]\\): ?\\([1-9][0-9]*\\)[ :]")
;; Ruby tracebacks
(looking-at "[ \t]+[1-9][0-9]*: from \\([^ \t\n\r\"'`]*[^ \t\n\r:\"'`]\\):\\([1-9][0-9]*\\):in")
;; Grep matches, UNIX C compiler and Introl 68HC11 C
;; compiler errors, allowing for file names with
;; spaces followed by a null character rather than a :
(looking-at "\\([^\t\n\r\"'`]+\\)\0 ?\\([1-9][0-9]*\\)[ :]")
;; HP C compiler errors
(looking-at "[a-zA-Z0-9]+: \"\\([^\t\n\r\",]+\\)\", line \\([0-9]+\\):")
;; BSO/Tasking 68HC08 C compiler errors
(looking-at
"[a-zA-Z 0-9]+: \\([^ \t\n\r\",]+\\) line \\([0-9]+\\)[ \t]*:")
;; UNIX Shell errors
(looking-at "\\([^:\"'`]+\\): line \\([0-9]+\\): ")
;; UNIX Lint errors
(looking-at "[^:\"'`]+: \\([^ \t\n\r:]+\\): line \\([0-9]+\\):")
;; SparcWorks C compiler errors (ends with :)
;; IBM AIX xlc C compiler errors (ends with .)
(looking-at "\"\\([^\"'`]+\\)\", line \\([0-9]+\\)[:.]")
;; Introl as11 assembler errors
(looking-at " \\*+ \\([^ \t\n\r\"'`]+\\) - \\([0-9]+\\) ")
;; perl5: ... at file.c line 10
(looking-at ".+ at \\([^ \t\n\r\"'`]+\\) line +\\([0-9]+\\)")
;; Weblint
(looking-at "\\([^ \t\n\r:()\"'`]+\\)(\\([0-9]+\\)): ")
;; Microsoft JVC
;; file.java(6,1) : error J0020: Expected 'class' or 'interface'
(looking-at "^\\(\\([a-zA-Z]:\\)?[^:\( \t\n\r-]+\\)[:\(][ \t]*\\([0-9]+\\),")
;; Grep match context lines (-A<num> option)
(and (string-match "grep\\|shell" (buffer-name))
(looking-at "\\([^ \t\n\r:\"'`]+\\)-\\([1-9][0-9]*\\)-")))
(let* ((file (match-string-no-properties 1))
(line-num (or (match-string-no-properties 2) "1")))
(ibut:label-set (concat file ":" line-num)
(line-beginning-position) (line-end-position))
(hact 'hib-link-to-file-line file line-num))))))