41 lines
1.2 KiB
EmacsLisp
41 lines
1.2 KiB
EmacsLisp
|
|
(defvar *quicklisp-url*
|
||
|
|
"http://beta.quicklisp.org/quicklisp.lisp")
|
||
|
|
|
||
|
|
(defvar *quicklisp-dir* "~/quicklisp")
|
||
|
|
|
||
|
|
(defvar *quicklisp-file* "quicklisp.lisp")
|
||
|
|
|
||
|
|
(defvar *slime-helper*
|
||
|
|
(expand-file-name (concat *quicklisp-dir*
|
||
|
|
"/slime-helper.el")))
|
||
|
|
|
||
|
|
(setq inferior-lisp-program "sbcl")
|
||
|
|
|
||
|
|
(defun guide-install-quicklisp ()
|
||
|
|
(message "You can install quicklisp with following steps")
|
||
|
|
(message "mkdir -p ~/quicklisp")
|
||
|
|
(message "cd ~/quicklisp")
|
||
|
|
(message "curl -O %s" *quicklisp-url*)
|
||
|
|
(message "%s --load quicklisp.lisp"
|
||
|
|
inferior-lisp-program)
|
||
|
|
(message "running following list of under LISP session")
|
||
|
|
(message "(quicklisp-quickstart:install)")
|
||
|
|
(message "(ql:update-client)")
|
||
|
|
(message "(ql:quickload \"quicklisp-slime-helper\")")
|
||
|
|
(message "(ql:add-to-init-file)")
|
||
|
|
nil)
|
||
|
|
|
||
|
|
(defun check-enable-slime ()
|
||
|
|
(let ((enabled (and (which inferior-lisp-program)
|
||
|
|
(file-exists-p *slime-helper*))))
|
||
|
|
(if enabled t
|
||
|
|
(progn (guide-install-quicklisp)
|
||
|
|
nil))))
|
||
|
|
|
||
|
|
(register-mypkg
|
||
|
|
(list :name "slime"
|
||
|
|
:enabled (check-enable-slime)
|
||
|
|
:packages '(async slime slime-annot slime-ritz)
|
||
|
|
:idle-conf #'(lambda ()
|
||
|
|
(load *slime-helper*))))
|