original commit: 14441264efead613c7f21ce0ec6f486bdc81dc41
This commit is contained in:
Robby Findler 2011-09-11 18:26:00 -05:00
parent b8738f7215
commit 995c2935ba

View File

@ -1,6 +1,6 @@
(module collapsed-snipclass mzscheme #lang racket/base
(require mred (require racket/gui/base
mzlib/class racket/class
"private/collapsed-snipclass-helpers.rkt") "private/collapsed-snipclass-helpers.rkt")
(provide snip-class) (provide snip-class)
@ -9,21 +9,20 @@
(class* snip% (readable-snip<%>) (class* snip% (readable-snip<%>)
(init-field left-bracket right-bracket saved-snips) (init-field left-bracket right-bracket saved-snips)
(define/public (read-special file line col pos) (define/public (read-special file line col pos)
(let ([text (make-object text%)]) (define text (make-object text%))
(for-each (for ([s (in-list saved-snips)])
(λ (s) (send text insert (send s copy) (send text insert (send s copy)
(send text last-position) (send text last-position)
(send text last-position))) (send text last-position)))
saved-snips) (datum->syntax
(datum->syntax-object
#f #f
(read (open-input-text-editor text)) (read (open-input-text-editor text))
(list file line col pos 1)))) (list file line col pos 1)))
(super-instantiate ()))) (super-new)))
(define sexp-snipclass% (make-sexp-snipclass% simple-sexp-snip%)) (define sexp-snipclass% (make-sexp-snipclass% simple-sexp-snip%))
(define snip-class (make-object sexp-snipclass%)) (define snip-class (make-object sexp-snipclass%))
(send snip-class set-classname (format "~s" '(lib "collapsed-snipclass.ss" "framework"))) (send snip-class set-classname (format "~s" '(lib "collapsed-snipclass.ss" "framework")))
(send snip-class set-version 0) (send snip-class set-version 0)
(send (get-the-snip-class-list) add snip-class)) (send (get-the-snip-class-list) add snip-class)