;;; tools/prodigy/config.el -*- lexical-binding: t; -*-

(after! prodigy
  (set-evil-initial-state! 'prodigy-mode 'emacs)

  (defadvice! +prodigy--add-project-property-a (orig-fn &rest args)
    "Adds a new :project property to prodigy services, which hides the service
unless invoked from the relevant project."
    :around #'prodigy-services
    (let ((project-root (downcase (or (doom-project-root) default-directory)))
          (services (apply orig-fn args)))
      (if current-prefix-arg
          services
        (cl-remove-if-not (lambda (service)
                            (let ((project (plist-get service :project)))
                              (or (not project)
                                  (file-in-directory-p project-root project))))
                          services))))

  (define-key prodigy-mode-map "d" #'+prodigy/delete))

