Function: majutsu-diff--file-completion-items

majutsu-diff--file-completion-items is a natively compiled function defined in majutsu-diff.el.

Signature

(majutsu-diff--file-completion-items RANGE)

Documentation

Return full changed-path completion items for diff RANGE.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-diff.el
(defun majutsu-diff--file-completion-items (range)
  "Return full changed-path completion items for diff RANGE."
  (let* ((range
          (or range
              (mapcar (lambda (revision)
                        (concat "--revisions=" revision))
                      (or (majutsu-revisions-at-point) '("@")))))
         (seen (make-hash-table :test #'equal))
         items)
    (cl-labels ((add (path status)
                  (when (and (stringp path)
                             (not (string-empty-p path))
                             (not (gethash path seen)))
                    (puthash path t seen)
                    (push (cons path status) items))))
      (dolist (entry (majutsu-diff--query-file-metadata range nil))
        (let ((status (plist-get entry :status))
              (source (plist-get entry :source))
              (target (plist-get entry :target)))
          (add target status)
          (when (equal status "renamed")
            (add source status)))))
    (nreverse items)))