1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-04 11:00:45 -08:00

Symbol prettify in prog-mode; added to perl-mode, cfengine3-mode, and emacs-lisp-mode.

This commit is contained in:
Ted Zlatanov 2013-06-05 10:26:50 -04:00
parent 3caa391f0a
commit 3ca0d0b437
5 changed files with 133 additions and 45 deletions

View file

@ -527,6 +527,13 @@ Intended as the value of `indent-line-function'."
;; Doze path separators.
(modify-syntax-entry ?\\ "." table))
(defconst cfengine3--prettify-symbols-alist
'(("->" . ?→)
("=>" . ?⇒)
("::" . ?∷)))
(defvar cfengine3--augmented-font-lock-keywords)
;;;###autoload
(define-derived-mode cfengine3-mode prog-mode "CFE3"
"Major mode for editing CFEngine3 input.
@ -538,8 +545,18 @@ to the action header."
(cfengine-common-syntax cfengine3-mode-syntax-table)
(set (make-local-variable 'indent-line-function) #'cfengine3-indent-line)
;; Define the symbols to be prettified
(setq-local prog-prettify-symbols-alist cfengine3--prettify-symbols-alist)
;; Tell font-lock.el how to handle cfengine3 keywords..
(setq cfengine3--augmented-font-lock-keywords
(append cfengine3-font-lock-keywords
(prog-prettify-font-lock-symbols-keywords)))
(setq font-lock-defaults
'(cfengine3-font-lock-keywords nil nil nil beginning-of-defun))
'(cfengine3--augmented-font-lock-keywords
nil nil nil beginning-of-defun))
;; Use defuns as the essential syntax block.
(set (make-local-variable 'beginning-of-defun-function)