branch: externals/marginalia
commit 624028c69b55deb3387452b9eeabe9cb963bd2a4
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>
Silence bytecode compiler warning regarding project-roots (Fix #79)
---
marginalia.el | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/marginalia.el b/marginalia.el
index e4691c2..dfe5ac5 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -239,7 +239,6 @@ determine it."
(declare-function package-desc-version "package")
(declare-function package-version-join "package")
(declare-function project-current "project")
-(declare-function project-roots "project")
(declare-function color-rgb-to-hex "color")
(declare-function color-rgb-to-hsl "color")
@@ -672,15 +671,21 @@ These annotations are skipped for remote paths."
"%b %d %H:%M"
(file-attribute-modification-time attributes)) :face
'marginalia-date)))))
+(defmacro marginalia--project-root ()
+ "Return project root."
+ (require 'project)
+ `(when-let (proj (project-current))
+ ,(if (fboundp 'project-root)
+ '(project-root proj)
+ '(car (project-roots proj)))))
+
(defun marginalia-annotate-project-file (cand)
"Annotate file CAND with its size, modification time and other attributes."
;; TODO project-find-file can be called from outside all projects in
;; which case it prompts for a project first; we don't support that
;; case yet, since there is no current project.
- (when-let ((project (project-current))
- (root (car (project-roots project)))
- (file (expand-file-name cand root)))
- (marginalia-annotate-file file)))
+ (when-let (root (marginalia--project-root))
+ (marginalia-annotate-file (expand-file-name cand root))))
(defun marginalia-classify-by-command-name ()
"Lookup category for current command."