unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* making a log-reading mode
@ 2006-12-05  7:02 Matzi Kratzi
  0 siblings, 0 replies; only message in thread
From: Matzi Kratzi @ 2006-12-05  7:02 UTC (permalink / raw)



[-- Attachment #1.1: Type: text/plain, Size: 1580 bytes --]

Hi.
I am trying to make me a log reading major mode.
I want to be able to change face of text matching certain regexps. To
achieve this, I set font-lock-defaults and this works.

My problem is that I would like to be able to change what text that is to be
specially faced as I go along, i.e. identify interesting texts and add - or
subtract - them from the regexps without having to revisit the file.

Let say I usually want to highlight write, read and weblog. I use this:
(defvar log-font-lock-keywords
  '(("\\(\\write\\)"    . font-lock-function-name-face)
    ("\\(\\weblog\\)"     . font-lock-doc-face)
    ("\\(\\read\\)"      . font-lock-keyword-face)
    )
  "Keyword highlighting specification for `log-mode'.")

As I read 061205.log, I decide not to highlight "weblog" any more. How do I
disable it? Later on, I want to highlight "user" instead, now with
font-lock-comment-face. How do I do that? I do not want to close the file to
reopen it again.

Best Regards
Matzi

This is my attempt so far. It is a surprisingly small amount of code, but
then again, it does not do what I want. =)

(defvar log-font-lock-keywords
  '(("\\(\\write\\)"    . font-lock-function-name-face)
    ("\\(\\weblog\\)"     . font-lock-doc-face)
    ("\\(\\read\\)"      . font-lock-keyword-face)
    )
  "Keyword highlighting specification for `log-mode'.")

;;;###autoload
(define-derived-mode log-mode fundamental-mode "log"
  "A major mode for editing log files."
  (set (make-local-variable 'font-lock-defaults)
       '(log-font-lock-keywords))
  )

(provide 'log)
;;; log.el ends here

[-- Attachment #1.2: Type: text/html, Size: 2110 bytes --]

[-- Attachment #2: Type: text/plain, Size: 152 bytes --]

_______________________________________________
help-gnu-emacs mailing list
help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-12-05  7:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-05  7:02 making a log-reading mode Matzi Kratzi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).