2018-05-16 22:40:33 +02:00
|
|
|
;;; tools/prodigy/autoload.el -*- lexical-binding: t; -*-
|
2017-09-23 14:51:57 +02:00
|
|
|
|
|
|
|
;;;###autoload
|
2018-05-16 22:40:33 +02:00
|
|
|
(defun +prodigy/create ()
|
2017-09-23 14:51:57 +02:00
|
|
|
"Interactively create a new prodigy service."
|
|
|
|
(interactive)
|
|
|
|
;; TODO
|
|
|
|
)
|
|
|
|
|
|
|
|
;;;###autoload
|
2018-05-16 22:40:33 +02:00
|
|
|
(defun +prodigy/delete (arg)
|
2017-09-23 14:51:57 +02:00
|
|
|
"Delete service at point. Asks for confirmation."
|
|
|
|
(interactive "P")
|
|
|
|
(prodigy-with-refresh
|
2019-06-25 21:38:16 +02:00
|
|
|
(when-let (service (prodigy-service-at-pos))
|
2017-09-23 14:51:57 +02:00
|
|
|
(let ((name (plist-get service :name)))
|
|
|
|
(cond ((or arg
|
|
|
|
(y-or-n-p (format "Delete '%s' service?" name)))
|
|
|
|
(setq prodigy-services (delete service prodigy-services))
|
|
|
|
(ignore-errors
|
|
|
|
(prodigy-goto-next-line))
|
|
|
|
(message "Successfully deleted service: %s" name))
|
|
|
|
(t
|
|
|
|
(message "Aborted")))))))
|
|
|
|
|
|
|
|
;;;###autoload
|
2018-05-16 22:40:33 +02:00
|
|
|
(defun +prodigy/cleanup ()
|
2017-09-23 14:51:57 +02:00
|
|
|
"Delete all services associated with projects that don't exist."
|
|
|
|
(interactive)
|
|
|
|
(cl-loop for service in prodigy-services
|
|
|
|
if (and (plist-member service :project)
|
|
|
|
(file-directory-p (plist-get service :project)))
|
|
|
|
collect service into services
|
|
|
|
finally do (setq prodigy-service services)))
|