-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathslime-helper.lisp
32 lines (29 loc) · 1.26 KB
/
slime-helper.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
;;;; slime-helper.lisp
(defpackage #:quicklisp-slime-helper
(:use #:cl)
(:export #:install)
(:shadowing-import-from #:alexandria
#:copy-file)
(:shadowing-import-from #:ql-dist
#:ensure-installed
#:find-system)
(:shadowing-import-from #:ql-setup
#:qmerge))
(in-package #:quicklisp-slime-helper)
(defun install ()
(let ((source (asdf:system-relative-pathname "quicklisp-slime-helper"
"slime-helper-template"
:type "el"))
(target (qmerge "slime-helper.el")))
(copy-file source target)
(ensure-installed (find-system "swank"))
(format t "~&slime-helper.el installed in ~S~%~%"
(namestring target))
(let ((enough (enough-namestring target (user-homedir-pathname))))
(unless (equal (pathname enough) target)
(setf enough (format nil "~~/~A" enough)))
(format t "To use, add this to your ~~/.emacs:~%~%")
(format t " (load (expand-file-name ~S))~%" enough)
(format t " ;; Replace \"sbcl\" with the path to your implementation~%")
(format t " (setq inferior-lisp-program \"sbcl\")~%")
(format t "~%"))))