anchor.diff:  (defun completion-hypheen (name list &key key)
     (completion name list :test #'completion-test :separator "-" :key key))
   
  -(defun completion-file (str directory)
  +(defun completion-file (str directory &key (ignore-case *file-completion-ignore-case*))
     (setf str (expand-file-name str directory))
     (let* ((dirname (directory-namestring str))
  -         (files (mapcar #'namestring (list-directory dirname))))
  +         (files (mapcar #'namestring (list-directory dirname)))
  +         (test-fn (alexandria:rcurry #'completion-test ignore-case)))
       (let ((strings
               (loop
                 :for pathname :in (directory-files str)
  
positive.code: (in-package :lem)
  
  (export '(completion
            completion-test
            completion-hypheen
            completion-file
            completion-strings
            completion-buffer-name))
  
  (defun fuzzy-match-p (str elt)
    (loop :with start := 0
  
negative.code:               :append
                   (completion (enough-namestring str dirname)
                               files
                               :test test-fn
                               :separator "-."
                               :key #'(lambda (path)
                                        (enough-namestring path dirname))))))
  