diff --git a/modules/lang/org/autoload/org-link.el b/modules/lang/org/autoload/org-link.el index a486c21da..d5ed8aed1 100644 --- a/modules/lang/org/autoload/org-link.el +++ b/modules/lang/org/autoload/org-link.el @@ -230,6 +230,25 @@ exist, and `org-link' otherwise." "TODO" (doom/describe-package (intern-soft pkg))) +;;;###autoload +(defun +org-link--doom-executable-link-activate-fn (start end executable _bracketed-p) + (when buffer-read-only + (let ((found (executable-find executable))) + (add-text-properties + start end + (list 'display + (concat + (propertize + "" + 'rear-nonsticky t + 'display '(raise -0.02) + 'face (list :family "all-the-icons" + :height 1.0 + :inherit (if found 'success 'error))) + " " + (propertize + executable + 'face (if found 'org-verbatim 'default)))))))) ;; ;;; Image data functions (for custom inline images) diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 208cb6e06..b644f2be3 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -586,6 +586,11 @@ relative to `org-directory', unless it is an absolute path." :activate-func #'+org-link--doom-module-link-activate-fn :face #'+org-link--doom-module-link-face-fn :eldoc (-eldoc-fn "Doom module" 'org-priority)) + (org-link-set-parameters + "doom-executable" + :activate-func #'+org-link--doom-executable-link-activate-fn + ;; :help-echo #'doom-docs--help-echo-from-textprop + :face 'org-verbatim) (org-link-set-parameters "doom-ref" :follow (lambda (link)