;; 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