2018-05-16 22:40:33 +02:00
|
|
|
;;; tools/prodigy/config.el -*- lexical-binding: t; -*-
|
2017-09-23 14:51:57 +02:00
|
|
|
|
2018-05-25 00:46:11 +02:00
|
|
|
(after! prodigy
|
2021-08-04 01:18:06 -04:00
|
|
|
(defadvice! +prodigy--add-project-property-a (fn &rest args)
|
2019-07-22 23:59:25 +02:00
|
|
|
"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)))
|
2021-08-04 01:18:06 -04:00
|
|
|
(services (apply fn args)))
|
2019-07-22 23:59:25 +02:00
|
|
|
(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))))
|
2017-09-23 14:51:57 +02:00
|
|
|
|
2018-06-03 15:46:00 +02:00
|
|
|
(define-key prodigy-mode-map "d" #'+prodigy/delete))
|
2017-09-23 14:51:57 +02:00
|
|
|
|