Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
ccl-generate-completions.lisp
(let (symbols)
(do-all-symbols (sym)
(let ((package (symbol-package sym)))
(cond
((not (fboundp sym)))
((or (eql #.(find-package :cl) package)
(eql #.(find-package :cl-user) package))
(pushnew (symbol-name sym) symbols))
((eql #.(find-package :keyword) package)
(pushnew (concatenate 'string ":" (symbol-name sym)) symbols))
(package
(pushnew (concatenate 'string (package-name package)
":"
(symbol-name sym))
symbols)))))
(with-open-file (output (merge-pathnames ".ccl_completions" (user-homedir-pathname))
:direction :output :if-exists :overwrite
:if-does-not-exist :create)
(format output "~{~(~A~)~%~}" (sort symbols #'string<))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.