doomemacs/modules/tools/prodigy/config.el
Henrik Lissner 06392a723f refactor: rename orig-fn arg in advice to fn
A minor tweak to our naming conventions for the first argument of an
:around advice.
2021-08-04 01:53:12 -04:00

20 lines
796 B
EmacsLisp

;;; tools/prodigy/config.el -*- lexical-binding: t; -*-
(after! prodigy
(defadvice! +prodigy--add-project-property-a (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 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))