30 lines
781 B
Scheme
30 lines
781 B
Scheme
|
|
(module syntax-browser mzscheme
|
|
(require (lib "class.ss")
|
|
"interfaces.ss"
|
|
"widget.ss")
|
|
(provide browse-syntax
|
|
browse-syntaxes
|
|
syntax-browser<%>
|
|
make-syntax-browser)
|
|
|
|
;; browse-syntax : syntax -> void
|
|
(define (browse-syntax stx)
|
|
(browse-syntaxes (list stx)))
|
|
|
|
;; browse-syntaxes : (list-of syntax) -> void
|
|
(define (browse-syntaxes stxs)
|
|
(let ((w (make-syntax-browser)))
|
|
(for-each (lambda (stx)
|
|
(send w add-syntax stx)
|
|
(send w add-separator))
|
|
stxs)))
|
|
|
|
;; make-syntax-browser : -> syntax-browser<%>
|
|
(define (make-syntax-browser)
|
|
(let* ([view (new syntax-browser-frame%)])
|
|
(send view show #t)
|
|
(send view get-widget)))
|
|
|
|
)
|