moved all of the framework's function documentation into the scribble/srcdoc world

svn: r9545
This commit is contained in:
Robby Findler 2008-04-30 19:18:52 +00:00
parent abf86a46a8
commit 3eb20f5a11
38 changed files with 1681 additions and 3103 deletions

View File

@ -1,74 +0,0 @@
#lang scheme/base
(provide def-fw-procs)
(require (for-label scheme/contract)
(for-label framework/framework))
(require "private/framework-exports.ss"
(for-syntax scheme/base)
scribble/decode
scribble/manual)
(define-syntax (fw-doc-form stx)
(syntax-case stx (-> ->*)
[(_ id (-> a ... b) (arg ...) (docs ...))
#'(defproc (id (arg a) ...)
b
docs ...)]
[(_ id (->* (mandatory-ctc ...) (optional-ctc ...) range)
((mandatory-arg ...) ((optional-arg default) ...))
(docs ...))
#'(defproc (id (mandatory-arg mandatory-ctc) ...
(optional-arg optional-ctc default) ...)
range
docs ...)]
[(_ id ctc () (docs ...))
#'(defthing id ctc docs ...)]
[(_ id whatever ...)
(begin
(fprintf (current-error-port) "Cannot parse docs for ~a\n" (syntax->datum #'id))
#'(defthing id any/c))]))
(define-syntax (mapdesc stx)
(syntax-case stx ()
[(_ cmd events)
#'(make-splice (list (index (symbol->string 'cmd))
(symbol->string 'cmd)
" ("
(symbol->string 'events)
" events)"))]))
(define-syntax (export/docs stx)
(syntax-case stx ()
[(_ tag docs ...)
(let ([reg (regexp (format "^~a:" (syntax->datum #'tag)))])
(with-syntax ([((id ctc argspec docs ...) ...)
(filter (λ (x)
(syntax-case x ()
[(id ctc argspec docs ...)
(regexp-match reg (format "~a" (syntax->datum #'id)))]))
(syntax->list #'(docs ...)))])
#'(begin (fw-doc-form id ctc argspec docs ...) ...)))]))
(define-syntax (conv/export/docs stx)
(define-struct faux-stx (obj vec) #:prefab)
(syntax-case stx ()
[(id tag arg)
#`(export/docs
tag
#,@(let loop ([f-stx (syntax->datum #'arg)])
(cond
[(faux-stx? f-stx)
(datum->syntax #'id
(loop (faux-stx-obj f-stx))
(faux-stx-vec f-stx))]
[(pair? f-stx) (cons (loop (car f-stx)) (loop (cdr f-stx)))]
[else f-stx])))]))
(define-syntax (def-fw-procs stx)
(syntax-case stx ()
[(_ tag)
#'(framework-exports/srcloc-preserved conv/export/docs tag)]))

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -300,52 +300,6 @@ the state transitions / contracts are:
(provide/doc
(proc-doc/names
preferences:snapshot?
(-> any/c boolean?)
(arg)
@{Determines if its argument is a preferences snapshot.
See also
@scheme[preferences:get-prefs-snapshot] and
@scheme[preferences:restore-prefs-snapshot].})
(proc-doc/names
preferences:restore-prefs-snapshot
(-> preferences:snapshot? void?)
(snapshot)
@{Restores the preferences saved in @scheme[snapshot].
See also @scheme[preferences:get-prefs-snapshot].})
(proc-doc/names
preferences:get-prefs-snapshot
(-> preferences:snapshot?)
()
@{Caches all of the current values of the preferences and returns them.
See also
@scheme[preferences:restore-prefs-snapshot].})
(proc-doc/names
exn:make-unknown-preference
(string? continuation-mark-set? . -> . exn:unknown-preference?)
(message continuation-marks)
@{Creates an unknown preference exception.})
(proc-doc/names
exn:unknown-preference?
(any/c . -> . boolean?)
(exn)
@{Determines if a value is an unknown preference exn.})
(parameter-doc
preferences:low-level-put-preferences
(parameter/c (-> (listof symbol?) (listof any/c) any))
put-preference
@{This parameter's value
is called when to save preference the preferences. Its interface should
be just like mzlib's @scheme[put-preference].})
(proc-doc/names
preferences:get
(symbol? . -> . any/c)
@ -355,8 +309,8 @@ the state transitions / contracts are:
@scheme[preferences:get] returns the value for the preference
@scheme[symbol]. It raises
@index['("exn:unknown-preference")]{@scheme[exn:unknown-preference]}
@scheme[exn:unknown-preference]
if the preference's default has not been set.})
(proc-doc/names
preferences:set
(symbol? any/c . -> . void?)
@ -372,6 +326,7 @@ the state transitions / contracts are:
It raises
@index['("exn:unknown-preference")]{@scheme[exn:unknown-preference]}
if the preference's default has not been set.})
(proc-doc/names
preferences:add-callback
(->* (symbol?
@ -461,4 +416,52 @@ the state transitions / contracts are:
()
@{@scheme[(preferences:restore-defaults)]
restores the users's configuration to the
default preferences.}))
default preferences.})
(proc-doc/names
exn:make-unknown-preference
(string? continuation-mark-set? . -> . exn:unknown-preference?)
(message continuation-marks)
@{Creates an unknown preference exception.})
(proc-doc/names
exn:unknown-preference?
(any/c . -> . boolean?)
(exn)
@{Determines if a value is an unknown preference exn.})
(parameter-doc
preferences:low-level-put-preferences
(parameter/c (-> (listof symbol?) (listof any/c) any))
put-preference
@{This parameter's value
is called when to save preference the preferences. Its interface should
be just like mzlib's @scheme[put-preference].})
(proc-doc/names
preferences:snapshot?
(-> any/c boolean?)
(arg)
@{Determines if its argument is a preferences snapshot.
See also
@scheme[preferences:get-prefs-snapshot] and
@scheme[preferences:restore-prefs-snapshot].})
(proc-doc/names
preferences:restore-prefs-snapshot
(-> preferences:snapshot? void?)
(snapshot)
@{Restores the preferences saved in @scheme[snapshot].
See also @scheme[preferences:get-prefs-snapshot].})
(proc-doc/names
preferences:get-prefs-snapshot
(-> preferences:snapshot?)
()
@{Caches all of the current values of the preferences and returns them.
See also
@scheme[preferences:restore-prefs-snapshot].}))

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
#lang scheme/base
(provide mapdesc)
(require (for-syntax scheme/base)
scribble/decode
scribble/manual)
(define-syntax (mapdesc stx)
(syntax-case stx ()
[(_ cmd events)
#'(make-splice (list (index (symbol->string 'cmd))
(symbol->string 'cmd)
" ("
(symbol->string 'events)
" events)"))]))

View File

@ -20,8 +20,12 @@
(define-syntax (include-extracted stx)
(syntax-case stx ()
[(_ orig-path)
(let ([path (resolve-path-spec #'orig-path #'orig-path stx)])
[(_ orig-path) #'(include-extracted orig-path #rx"")] ;; this regexp matches everything
[(_ orig-path regexp-s)
(let ([path (resolve-path-spec #'orig-path #'orig-path stx)]
[reg (syntax-e #'regexp-s)])
(unless (regexp? reg)
(raise-syntax-error #f "expected a literal regular expression as the second argument" stx #'regexp-s))
(let ([s-exp
(parameterize ([current-namespace (make-base-namespace)]
[read-accept-reader #t])
@ -40,7 +44,13 @@
(map (lambda (c)
(syntax-case c (#%plain-app void quote-syntax provide/doc)
[(#%plain-app void (quote-syntax (provide/doc spec ...)))
(syntax->list #'(spec ...))]
(map
(λ (x) (syntax-case x () [(docs id) #'docs]))
(filter (λ (x)
(syntax-case x ()
[(stuff id)
(regexp-match reg (symbol->string (syntax-e #'id)))]))
(syntax->list #'(spec ...))))]
[_ null]))
(syntax->list #'(content ...))))]
[(req ...)

View File

@ -17,7 +17,7 @@
(syntax-case stx ()
[(_ form ...)
(let ([forms (syntax->list #'(form ...))])
(with-syntax ([((for-provide/contract for-docs) ...)
(with-syntax ([((for-provide/contract for-docs id) ...)
(map (lambda (form)
(syntax-case form ()
[(id . _)
@ -31,9 +31,10 @@
#'id))
(let* ([i (make-syntax-introducer)]
[i2 (lambda (x) (syntax-local-introduce (i x)))])
(let-values ([(p/c d req/d) ((provide/doc-transformer-proc t)
(i (syntax-local-introduce form)))])
(list (i2 p/c) (list (i2 req/d) (i2 d) (i2 (quote-syntax tag)))))))]
(let-values ([(p/c d req/d id)
((provide/doc-transformer-proc t)
(i (syntax-local-introduce form)))])
(list (i2 p/c) (list (i2 req/d) (i2 d) (i2 (quote-syntax tag))) (i2 id)))))]
[_
(raise-syntax-error
#f
@ -49,7 +50,7 @@
(syntax->list #'(for-provide/contract ...)))])
#'(begin
p/c ...
(void (quote-syntax (provide/doc for-docs ...)))))))]))
(void (quote-syntax (provide/doc (for-docs id) ...)))))))]))
(define-provide/doc-transformer proc-doc
(lambda (stx)
@ -94,7 +95,8 @@
(values
#'[id contract]
#'(defproc header result . desc)
#'(scribble/manual)))])))
#'(scribble/manual)
#'id))])))
(define-provide/doc-transformer proc-doc/names
(lambda (stx)
@ -146,7 +148,8 @@
(values
#'[id contract]
#'(defproc* header . desc)
#'(scribble/manual)))])))
#'(scribble/manual)
#'id))])))
(define-provide/doc-transformer parameter-doc
(lambda (stx)
@ -166,4 +169,5 @@
(values
#'[id (parameter/c contract)]
#'(defparam id arg-id contract . desc)
#'(scribble/manual)))])))
#'(scribble/manual)
#'id))])))

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Application}
@(require framework/framework-docs)
@(def-fw-procs application)
@(include-extracted (lib "main.ss" "framework") #rx"^application:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Autosave}
@ -14,5 +14,5 @@
}
}
@(require framework/framework-docs)
@(def-fw-procs autosave)
@(include-extracted (lib "main.ss" "framework") #rx"^autosave:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Canvas}
@ -98,5 +98,5 @@
@defclass[canvas:info% (canvas:info-mixin canvas:basic%) ()]{}
@defclass[canvas:delegate% (canvas:delegate-mixin canvas:basic%) ()]{}
@defclass[canvas:wide-snip% (canvas:wide-snip-mixin canvas:basic%) ()]{}
@(require framework/framework-docs)
@(def-fw-procs canvas)
@(include-extracted (lib "main.ss" "framework") #rx"^canvas:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Color Model}
@(require framework/framework-docs)
@(def-fw-procs color-model)
@(include-extracted (lib "main.ss" "framework") #rx"^color-model:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Color Prefs}
@(require framework/framework-docs)
@(def-fw-procs color-prefs)
@(include-extracted (lib "main.ss" "framework") #rx"^color-prefs:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Color}
@ -231,5 +231,5 @@
}
}
@defclass[color:text-mode% (color:text-mode-mixin mode:surrogate-text%) ()]{}
@(require framework/framework-docs)
@(def-fw-procs color)
@(include-extracted (lib "main.ss" "framework") #rx"^color:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Comment Box}
@ -44,5 +44,5 @@
}
}
@(require framework/framework-docs)
@(def-fw-procs comment-box)
@(include-extracted (lib "main.ss" "framework") #rx"^comment-box:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Editor}
@ -428,5 +428,5 @@
@method[frame:info<%> lock-status-changed].
}
}
@(require framework/framework-docs)
@(def-fw-procs editor)
@(include-extracted (lib "main.ss" "framework") #rx"^editor:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Exit}
@(require framework/framework-docs)
@(def-fw-procs exit)
@(include-extracted (lib "main.ss" "framework") #rx"^exit:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Finder}
@(require framework/framework-docs)
@(def-fw-procs finder)
@(include-extracted (lib "main.ss" "framework") #rx"^finder:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Frame}
@ -2380,5 +2380,5 @@
@defclass[frame:searchable% (frame:searchable-text-mixin (frame:searchable-mixin frame:text%)) ()]{}
@defclass[frame:delegate% (frame:delegate-mixin frame:searchable%) ()]{}
@defclass[frame:pasteboard% (frame:pasteboard-mixin frame:open-here%) ()]{}
@(require framework/framework-docs)
@(def-fw-procs frame)
@(include-extracted (lib "main.ss" "framework") #rx"^frame:")

View File

@ -2,17 +2,15 @@
@(require (for-label framework scheme/gui))
@(require scribble/manual)
@(defmodule framework)
@title{@bold{Framework}: PLT GUI Application Framework}
@(defmodule framework)
@bold{TODO:}
@itemize{
@item{Mode}
@item{``Cannot parse docs for handler:open-file''}
@item{Check indexing in preferences:get}
@item{Warnings in the translation process}
@item{Get rid of framework-exports.ss}
}
------------------------------------------------------------------------------------------
@ -97,7 +95,6 @@ Johnathan Franklin, Mark Krentel, Corky Cartwright, Michael
Ernst, Kennis Koldewyn, Bruce Duba, and many others for
their feedback and help.
@include-section["tmp.scrbl"]
@include-section["application.scrbl"]
@include-section["autosave.scrbl"]
@include-section["canvas.scrbl"]

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Group}
@ -120,5 +120,5 @@
}
}
@(require framework/framework-docs)
@(def-fw-procs group)
@(include-extracted (lib "main.ss" "framework") #rx"^group:")

View File

@ -3,8 +3,5 @@
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{GUI Utilities}
@(require framework/framework-docs)
@(defmodule framework/gui-utils)
@(include-extracted (lib "gui-utils.ss" "framework"))

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Handler}
@(require framework/framework-docs)
@(def-fw-procs handler)
@(include-extracted (lib "main.ss" "framework") #rx"^handler:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Icon}
@(require framework/framework-docs)
@(def-fw-procs icon)
@(include-extracted (lib "main.ss" "framework") #rx"^icon:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Keymap}
@ -41,5 +41,5 @@
}
}
@defclass[keymap:aug-keymap% (keymap:aug-keymap-mixin keymap%) ()]{}
@(require framework/framework-docs)
@(def-fw-procs keymap)
@(include-extracted (lib "main.ss" "framework") #rx"^keymap:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Main}
@(require framework/framework-docs)
@(def-fw-procs main)
@(include-extracted (lib "main.ss" "framework") #rx"^main:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Menu}
@ -44,5 +44,5 @@
@defclass[menu:can-restore-menu-item% (menu:can-restore-mixin menu-item%) ()]{}
@defclass[menu:can-restore-checkable-menu-item% (menu:can-restore-mixin checkable-menu-item%) ()]{}
@defclass[menu:can-restore-underscore-menu% (menu:can-restore-underscore-mixin menu%) ()]{}
@(require framework/framework-docs)
@(def-fw-procs menu)
@(include-extracted (lib "main.ss" "framework") #rx"^menu:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Mode}
@(require framework/framework-docs)
@(def-fw-procs mode)
@(include-extracted (lib "main.ss" "framework") #rx"^mode:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Number Snip}
@ -11,5 +11,5 @@
Constructs a number snip from its input.
}
}
@(require framework/framework-docs)
@(def-fw-procs number-snip)
@(include-extracted (lib "main.ss" "framework") #rx"^number-snip:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Panel}
@ -167,5 +167,5 @@
}
@defclass[panel:vertical-dragable% (panel:vertical-dragable-mixin (panel:dragable-mixin vertical-panel%)) ()]{}
@defclass[panel:horizontal-dragable% (panel:horizontal-dragable-mixin (panel:dragable-mixin horizontal-panel%)) ()]{}
@(require framework/framework-docs)
@(def-fw-procs panel)
@(include-extracted (lib "main.ss" "framework") #rx"^panel:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Pasteboard}
@ -10,5 +10,5 @@
@defclass[pasteboard:file% (editor:file-mixin pasteboard:keymap%) ()]{}
@defclass[pasteboard:backup-autosave% (editor:backup-autosave-mixin pasteboard:file%) ()]{}
@defclass[pasteboard:info% (editor:info-mixin pasteboard:backup-autosave%) ()]{}
@(require framework/framework-docs)
@(def-fw-procs pasteboard)
@(include-extracted (lib "main.ss" "framework") #rx"^pasteboard:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Path Utils}
@(require framework/framework-docs)
@(def-fw-procs path-utils)
@(include-extracted (lib "main.ss" "framework") #rx"^path-utils:")

View File

@ -4,7 +4,6 @@
@(require (for-label scheme/gui))
@title{Preferences, Textual}
@(require framework/framework-docs)
@(defmodule framework/preferences)
@(include-extracted (lib "preferences.ss" "framework"))

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Preferences}
@(require framework/framework-docs)
@(def-fw-procs preferences)
@(include-extracted (lib "main.ss" "framework") #rx"^preferences:")

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Scheme}
@ -269,5 +269,5 @@
}
@defclass[scheme:text% (scheme:set-mode-mixin (scheme:text-mixin (text:autocomplete-mixin (mode:host-text-mixin color:text%)))) ()]{}
@defclass[scheme:text-mode% (scheme:text-mode-mixin color:text-mode%) ()]{}
@(require framework/framework-docs)
@(def-fw-procs scheme)
@(include-extracted (lib "main.ss" "framework") #rx"^scheme:")

View File

@ -4,7 +4,6 @@
@(require (for-label scheme/gui))
@title{Test}
@(require framework/framework-docs)
@(defmodule framework/test)
The framework provides several new primitive functions that simulate
@ -114,5 +113,4 @@ actual mouse.
@section{Test Functions}
@(def-fw-procs test)
@(include-extracted (lib "test.ss" "framework"))

View File

@ -1,5 +1,5 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Text}
@ -946,5 +946,5 @@
@defclass[text:backup-autosave% (editor:backup-autosave-mixin text:clever-file-format%) ()]{}
@defclass[text:searching% (text:searching-mixin text:backup-autosave%) ()]{}
@defclass[text:info% (text:info-mixin (editor:info-mixin text:searching%)) ()]{}
@(require framework/framework-docs)
@(def-fw-procs text)
@(include-extracted (lib "main.ss" "framework") #rx"^text:")

View File

@ -1,8 +1,8 @@
#lang scribble/doc
@(require scribble/manual)
@(require scribble/manual scribble/extract)
@(require (for-label framework))
@(require (for-label scheme/gui))
@title{Version}
@(require framework/framework-docs)
@(def-fw-procs version)
@(include-extracted (lib "main.ss" "framework") #rx"^version:")