diff --git a/modules/lang/common-lisp/config.el b/modules/lang/common-lisp/config.el new file mode 100644 index 000000000..c73333eda --- /dev/null +++ b/modules/lang/common-lisp/config.el @@ -0,0 +1,20 @@ +;;; lang/common-lisp/config.el -*- lexical-binding: t; -*- + +;; `slime' +(setq slime-contribs '(slime-fancy)) +(after! slime + (setq inferior-lisp-program (executable-find "sbcl"))) + + +(def-package! slime-company + :when (featurep! :completion company) + :commands slime-company + :init + (push 'slime-company slime-contribs) + + ;; Don't override the global `company-backends'! + (defun +common-lisp|make-company-backends-local (&rest _) + (make-variable-buffer-local 'company-backends)) + (advice-add #'slime-company-maybe-enable + :before #'+common-lisp|make-company-backends-local)) + diff --git a/modules/lang/common-lisp/packages.el b/modules/lang/common-lisp/packages.el new file mode 100644 index 000000000..8c8d4b4af --- /dev/null +++ b/modules/lang/common-lisp/packages.el @@ -0,0 +1,6 @@ +;; -*- no-byte-compile: t; -*- +;;; lang/common-lisp/packages.el + +(package! slime) +(when (featurep! :completion company) + (package! slime-company)) diff --git a/modules/lang/emacs-lisp/config.el b/modules/lang/emacs-lisp/config.el index dc395d0e5..72d72feda 100644 --- a/modules/lang/emacs-lisp/config.el +++ b/modules/lang/emacs-lisp/config.el @@ -71,11 +71,6 @@ auto-compile-use-mode-line nil) -;; `slime' -(setq inferior-lisp-program "clisp") -(after! slime (require 'slime-fuzzy)) - - ;; `macrostep' (map! :after macrostep :map macrostep-keymap diff --git a/modules/lang/emacs-lisp/packages.el b/modules/lang/emacs-lisp/packages.el index 24b02c21b..cd22e35b0 100644 --- a/modules/lang/emacs-lisp/packages.el +++ b/modules/lang/emacs-lisp/packages.el @@ -5,7 +5,6 @@ (package! highlight-quoted) (package! macrostep) (package! overseer) -(package! slime) (when (featurep! :feature syntax-checker) (package! flycheck-cask))