adjust the syntax coloring so that number-snip% instances

are allowed to pass through the filter (as they are trusted code)

related to racket/racket#1507
This commit is contained in:
Robby Findler 2016-11-04 11:19:57 -05:00
parent 6c78cd266a
commit b52a41da23
3 changed files with 12 additions and 4 deletions

View File

@ -27,7 +27,8 @@ added get-regions
[prefix mode: framework:mode^]
[prefix text: framework:text^]
[prefix color-prefs: framework:color-prefs^]
[prefix racket: framework:racket^])
[prefix racket: framework:racket^]
[prefix number-snip: framework:number-snip/int^])
(export (rename framework:color^
(-text<%> text<%>)
@ -337,7 +338,11 @@ added get-regions
(open-input-text-editor this
(lexer-state-current-pos ls)
(lexer-state-end-pos ls)
(λ (x) #f)))
(λ (x)
(cond
[(number-snip:is-number-snip? x)
x]
[else #f]))))
(port-count-lines! in)
(continue-re-tokenize start-time ok-to-stop? ls in
(lexer-state-current-pos ls)

View File

@ -8,7 +8,7 @@
file/convertible)
(import mred^)
(export (rename framework:number-snip^
(export (rename framework:number-snip/int^
[-snip-class% snip-class%]))
(init-depend mred^)
@ -91,7 +91,8 @@
[(text)
(send number-snip get-text 0 1)]
[else default]))])))
(define (is-number-snip? x) (is-a? x number-snip%))
(define number-snip%
(class* snip% (readable-snip<%> number-snip-convertible<%>)
;; number : number

View File

@ -10,6 +10,8 @@
(define-signature number-snip^ extends number-snip-class^
(make-repeating-decimal-snip
make-fraction-snip))
(define-signature number-snip/int^ extends number-snip^
(is-number-snip?))
(define-signature comment-box-class^
(snip%))