Function: completion-flex--make-flex-pattern

completion-flex--make-flex-pattern is a byte-compiled function defined in minibuffer.el.gz.

Signature

(completion-flex--make-flex-pattern PATTERN)

Documentation

Convert PCM-style PATTERN into PCM-style flex pattern.

This turns
    (prefix "foo" point)
into
    (prefix "f" any "o" any "o" any point)
which is at the core of flex logic. The extra any is optimized away later on.

Source Code

;; Defined in /usr/src/emacs/lisp/minibuffer.el.gz
(defun completion-flex--make-flex-pattern (pattern)
  "Convert PCM-style PATTERN into PCM-style flex pattern.

This turns
    (prefix \"foo\" point)
into
    (prefix \"f\" any \"o\" any \"o\" any point)
which is at the core of flex logic.  The extra
`any' is optimized away later on."
  (mapcan (lambda (elem)
            (if (stringp elem)
                (mapcan (lambda (char)
                          (list (string char) 'any))
                        elem)
              (list elem)))
          pattern))