mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-13 16:38:14 +00:00
(hi-lock-file-patterns-policy): New var.
(hi-lock-find-patterns): Use hi-lock-file-patterns-policy. (hi-lock-mode): Update docstring.
This commit is contained in:
parent
03832c9d5b
commit
c898bef77f
@ -3,7 +3,7 @@
|
||||
;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
|
||||
;; 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: David M. Koppelman, koppel@ee.lsu.edu
|
||||
;; Author: David M. Koppelman, koppel@ece.lsu.edu
|
||||
;; Keywords: faces, minor-mode, matching, display
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
@ -33,7 +33,8 @@
|
||||
;; will remove the highlighting. Any existing face can be used for
|
||||
;; highlighting and a set of appropriate faces is provided. The
|
||||
;; regexps can be written into the current buffer in a form that will
|
||||
;; be recognized the next time the corresponding file is read.
|
||||
;; be recognized the next time the corresponding file is read (when
|
||||
;; file patterns is turned on).
|
||||
;;
|
||||
;; Applications:
|
||||
;;
|
||||
@ -60,6 +61,14 @@
|
||||
;;
|
||||
;; (global-hi-lock-mode 1)
|
||||
;;
|
||||
;; To enable the use of patterns found in files (presumably placed
|
||||
;; there by hi-lock) include the following in your .emacs file:
|
||||
;;
|
||||
;; (setq hi-lock-file-patterns-policy 'ask)
|
||||
;;
|
||||
;; If you get tired of being asked each time a file is loaded replace
|
||||
;; 'ask with a function that returns t if patterns should be read.
|
||||
;;
|
||||
;; You might also want to bind the hi-lock commands to more
|
||||
;; finger-friendly sequences:
|
||||
|
||||
@ -115,6 +124,12 @@ calls."
|
||||
:type '(repeat symbol)
|
||||
:group 'hi-lock)
|
||||
|
||||
(defvar hi-lock-file-patterns-policy 'never
|
||||
"Specify when hi-lock should use patterns found in file.
|
||||
If 'ask, prompt when patterns found in buffer; if bound to a function,
|
||||
use patterns when function returns t (function is called with patterns
|
||||
as first argument); if nil or 'never or anything else, don't use file
|
||||
patterns.")
|
||||
|
||||
(defgroup hi-lock-faces nil
|
||||
"Faces for hi-lock."
|
||||
@ -196,7 +211,7 @@ calls."
|
||||
"History of regexps used for interactive fontification.")
|
||||
|
||||
(defvar hi-lock-file-patterns-prefix "Hi-lock"
|
||||
"Regexp for finding hi-lock patterns at top of file.")
|
||||
"Search target for finding hi-lock patterns at top of file.")
|
||||
|
||||
(defvar hi-lock-archaic-interface-message-used nil
|
||||
"True if user alerted that `global-hi-lock-mode' is now the global switch.
|
||||
@ -283,17 +298,22 @@ called interactively, are:
|
||||
Remove highlighting on matches of REGEXP in current buffer.
|
||||
|
||||
\\[hi-lock-write-interactive-patterns]
|
||||
Write active REGEXPs into buffer as comments (if possible). They will
|
||||
Write active REGEXPs into buffer as comments (if possible). They may
|
||||
be read the next time file is loaded or when the \\[hi-lock-find-patterns] command
|
||||
is issued. The inserted regexps are in the form of font lock keywords.
|
||||
(See `font-lock-keywords'.) They may be edited and re-loaded with \\[hi-lock-find-patterns],
|
||||
any valid `font-lock-keywords' form is acceptable.
|
||||
(See `font-lock-keywords'.) They may be edited and re-loaded with \\[hi-lock-find-patterns],
|
||||
any valid `font-lock-keywords' form is acceptable. When a file is
|
||||
loaded the patterns are read if `hi-lock-file-patterns-policy is
|
||||
'ask and the user responds y to the prompt, or if
|
||||
`hi-lock-file-patterns-policy' is bound to a function and that
|
||||
function returns t.
|
||||
|
||||
\\[hi-lock-find-patterns]
|
||||
Re-read patterns stored in buffer (in the format produced by \\[hi-lock-write-interactive-patterns]).
|
||||
|
||||
When hi-lock is started and if the mode is not excluded, the
|
||||
beginning of the buffer is searched for lines of the form:
|
||||
When hi-lock is started and if the mode is not excluded or patterns
|
||||
rejected, the beginning of the buffer is searched for lines of the
|
||||
form:
|
||||
Hi-lock: FOO
|
||||
where FOO is a list of patterns. These are added to the font lock
|
||||
keywords already present. The patterns must start before position
|
||||
@ -590,9 +610,18 @@ not suitable."
|
||||
(setq all-patterns (append (read (current-buffer)) all-patterns))
|
||||
(error (message "Invalid pattern list expression at %d"
|
||||
(line-number-at-pos)))))))
|
||||
(when hi-lock-mode (hi-lock-set-file-patterns all-patterns))
|
||||
(if (interactive-p)
|
||||
(message "Hi-lock added %d patterns." (length all-patterns))))))
|
||||
(when (and all-patterns
|
||||
hi-lock-mode
|
||||
(cond
|
||||
((eq this-command 'hi-lock-find-patterns) t)
|
||||
((functionp hi-lock-file-patterns-policy)
|
||||
(funcall hi-lock-file-patterns-policy all-patterns))
|
||||
((eq hi-lock-file-patterns-policy 'ask)
|
||||
(y-or-n-p "Add patterns from this buffer to hi-lock? "))
|
||||
(t nil)))
|
||||
(hi-lock-set-file-patterns all-patterns)
|
||||
(if (interactive-p)
|
||||
(message "Hi-lock added %d patterns." (length all-patterns)))))))
|
||||
|
||||
(defun hi-lock-font-lock-hook ()
|
||||
"Add hi-lock patterns to font-lock's."
|
||||
|
Loading…
Reference in New Issue
Block a user