X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocument-identifiers.scm;h=67e282bd862cd594beb8c26680ac25d0697021a2;hb=539c1b41a79c982da1dc6d9ff17da25fdd67fbc2;hp=736da249048bbc223512a54845aacb83757a0100;hpb=9e69cb84d6ee5b0a861cd97869b10e3bdf0c833c;p=lilypond.git diff --git a/scm/document-identifiers.scm b/scm/document-identifiers.scm index 736da24904..67e282bd86 100644 --- a/scm/document-identifiers.scm +++ b/scm/document-identifiers.scm @@ -1,12 +1,11 @@ ;; ;; document-identifiers.scm -- implement documentation ;; of identifiers from .ly file. -;; +;; ;; source file of the GNU LilyPond music typesetter -;; +;; ;; (c) 2006 Han-Wen Nienhuys -;; - +;; (use-modules (ice-9 format)) @@ -16,51 +15,54 @@ (music-func (cdr music-func-pair)) (func (ly:music-function-extract music-func)) (arg-names - (map symbol->string + (map symbol->string (cddr (cadr (procedure-source func))))) (doc (procedure-documentation func)) (sign (object-property func 'music-function-signature)) (type-names (map type-name sign)) - ;; C&P - (signature (zip arg-names arg-names type-names)) (signature-str - (string-join - (map (lambda (x) (format "@var{~a} (~a)" - (car x) - (cadr x))) - - (zip arg-names type-names))))) - + (string-join + (map (lambda (x) (format "@var{~a} (~a)" + (car x) + (cadr x))) + (zip arg-names type-names))))) (format - - "\n -@item @code{~a} - ~a\n + "@item @code{~a}~a~a @findex ~a - -~a\n\n" - - name-sym signature-str +~a +" + name-sym (if (equal? "" signature-str) "" " - ") signature-str name-sym (if doc doc "(undocumented; fixme)")))) - (define (document-object obj-pair) (cond - ((ly:music-function? (cdr obj-pair)) (document-music-function obj-pair)) + ((ly:music-function? (cdr obj-pair)) + (document-music-function obj-pair)) (else #f))) + +(define (identifierstring (car a)) + (symbol->string (car b)))) + + (define-public (identifiers-doc-string) (format "@table @asis ~a @end table " - (string-join - (filter - identity - (map - document-object - (ly:module->alist (current-module))))))) + (string-join + (filter + identity + (map + document-object + (sort + (ly:module->alist (current-module)) + identifier