src/middleware/macroexpand.lisp @ 051685b12e07
Make macroexpand less ugly on CCL
author |
Steve Losh <steve@stevelosh.com> |
date |
Sat, 09 Apr 2016 23:22:05 +0000 |
parents |
9d3d9514dbd8 |
children |
6eb527beb6b9 |
(in-package #:nrepl)
(defun pretty-string (form)
"Return a prettified string version of `form`, indented nicely."
#-ccl (format nil "~A" form)
;; CCL's format doesn't indent forms nicely
#+ccl (with-output-to-string (*standard-output*)
(pprint form)))
(define-middleware wrap-macroexpand "macroexpand" message
;; TODO: handle mangled input
(let ((form (read-from-string (fset:lookup message "form"))))
(respond message
(make-map
"status" '("done")
"macroexpand" (pretty-string (macroexpand form))
"macroexpand-1" (pretty-string (macroexpand-1 form))))))