racket/collects/wxme/scheme.rkt
2011-07-02 10:37:53 -04:00

27 lines
787 B
Racket

(module scheme mzscheme
(require mzlib/class
"wxme.rkt"
"editor.rkt"
"private/readable-editor.rkt")
(provide reader
scheme-editor%)
(define scheme-editor% (class readable-editor% (super-new)))
(define reader
(new
(class editor-reader%
(inherit read-editor-snip)
(define/override (read-snip text? vers stream)
(let ([splice? (zero? (send stream read-integer "splice?"))])
(read-editor-snip text? vers stream splice? scheme-editor%)))
(define/override (generate-special editor src line col pos)
(list (if (send editor get-data)
'unquote-splicing
'unquote)
(read (send editor get-content-port))))
(super-new)))))