X-Git-Url: https://code.consxy.com/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fstruc.lisp;h=b3012c7c4f732eafc53eddb1543589307e3e434b;hb=35b42c73638093521b3b08c8ea31e6d8ca71146e;hp=a616ee97cbff9fd7f63118cbf8cc9c8d693e0556;hpb=e9d1b7da236295700286b7564960d84f9c5f0dbe;p=sheep diff --git a/src/main/struc.lisp b/src/main/struc.lisp index a616ee9..b3012c7 100644 --- a/src/main/struc.lisp +++ b/src/main/struc.lisp @@ -1,6 +1,7 @@ -(in-package #:docgen-struc) +; Copyright 2022 Frank Duncan (frank@consxy.com) under AGPL3. See distributed LICENSE.txt. +(in-package #:sheep-struc) -(defun fire-error (msg) (error (make-instance 'docgen:validation-failure :msg msg))) +(defun fire-error (msg) (error (make-instance 'sheep:validation-failure :msg msg))) (defun doc->ast (struc) (labels @@ -37,3 +38,17 @@ (first ast) (second ast) (cddr ast))) + +(defun ast->category-name (ast) + (case (first ast) + (:condition "condition") + (t "structure"))) + +(defun ast->short-name (ast) + (format nil "~(~A~)" (second ast))) + +(defun ast->link (ast) + (format nil "~(~A-~A~)" (first ast) (second ast))) + +(defun ast->short-desc (ast) + (third ast))