changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / emacs/lib/slime-cape.el

changeset 648: 926d95e5fdc7
parent: ab02408636b7
author: Richard Westhaver <ellis@rwest.io>
date: Thu, 12 Sep 2024 16:48:47 -0400
permissions: -rw-r--r--
description: cli/multi and slime-cape fixes
1 ;;; slime-cape.el --- slime completion backend for cape mode -*-lexical-binding:t-*-
2 
3 ;; This mode technically just connect slime-company to Cape mode
4 ;;
5 ;; See Also:
6 ;;
7 ;; [slime-company](https://github.com/anwyn/slime-company)
8 ;; [cape](https://github.com/minad/cape)
9 
10 ;; Author: ccQpein
11 ;; URL: https://github.com/ccqpein/slime-cape
12 ;; Version: 0.1.0
13 ;; Keywords: cape, corfu, slime, lisp
14 ;; Package-Requires: ((slime-company "1.6"))
15 
16 (require 'slime)
17 (require 'slime-repl)
18 (require 'slime-company)
19 (require 'cape)
20 
21 (defvar cape-slime-backend (cape-company-to-capf #'company-slime))
22 
23 (define-slime-contrib slime-cape
24  (:authors "ccQpein")
25  (:swank-dependencies swank-arglists)
26  (:on-load
27  (dolist (h '(slime-mode-hook slime-repl-mode-hook sldb-mode-hook))
28  (add-hook h 'slime-cape-enable)))
29  (:on-unload
30  (dolist (h '(slime-mode-hook slime-repl-mode-hook sldb-mode-hook))
31  (remove-hook h 'slime-cape-enable))))
32 
33 (defun slime-cape-enable ()
34  (interactive)
35  (push cape-slime-backend completion-at-point-functions)
36  (push cape-slime-backend slime-completion-at-point-functions))
37 
38 (provide 'slime-cape)
39 ;;; slime-cape.el ends here