Fixed.
[riece] / lisp / riece-highlight.el
index ca9baef..6b3dbb5 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)
   :type '(repeat (list string))
   :group 'riece-highlight)
 
+(unless (riece-facep 'riece-modeline-current-face)
+  (make-face 'riece-modeline-current-face
+            "Face used for displaying the current channel in modeline.")
+  (if (featurep 'xemacs)
+      (set-face-parent 'riece-modeline-current-face 'modeline))
+  (set-face-foreground 'riece-modeline-current-face
+                      (face-foreground 'riece-channel-list-current-face)))
+
 (defvar riece-highlight-enabled nil)
 
 (defconst riece-highlight-description
   "Highlight IRC buffers")
 
+(defun riece-highlight-server-match (limit)
+  (and (re-search-forward "(from [^)]+)$" limit t)
+       (get-text-property (match-beginning 0) 'riece-server-name)))
+
 (defun riece-highlight-setup-dialogue ()
   (make-local-variable 'font-lock-defaults)
   (setq font-lock-defaults '(riece-dialogue-font-lock-keywords t))
                string (replace-match "%%" nil nil string)))
        (list (format "%d:" index)
              (riece-propertize-modeline-string
-              string 'face 'riece-channel-list-current-face)))))
+              string 'face 'riece-modeline-current-face)))))
 
 (defun riece-highlight-insinuate ()
   (put 'riece-channel-mode 'font-lock-defaults