Files
passepartout/lisp/programming-standards.lisp
Amr Gharbeia 11383a29d4
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s
tests: fix dead test suite (export list, stale duplicates, 14/14 pass)
2026-05-05 09:36:17 -04:00

24 lines
863 B
Common Lisp

(in-package :passepartout)
(defun standards-git-clean-p (dir)
"Checks if a directory has uncommitted changes."
(let ((status (uiop:run-program (list "git" "-C" (namestring dir) "status" "--porcelain")
:output :string
:ignore-error-status t)))
(string= "" (string-trim '(#\Space #\Newline #\Tab) status))))
(defun standards-lisp-verify (code)
"Enforces Lisp structural and semantic standards using utils-lisp."
(let ((result (lisp-validate code :strict t)))
(if (eq (getf result :status) :success)
t
(error (getf result :reason)))))
(defun standards-lisp-format (code)
"Ensures Lisp code adheres to formatting standards."
(lisp-format code))
(defskill :passepartout-programming-standards
:priority 100
:trigger (lambda (ctx) (declare (ignore ctx)) nil))