From f421df7087bcf2e5627adf01b255be4ab01e2b1b Mon Sep 17 00:00:00 2001
From: Jessie Hildebrandt <jessieh@jessieh.net>
Date: Sun, 5 Feb 2023 00:13:09 -0500
Subject: [PATCH] Switch from SLIME to SLY for CLisp editing

---
 init.el | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/init.el b/init.el
index 0a34c85..1368a11 100644
--- a/init.el
+++ b/init.el
@@ -1296,26 +1296,30 @@ DOCSTRING is an optional form that is discarded upon expansion."
   (restclient))
 
 ;; ---------------------------------- ;;
-;; slime
+;; sly
 ;; ---------------------------------- ;;
 
-(external-package slime
+(external-package sly
   "Provides an interactive programming environment for Common Lisp."
   :custom
   (inferior-lisp-program (executable-find "sbcl") "Set SBCL as the default Common Lisp implementation")
-  :hook
-  (lisp-mode-hook . slime-mode))
-
-;; ---------------------------------- ;;
-;; slime-docker
-;; ---------------------------------- ;;
-
-(external-package slime-docker
-  "Integrates SLIME with Lisps running in Docker containers."
-  :custom
-  (slime-docker-program "sbcl" "Set SBCL as the default Common Lisp implementation in containers")
+  (sly-mrepl-prompt-formatter (lambda (package nickname &rest args)
+                                (concat nickname " ❱ ")))
   :commands
-  (slime-docker))
+  (sly)
+  :hook
+  (lisp-mode-hook . sly-mode))
+
+;; ---------------------------------- ;;
+;; sly-asdf
+;; ---------------------------------- ;;
+
+(external-package sly-asdf
+  "Adds support for editing ASDF systems within SLY."
+  :after
+  (sly)
+  :config
+  (add-to-list 'sly-contribs 'sly-asdf 'append))
 
 ;; ---------------------------------- ;;
 ;; string-inflection