Last active
December 17, 2015 01:49
-
-
Save pkkm/5530952 to your computer and use it in GitHub Desktop.
Change certain minor mode names in the modeline.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; Change certain minor mode names. | |
(defvar mode-line-cleaner-minor-mode-alist | |
;; Some greek characters: ς ε ρ τ υ θ ι ο π α σ δ φ γ η ξ κ λ ζ χ ψ ω β ν μ | |
`((writegood-mode " WriteGood") | |
(auto-complete-mode " α") | |
(yas-minor-mode " γ") | |
(paredit-mode " Φ") | |
(volatile-highlights-mode " υ") | |
(undo-tree-mode "")) | |
"An alist of minor mode name abbreviations.") | |
(require 'cl-lib) | |
(defun mode-line-clean-minor-mode-alist () | |
"Substitute the abbreviated minor mode names from `mode-line-cleaner-minor-mode-alist` for the full names." | |
(cl-loop for mode-and-name in mode-line-cleaner-minor-mode-alist | |
do (lexical-let* ((mode (car mode-and-name)) | |
(new-name (cadr mode-and-name))) | |
(if (assq mode minor-mode-alist) | |
;; If there's already an entry for `mode`, modify it. | |
(setcar (cdr (assq mode minor-mode-alist)) new-name) | |
;; Otherwise, schedule its modification for when the mode is activated. | |
(add-hook (intern (concat (symbol-name mode) "-hook")) | |
(lambda () | |
(setcar (cdr (assq mode minor-mode-alist)) new-name))))))) | |
(mode-line-clean-minor-mode-alist) | |
(provide 'conf/modeline/cleaner-minor-modes) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment