emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/cape fe068552e5: cape-symbol: Add extra metadata functi


From: ELPA Syncer
Subject: [elpa] externals/cape fe068552e5: cape-symbol: Add extra metadata functions on Emacs 28
Date: Sat, 19 Nov 2022 22:57:22 -0500 (EST)

branch: externals/cape
commit fe068552e5f85a8e2476ff32555a13fa643d7b71
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    cape-symbol: Add extra metadata functions on Emacs 28
---
 cape.el | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/cape.el b/cape.el
index 81286fa849..f3bd0da5de 100644
--- a/cape.el
+++ b/cape.el
@@ -284,10 +284,19 @@ If INTERACTIVE is nil the function acts like a Capf."
 ;;;;; cape-symbol
 
 (defvar cape--symbol-properties
-  (list :annotation-function #'cape--symbol-annotation
-        :exit-function #'cape--symbol-exit
-        :company-kind #'cape--symbol-kind
-        :exclusive 'no)
+  (append
+   (list :annotation-function #'cape--symbol-annotation
+         :exit-function #'cape--symbol-exit
+         :exclusive 'no)
+   (when (>= emacs-major-version 28)
+     (autoload 'elisp--company-kind "elisp-mode")
+     (autoload 'elisp--company-doc-buffer "elisp-mode")
+     (autoload 'elisp--company-doc-string "elisp-mode")
+     (autoload 'elisp--company-location "elisp-mode")
+     (list :company-kind 'elisp--company-kind
+           :company-doc-buffer 'elisp--company-doc-buffer
+           :company-docsig 'elisp--company-doc-string
+           :company-location 'elisp--company-location)))
   "Completion extra properties for `cape-symbol'.")
 
 (defun cape--symbol-exit (name status)
@@ -301,17 +310,6 @@ STATUS is the exit status."
       (insert c))
     (insert c)))
 
-(defun cape--symbol-kind (sym)
-  "Return kind of SYM."
-  (setq sym (intern-soft sym))
-  (cond
-   ((or (macrop sym) (special-form-p sym)) 'keyword)
-   ((fboundp sym) 'function)
-   ((boundp sym) 'variable)
-   ((featurep sym) 'module)
-   ((facep sym) 'color)
-   (t 'text)))
-
 (defun cape--symbol-annotation (sym)
   "Return kind of SYM."
   (setq sym (intern-soft sym))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]