Update.
[elisp.git] / text-counters.el
index 484bc94..e68e677 100644 (file)
 ;; Contact <francois@fleuret.org> for comments & bug reports             ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+;; This script automatigally count the number of characters and words
+;; between "----" markers. To activate it automatically when switching
+;; to text-mode, just add to your emacs.el
+;;
+;; (add-hook 'text-mode-hook 'tc/add-text-counters-in-modeline)
+
+(defface tc/modeline-face
+  '((((background light)) (:foreground "blue4"))
+    (((background dark)) (:foreground "cyan")))
+  "The face for the alarm-vc modeline message.")
+
 ;; Counts the number of words and characters between the previous and
 ;; the next line of '-' (with at least four '-' in each line)
 
 (defun tc/text-counters-string () (interactive)
   (let ((a (save-excursion
-             (and (re-search-backward "^--.*--*$" nil t)
+             (and (re-search-backward "^[#% ]*--.*--*" nil t)
                   (match-end 0))))
         (b (save-excursion
-             (and (re-search-forward "^--.*--*$" nil t)
+             (and (re-search-forward "^[#% ]*--.*--*" nil t)
                   (match-beginning 0)))))
 
     (when (and a b)
-      (format "%dw %dc " (count-words a b) (- b a))
+      (propertize (format "%dw %dc " (count-words a b) (- b a))
+                  'face 'tc/modeline-face)
       )))
 
 ;; Add the said counters into the modeline