Skip to content

Instantly share code, notes, and snippets.

@number23
Created August 11, 2011 17:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save number23/1140214 to your computer and use it in GitHub Desktop.
Save number23/1140214 to your computer and use it in GitHub Desktop.
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