]> git.eshelyaron.com Git - emacs.git/commitdiff
Add rudimentary font-locking to edit-abbrevs-mode
authorStefan Kangas <stefankangas@gmail.com>
Thu, 15 Sep 2022 09:27:57 +0000 (11:27 +0200)
committerStefan Kangas <stefankangas@gmail.com>
Thu, 15 Sep 2022 09:27:57 +0000 (11:27 +0200)
* lisp/abbrev.el (abbrev-table-name): New face.
(edit-abbrevs-mode-font-lock-keywords): New defvar.
(edit-abbrevs-mode): Support font-locking.

etc/NEWS
lisp/abbrev.el

index decaff7fe6f759c2a2308a1fed20242b93a22cfd..c88af4e90cf59bd39831e1cc86b6208a9c4e52ed 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2444,6 +2444,11 @@ remote host are shown.  Alternatively, the user option
 *** 'outlineify-sticky' command is renamed to 'allout-outlinify-sticky'.
 The old name is still available as an obsolete function alias.
 
+---
+*** 'edit-abbrevs' now uses font-locking.
+The new face 'abbrev-table-name' is used to display the abbrev table
+name.
+
 \f
 * New Modes and Packages in Emacs 29.1
 
index 718938df0cb30da38f2b0977ffe978b9d9f38f4b..a4f0196a789c31b8812ab36b4e3d8f638c2d67a3 100644 (file)
@@ -1,7 +1,6 @@
 ;;; abbrev.el --- abbrev mode commands for Emacs -*- lexical-binding: t -*-
 
-;; Copyright (C) 1985-1987, 1992, 2001-2022 Free Software Foundation,
-;; Inc.
+;; Copyright (C) 1985-2022 Free Software Foundation, Inc.
 
 ;; Maintainer: emacs-devel@gnu.org
 ;; Keywords: abbrev convenience
@@ -1220,13 +1219,28 @@ SORTFUN is passed to `sort' to change the default ordering."
            (sort entries (lambda (x y)
                            (funcall sortfun (nth 2 x) (nth 2 y)))))))
 
+(defface abbrev-table-name
+  '((t :inherit font-lock-function-name-face))
+  "Face used for displaying the abbrev table name in `edit-abbrev-mode'."
+  :version "29.1")
+
+(defvar edit-abbrevs-mode-font-lock-keywords
+  `((,(rx bol "("
+          ;; lisp-mode-symbol-regexp
+          (regexp "\\(?:\\sw\\|\\s_\\|\\\\.\\)+")
+          ")" eol)
+     0 'abbrev-table-name)))
+
 ;; Keep it after define-abbrev-table, since define-derived-mode uses
 ;; define-abbrev-table.
 (define-derived-mode edit-abbrevs-mode fundamental-mode "Edit-Abbrevs"
   "Major mode for editing the list of abbrev definitions.
 This mode is for editing abbrevs in a buffer prepared by `edit-abbrevs',
 which see."
-  :interactive nil)
+  :interactive nil
+  (setq-local font-lock-defaults
+              '(edit-abbrevs-mode-font-lock-keywords nil nil ((?_ . "w"))))
+  (setq font-lock-multiline nil))
 
 (defun abbrev--possibly-save (query &optional arg)
   ;; Query mode.