Skip to content

Instantly share code, notes, and snippets.

@notmgsk
Created January 22, 2020 04:37
Show Gist options
  • Save notmgsk/b61a7ccd5e6749c99dc6e3c6bb5fc69b to your computer and use it in GitHub Desktop.
Save notmgsk/b61a7ccd5e6749c99dc6e3c6bb5fc69b to your computer and use it in GitHub Desktop.
(defun my/slime-read-ql-system (prompt &optional system-name)
(let ((completion-ignore-case t))
(completing-read prompt (slime-bogus-completion-alist
(slime-eval
`(cl:remove-duplicates
(cl:append (ql:list-local-systems)
(cl:mapcar (cl:symbol-function 'ql-dist:name)
(ql:system-list)))
:test 'cl:string=)))
nil t system-name)))
(defun my/slime-repl-quickload (package)
(interactive (list (let* ((p (slime-current-package))
(p (and p (slime-pretty-package-name p)))
(p (and (not (equal p (slime-lisp-package))) p)))
(my/slime-read-ql-system "System: " p))))
(slime-repl-send-string (format "(ql:quickload %S)" package)))
(defslime-repl-shortcut nil
("quicklisp quickload" "ql")
(:handler 'my/slime-repl-quickload)
(:one-liner "Quickload a system"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment