add a "random clicking" test for the 2d lexer

original commit: 42566f1dc4487f05193563d57e89b19348b474bf
This commit is contained in:
Robby Findler 2013-08-16 19:31:33 -05:00
parent db1139549b
commit 15aae7de5b
2 changed files with 13 additions and 2 deletions

View File

@ -0,0 +1,4 @@
#lang racket/base
(require racket/class)
(define-local-member-name tokenizing-give-up-early)
(provide tokenizing-give-up-early)

View File

@ -15,7 +15,8 @@ added get-regions
string-constants
"../preferences.rkt"
"sig.rkt"
"aspell.rkt")
"aspell.rkt"
"color-local-member-name.rkt")
(import [prefix icon: framework:icon^]
[prefix mode: framework:mode^]
@ -324,9 +325,15 @@ added get-regions
(define re-tokenize-lses #f)
(define/public (tokenizing-give-up-early) 'defer)
(define/private (continue-re-tokenize start-time ok-to-stop? ls in in-start-pos lexer-mode)
(cond
[(and ok-to-stop? ((+ start-time 20.0) . <= . (current-inexact-milliseconds)))
[(and ok-to-stop?
(case (tokenizing-give-up-early)
[(#t) #t]
[(#f) #f]
[(defer) ((+ start-time 20.0) . <= . (current-inexact-milliseconds))]))
#f]
[else
(define-values (_line1 _col1 pos-before) (port-next-location in))