9.2 "info.rkt" File Format
| #lang setup/infotab |
In each collection, a special module file "info.rkt" provides general information about a collection for use by various tools. For example, an "info.rkt" file specifies how to build the documentation for a collection, and it lists plug-in tools for DrRacket or commands for raco that the collection provides.
Although an "info.rkt" file contains a module declaration, the declaration has a highly constrained form. It must match the following grammar of info-module:
| info-module | = |
| |||||
| intotab-mod-path | = | setup/infotab | |||||
| | | (lib "setup/infotab.ss") | ||||||
| | | (lib "setup/infotab.rkt") | ||||||
| | | (lib "infotab.rkt" "setup") | ||||||
| | | (lib "infotab.ss" "setup") | ||||||
| decl | = | (define id info-expr) | |||||
| | | (require allowed-path) | ||||||
| info-expr | = | 'datum | |||||
| | | `datum | ||||||
| | | (info-primitive info-expr ...) | ||||||
| | | id | ||||||
| | | string | ||||||
| | | number | ||||||
| | | boolean | ||||||
| | | (string-constant identifier) | ||||||
| info-primitive | = | cons | |||||
| | | car | ||||||
| | | cdr | ||||||
| | | list | ||||||
| | | list* | ||||||
| | | reverse | ||||||
| | | append | ||||||
| | | string-append | ||||||
| | | path->string | ||||||
| | | build-path | ||||||
| | | collection-path | ||||||
| | | system-library-subpath | ||||||
| allowed-path | = | (lib "string-constant.ss" "string-constants") | |||||
| | | (lib "string-constants/string-constant.ss") | ||||||
| | | string-constants/string-constant | ||||||
| | | string-constants |
For example, the following declaration could be the "info.rkt" library of the "games" collection. It contains definitions for three info tags, name, gracket-launcher-libraries, and gracket-launcher-names.
#lang setup/infotab (define name "Games") (define gracket-launcher-libraries '("main.rkt")) (define gracket-launcher-names '("PLT Games"))
As illustrated in this example, an "info.rkt" file can use #lang notation, but only with the setup/infotab language.
See also get-info from setup/getinfo.
syntax
(require module-path)