anchor.diff:            completion-test
             completion-hypheen
             completion-file
  +          completion-strings
             completion-buffer-name
             make-completion-item
             run-completion))
  +
  +(defun fuzzy-match-p (str elt)
  +  (loop :with start := 0
  +        :for c :across str
  +        :do (let ((pos (position c elt :start start)))
  +              (if pos
  +                  (setf start pos)
  +                  (return nil)))
  +        :finally (return t)))
   
   (defun completion-test (x y)
     (and (<= (length x) (length y))
  
positive.code: 	 (push (string (aref string start)) list)
  	 (incf words)
  	 (setf end start)))))
  
  (defun logand-strings (strings)
    (let* ((str (car strings))
           (len (length str)))
      (dolist (s (cdr strings))
        (let ((res (mismatch str s :end1 len)))
          (when res
            (setq len res))))
      (subseq str 0 len)))
  
  (defun completion (name list &key (test #'search) separator key)
    (let ((strings
  
negative.code:                                   (enough-namestring path dirname))))))
        strings)))
  
  (defun completion-strings (str strings)
    (completion str strings :test #'fuzzy-match-p))
  
  (defun completion-buffer-name (str)
    (completion-strings str (mapcar #'buffer-name (buffer-list))))
  
  
  