                       (nth 3 event))))
     (when (and (eq event-type 'renamed)
                (f-file-p dst-fpath)
-               (or (and (equal (f-ext src-fpath) "part")
-                        (not (equal (f-ext src-fpath) "part")))
-                   (and (equal (f-ext src-fpath) "crdownload")
-                        (not (equal (f-ext src-fpath) "crdownload")))))
+               ;; Check some.part was renamed to some.txt.
+               ;; part is one of the ignored extensions.
+               (and (-contains-p danny-ignored-extensions (f-ext src-fpath))
+                    (not (-contains-p danny-ignored-extensions (f-ext dst-fpath)))))
       dst-fpath)))
 
 (defun danny--move-file (src-fpath dst-dpath)

        (fpath (nth 2 event)))
    (when (and (eq event-type 'created)
               (f-file-p fpath)
               (not (equal (f-ext fpath) "part"))
               (not (equal (f-ext fpath) "crdownload")))
      fpath)))

(defun danny--new-downloaded-file-for-event (event)

  name
  dpath
  recursive)

(defvar danny-ignored-extensions (list "crdownload"
                                       "part")
  "List of ignored extensions (omit period).
These are typically temp files created during downloads.

For example \"crdownload\" \"part\".")

(defvar danny-destination-roots
  (list (make-danny-destination-root :name "Documents"
