21 lines
699 B
Common Lisp
21 lines
699 B
Common Lisp
(uiop:define-package ambrevar/debug
|
|
(:documentation "Progamming helpers")
|
|
(:use :common-lisp)
|
|
(:import-from #:serapeum #:export-always)
|
|
(:import-from #:cl-ppcre))
|
|
(in-package ambrevar/debug)
|
|
|
|
;; TODO: Implement SLY function instead.
|
|
;; https://github.com/joaotavora/sly/issues/362
|
|
(export-always 'trace-all)
|
|
(defun trace-all (regexp &optional (package *package*))
|
|
(let ((package (if (packagep package)
|
|
package
|
|
(uiop:ensure-package package)))
|
|
(result nil))
|
|
(do-symbols (s package)
|
|
(when (and (eq (symbol-package s) package)
|
|
(ppcre:scan regexp (string s)))
|
|
(push s result)))
|
|
(eval `(trace ,@result))))
|