(grep-highlight-matches): New defcustom.
(grep-regexp-alist): Add rule to highlight grep matches. (grep-process-setup): Set env-vars GREP_OPTIONS and GREP_COLOR.
This commit is contained in:
parent
9dc3a46a44
commit
277df08871
1 changed files with 36 additions and 0 deletions
|
@ -64,6 +64,21 @@ will be parsed and highlighted as soon as you try to move to them."
|
|||
:version "21.4"
|
||||
:group 'grep)
|
||||
|
||||
(defcustom grep-highlight-matches t
|
||||
"*Non-nil to use special markers to highlight grep matches.
|
||||
|
||||
Some grep programs are able to surround matches with special
|
||||
markers in grep output. Such markers can be used to highlight
|
||||
matches in grep mode.
|
||||
|
||||
This option sets the environment variable GREP_COLOR to specify
|
||||
markers for highlighting and GREP_OPTIONS to add the --color
|
||||
option in front of any explicit grep options before starting
|
||||
the grep."
|
||||
:type 'boolean
|
||||
:version "21.4"
|
||||
:group 'grep)
|
||||
|
||||
(defcustom grep-scroll-output nil
|
||||
"*Non-nil to scroll the *grep* buffer window as output appears.
|
||||
|
||||
|
@ -230,6 +245,23 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
|
|||
'(("^\\(.+?\\)[:( \t]+\
|
||||
\\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\
|
||||
\\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?[:) \t]" 1 (2 . 5) (4 . 6))
|
||||
("^\\(.+?\\)[:(]+\\([0-9]+\\)\\([:)]\\).*?\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\)"
|
||||
1 2
|
||||
((lambda ()
|
||||
(setq compilation-error-screen-columns nil)
|
||||
(- (match-beginning 5) (match-end 3) 8))
|
||||
.
|
||||
(lambda () (- (match-end 5) (match-end 3) 8)))
|
||||
nil nil
|
||||
(4 (list 'face nil 'invisible t 'intangible t))
|
||||
(5 (list 'face compilation-column-face))
|
||||
(6 (list 'face nil 'invisible t 'intangible t))
|
||||
;; highlight other matches on the same line
|
||||
("\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\)"
|
||||
nil nil
|
||||
(1 (list 'face nil 'invisible t 'intangible t))
|
||||
(2 (list 'face compilation-column-face) t)
|
||||
(3 (list 'face nil 'invisible t 'intangible t))))
|
||||
("^Binary file \\(.+\\) matches$" 1 nil nil 1))
|
||||
"Regexp used to match grep hits. See `compilation-error-regexp-alist'.")
|
||||
|
||||
|
@ -300,6 +332,10 @@ This variable's value takes effect when `grep-compute-defaults' is called.")
|
|||
(defun grep-process-setup ()
|
||||
"Setup compilation variables and buffer for `grep'.
|
||||
Set up `compilation-exit-message-function' and run `grep-setup-hook'."
|
||||
(when grep-highlight-matches
|
||||
;; Modify `process-environment' locally bound in `compilation-start'
|
||||
(setenv "GREP_OPTIONS" (concat (getenv "GREP_OPTIONS") " --color=always"))
|
||||
(setenv "GREP_COLOR" "01;41"))
|
||||
(set (make-local-variable 'compilation-exit-message-function)
|
||||
(lambda (status code msg)
|
||||
(if (eq status 'exit)
|
||||
|
|
Loading…
Add table
Reference in a new issue