-;;;; document-markup.scm -- part of generated backend documentation
+;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; source file of the GNU LilyPond music typesetter
-;;;;
-;;;; (c) 1998--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 1998--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
+;;;;
+;;;; LilyPond is free software: you can redistribute it and/or modify
+;;;; it under the terms of the GNU General Public License as published by
+;;;; the Free Software Foundation, either version 3 of the License, or
+;;;; (at your option) any later version.
+;;;;
+;;;; LilyPond is distributed in the hope that it will be useful,
+;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;;; GNU General Public License for more details.
+;;;;
+;;;; You should have received a copy of the GNU General Public License
+;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
(define (doc-markup-function-properties func)
(string-append
"\n\n@item @code{\\" c-name "} " signature-str
- "\n@findex \\" f-name "\n"
-
+ "\n@funindex \\" c-name "\n"
+ "\n@cindex \\" c-name "\n"
(if (string? doc-str)
doc-str
"")
"@end itemize\n"))))))
(define (markup-function<? a b)
- (string<? (symbol->string (procedure-name a)) (symbol->string (procedure-name b))))
+ (ly:string-ci<? (symbol->string (procedure-name a)) (symbol->string (procedure-name b))))
(define (markup-category-doc-node category)
(let* ((category-string (symbol->string category))
- (match (string-match "-" category-string))
- (category-name (string-capitalize
- (if match
- (regexp-substitute #f match 'pre " " 'post)
- category-string)))
- (markup-functions (hashq-ref markup-functions-by-category
- category)))
+ (category-name (string-capitalize (regexp-substitute/global #f
+ "-" category-string 'pre " " 'post)))
+ (markup-functions (hash-fold (lambda (markup-function dummy functions)
+ (cons markup-function functions))
+ '()
+ (hashq-ref markup-functions-by-category
+ category))))
(make <texi-node>
+ #:appendix #t
#:name category-name
#:desc ""
#:text (string-append
(sort markup-functions markup-function<?)))
"\n@end table"))))
-(define (markup-list-doc-string)
- (string-append
- "@table @asis"
- (apply string-append
- (map doc-markup-function
- (sort markup-list-function-list markup-function<?)))
- "\n@end table"))
-
(define (markup-doc-node)
(make <texi-node>
+ #:appendix #t
#:name "Text markup commands"
#:desc ""
#:text "The following commands can all be used inside @code{\\markup @{ @}}."
#:children (let* (;; when a new category is defined, update `ordered-categories'
- (ordered-categories '(font align graphic music fret-diagram other))
+ (ordered-categories '(font align graphic music instrument-specific-markup other))
(raw-categories (hash-fold (lambda (category functions categories)
(cons category categories))
(list)
raw-categories))))
(map markup-category-doc-node categories))))
-(define (markup-list-doc-node)
- (make <texi-node>
- #:name "Text markup list commands"
- #:desc ""
- #:text (string-append
- "The following commands can all be used with @code{\\markuplines}.\n"
- (markup-list-doc-string))))
+(define (markup-list-doc-string)
+ (string-append
+ "@table @asis"
+ (apply string-append
+ (map doc-markup-function
+ (sort (hash-fold (lambda (markup-list-function dummy functions)
+ (cons markup-list-function functions))
+ '()
+ markup-list-functions)
+ markup-function<?)))
+ "\n@end table"))
+
+