]> git.eshelyaron.com Git - emacs.git/commitdiff
Rework face hints for partial-string completion styles
authorJoão Távora <joaotavora@gmail.com>
Sat, 26 Oct 2019 13:31:38 +0000 (14:31 +0100)
committerJoão Távora <joaotavora@gmail.com>
Sat, 26 Oct 2019 13:33:02 +0000 (14:33 +0100)
Don't use completions-first-difference for the 'substring', 'flex' and
'partial-completion' styles, since there can be really no reasonable
definition of a "first" difference there.

Make completions-common-part inherit from 'underline' so that it is
useful by default for all completion styles.

* lisp/minibuffer.el (completions-common-part): Adjust
description and change default value.
(completions-first-difference): Ajust docstring.
(completion-pcm--hilit-commonality): Don't use
completions-first-difference.

lisp/minibuffer.el

index b61b366a576d405f321289b966f27a18911600da..e7d081eaeb2e6287056cd68696b1586d607e587b 100644 (file)
@@ -1684,15 +1684,14 @@ See also `display-completion-list'.")
 
 (defface completions-first-difference
   '((t (:inherit bold)))
-  "Face for the first uncommon character in completions.
+  "Face for the first uncommon character in prefix completions.
 See also the face `completions-common-part'.")
 
-(defface completions-common-part '((t nil))
-  "Face for the common prefix substring in completions.
-The idea of this face is that you can use it to make the common parts
-less visible than normal, so that the differing parts are emphasized
-by contrast.
-See also the face `completions-first-difference'.")
+(defface completions-common-part '((t (:inherit underline)))
+  "Face for parts of completions matching a pattern.
+You can use it to make the common parts less visible than normal,
+so that the differing parts are emphasized by contrast.  See also
+the face `completions-first-difference'.")
 
 (defun completion-hilit-commonality (completions prefix-len &optional base-size)
   "Apply font-lock highlighting to a list of completions, COMPLETIONS.
@@ -3082,8 +3081,7 @@ latter (which has two).")
          (setq str (copy-sequence str))
          (unless (string-match re str)
            (error "Internal error: %s does not match %s" re str))
-         (let* ((pos (if point-idx (match-beginning point-idx) (match-end 0)))
-                (md (match-data))
+         (let* ((md (match-data))
                 (start (pop md))
                 (end (pop md))
                 (len (length str))
@@ -3137,10 +3135,6 @@ latter (which has two).")
            (put-text-property start end
                               'font-lock-face 'completions-common-part
                               str)
-           (if (> (length str) pos)
-               (put-text-property pos (1+ pos)
-                                  'font-lock-face 'completions-first-difference
-                                  str))
            (unless (zerop (length str))
              (put-text-property
               0 1 'completion-score