* riece-highlight.el (riece-highlight-server-match): New match
authorueno <ueno>
Mon, 16 Aug 2004 04:16:03 +0000 (04:16 +0000)
committerueno <ueno>
Mon, 16 Aug 2004 04:16:03 +0000 (04:16 +0000)
function for font-lock-keywords to highlight "(from XXX)" only if
'riece-server-name property is set.
(riece-dialogue-font-lock-keywords): Use it.

lisp/ChangeLog
lisp/riece-highlight.el

index e61d41b..b1738d9 100644 (file)
@@ -1,3 +1,10 @@
+2004-08-16  Daiki Ueno  <ueno@unixuser.org>
+
+       * riece-highlight.el (riece-highlight-server-match): New match
+       function for font-lock-keywords to highlight "(from XXX)" only if
+       'riece-server-name property is set.
+       (riece-dialogue-font-lock-keywords): Use it.
+
 2004-08-15  Daiki Ueno  <ueno@unixuser.org>
 
        * riece-handle.el (riece-handle-nick-message): Remove nil from
index 4aebc5f..b9dd902 100644 (file)
        ".*\\)$")
        (list 1 (intern (format "riece-dialogue-%s-face" line)) t t)))
     '(change notice wallops error info))
-   (list (list "(from [^)]+)$" 0 riece-dialogue-server-face t)))
+   '((riece-highlight-server-match 0 riece-dialogue-server-face t)))
   "Default expressions to highlight in riece-dialogue-mode."
   :type '(repeat (list string))
   :group 'riece-highlight)
 (defconst riece-highlight-description
   "Highlight IRC buffers")
 
+(defun riece-highlight-server-match (limit)
+  (let ((match-data (match-data)))
+    (if (re-search-forward "(from [^)]+)$" limit t)
+       (if (get-text-property (match-beginning 0) 'riece-server-name)
+           t
+         (store-match-data match-data)))))
+
 (defun riece-highlight-setup-dialogue ()
   (make-local-variable 'font-lock-defaults)
   (setq font-lock-defaults '(riece-dialogue-font-lock-keywords t))