Function: f--uniquify

f--uniquify is a byte-compiled function defined in f.el.

Signature

(f--uniquify PATHS)

Documentation

Helper for f-uniquify and f-uniquify-alist.

Source Code

;; Defined in ~/.emacs.d/elpa/f-20241003.1131/f.el
(defun f--uniquify (paths)
  "Helper for `f-uniquify' and `f-uniquify-alist'."
  (let* ((files-length (length paths))
         (uniq-filenames (--map (cons it (f-filename it)) paths))
         (uniq-filenames-next (-group-by 'cdr uniq-filenames)))
    (while (/= files-length (length uniq-filenames-next))
      (setq uniq-filenames-next
            (-group-by 'cdr
                       (--mapcat
                        (let ((conf-files (cdr it)))
                          (if (> (length conf-files) 1)
                              (--map (cons
                                      (car it)
                                      (concat
                                       (f-filename (s-chop-suffix (cdr it)
                                                                  (car it)))
                                       (f-path-separator) (cdr it)))
                                     conf-files)
                            conf-files))
                        uniq-filenames-next))))
    uniq-filenames-next))