4341
((3) 0 () 11 ((q (lib "syntax-color/paren-tree.rkt") paren-tree%) (q lib "syntax-color/lexer-contract.rkt") (q lib "syntax-color/token-tree.rkt") (q (lib "syntax-color/color-textoid.rkt") color-textoid<%>) (q lib "syntax-color/module-lexer.rkt") (q lib "syntax-color/racket-lexer.rkt") (q lib "syntax-color/scribble-lexer.rkt") (c (? . 2) q token-tree%) (q 2009 . 3) (q lib "syntax-color/racket-navigation.rkt") (q lib "syntax-color/racket-indentation.rkt")) () (h ! (equal) ((c def c (c (? . 1) q lexer*/c-without-random-testing)) q (1957 . 2)) ((c def c (c (? . 2) q node-left-subtree-length)) q (9227 . 3)) ((c meth c (c (? . 0) q is-open-pos?)) q (1614 . 3)) ((c meth c (c (? . 0) q match-backward)) q (1084 . 8)) ((c def c (c (? . 1) q dont-stop?)) c (? . 8)) ((c def c (c (? . 6) q scribble-inside-lexer)) q (8042 . 13)) ((c constructor c (? . 0)) q (54 . 6)) ((c def c (c (? . 9) q racket-stick-to-next-sexp?)) q (13384 . 4)) ((c meth c (c (? . 3) q paragraph-start-position)) q (10441 . 6)) ((c meth c (c (? . 0) q merge-tree)) q (1446 . 3)) ((c def c (c (? . 2) q node-token-data)) q (9169 . 3)) ((c meth c (c (? . 3) q classify-position*)) q (12103 . 4)) ((c def c (c (? . 5) q racket-lexer*/status)) q (3787 . 14)) ((c constructor c (? . 7)) q (8725 . 5)) ((c def c (c (? . 4) q module-lexer)) q (5085 . 29)) ((q def ((lib "syntax-color/default-lexer.rkt") default-lexer)) q (4842 . 7)) ((c meth c (c (? . 3) q get-regions)) q (12581 . 3)) ((c def c (c (? . 2) q insert-last-spec!)) q (9683 . 5)) ((c meth c (c (? . 0) q truncate)) q (1539 . 3)) ((c def c (c (? . 4) q module-lexer*)) q (6342 . 31)) ((c meth c (c (? . 3) q paragraph-end-position)) q (10683 . 6)) ((c def c (c (? . 1) q check-colorer-results-match-port-before-and-afters)) q (2059 . 15)) ((c def c (c (? . 2) q insert-first!)) q (9434 . 4)) ((c def c (c (? . 5) q racket-nobar-lexer/status)) q (4197 . 9)) ((c meth c (c (? . 3) q backward-match)) q (11238 . 6)) ((c meth c (c (? . 3) q backward-containing-sexp)) q (11477 . 6)) ((c def c (? . 3)) q (9815 . 2)) ((c def c (c (? . 6) q make-scribble-inside-lexer)) q (8536 . 3)) ((c meth c (c (? . 7) q get-root)) q (8886 . 2)) ((c def c (c (? . 1) q dont-stop)) c (? . 8)) ((c meth c (c (? . 3) q get-character)) q (10034 . 3)) ((c meth c (c (? . 3) q classify-position)) q (11973 . 4)) ((c meth c (c (? . 3) q get-backward-navigation-limit)) q (12462 . 4)) ((c def c (c (? . 5) q racket-lexer/status)) q (3445 . 8)) ((c def c (c (? . 9) q racket-up-sexp)) q (13057 . 4)) ((c meth c (c (? . 3) q last-position)) q (10139 . 3)) ((c meth c (c (? . 0) q add-token)) q (284 . 11)) ((c def c (c (? . 9) q racket-backward-sexp)) q (12888 . 5)) ((c def c (? . 0)) q (0 . 3)) ((c def c (c (? . 6) q scribble-lexer)) q (7683 . 13)) ((c meth c (c (? . 0) q get-invisible-count)) q (1801 . 3)) ((c def c (c (? . 9) q racket-forward-sexp)) q (12720 . 5)) ((c def c (c (? . 5) q racket-nobar-lexer*/status)) q (4426 . 14)) ((c def c (c (? . 6) q make-scribble-lexer)) q (8408 . 3)) ((c meth c (c (? . 3) q get-text)) q (9857 . 4)) ((c meth c (c (? . 0) q split-tree)) q (1369 . 3)) ((c def c (c (? . 1) q lexer*/c)) q (1928 . 2)) ((c meth c (c (? . 3) q forward-match)) q (11736 . 6)) ((c meth c (c (? . 7) q search!)) q (8947 . 3)) ((c def c (c (? . 9) q racket-down-sexp)) q (13219 . 5)) ((c meth c (c (? . 3) q skip-whitespace)) q (10921 . 8)) ((c def c (c (? . 2) q node-right)) q (9369 . 3)) ((c def c (c (? . 5) q racket-lexer)) q (2849 . 7)) ((c def c (c (? . 2) q node?)) q (9047 . 3)) ((c meth c (c (? . 0) q match-forward)) q (801 . 8)) ((c def c (c (? . 1) q lexer/c)) q (1900 . 2)) ((c def c (c (? . 1) q dont-stop-val)) c (? . 8)) ((c def c (c (? . 2) q node-token-length)) q (9098 . 3)) ((c def c (c (? . 5) q racket-lexer*)) q (3087 . 13)) ((c def c (? . 7)) q (8671 . 3)) ((c def c (c (? . 2) q node-left)) q (9305 . 3)) ((c def c (c (? . 1) q struct:dont-stop)) c (? . 8)) ((c def c (c (? . 2) q insert-last!)) q (9559 . 4)) ((c meth c (c (? . 3) q get-token-range)) q (12272 . 5)) ((c meth c (c (? . 3) q position-paragraph)) q (10218 . 6)) ((c def c (c (? . 10) q racket-amount-to-indent)) q (13528 . 17)) ((c meth c (c (? . 0) q is-close-pos?)) q (1707 . 3)) ((c def c (c (? . 10) q racket-tabify-table->head-sexp-type)) q (14473 . 8)) ((c def c (c (? . 10) q racket-tabify-default-table)) q (14874 . 7))))
class
paren-tree% : class?
  superclass: object%
constructor
(new paren-tree%                        
                 [matches matches]      
                 ...superclass-args...) 
 -> (is-a?/c paren-tree%)
  matches : (listof (list/c symbol? symbol?))
method
(send a-paren-tree add-token                                        
                              type                                  
                              length                                
                             [#:invisible-opens invisible-opens     
                              #:invisible-closes invisible-closes]) 
 -> void?
  type : (or/c #f symbol?)
  length : natural?
  invisible-opens : natural? = 0
  invisible-closes : natural? = 0
method
(send a-paren-tree match-forward  pos                     
                                 [#:invisible invisible]) 
 -> (or/c natural? #f)
    (or/c natural? #f)
    (or/c natural? #f)
  pos : natural?
  invisible : (or/c #f natural? 'all) = #f
method
(send a-paren-tree match-backward  pos                     
                                  [#:invisible invisible]) 
 -> (or/c natural? #f)
    (or/c natural? #f)
    (or/c natural? #f)
  pos : natural?
  invisible : (or/c #f natural? 'all) = #f
method
(send a-paren-tree split-tree pos) -> void?
  pos : natural?
method
(send a-paren-tree merge-tree num-to-keep) -> void?
  num-to-keep : natural?
method
(send a-paren-tree truncate pos) -> void?
  pos : natural?
method
(send a-paren-tree is-open-pos? pos) -> (or/c #f symbol?)
  pos : natural?
method
(send a-paren-tree is-close-pos? pos) -> (or/c #f symbol?)
  pos : natural?
method
(send a-paren-tree get-invisible-count pos) -> natural? natural?
  pos : natural?
value
lexer/c : contract?
value
lexer*/c : contract?
value
lexer*/c-without-random-testing : contract?
struct
(struct dont-stop (val))
  val : any/c
procedure
(check-colorer-results-match-port-before-and-afters                 
                                                    who             
                                                    type            
                                                    pos-before      
                                                    new-token-start 
                                                    new-token-end   
                                                    pos-after)      
 -> void?
  who : symbol?
  type : any/c
  pos-before : (or/c exact-positive-integer? #f)
  new-token-start : (or/c exact-positive-integer? #f)
  new-token-end : (or/c exact-positive-integer? #f)
  pos-after : (or/c exact-positive-integer? #f)
procedure
(racket-lexer in) -> (or/c string? eof-object?)
                     symbol?
                     (or/c symbol? #f)
                     (or/c number? #f)
                     (or/c number? #f)
  in : input-port?
procedure
(racket-lexer* in offset mode)
 -> (or/c string? eof-object?)
    (or/c symbol?
          (and/c (hash/c symbol? any/c) immutable?))
    (or/c symbol? #f)
    (or/c number? #f)
    (or/c number? #f)
    exact-nonnegative-integer?
    any/c
  in : input-port?
  offset : exact-nonnegative-integer?
  mode : any/c
procedure
(racket-lexer/status in) -> (or/c string? eof-object?)
                            symbol?
                            (or/c symbol? #f)
                            (or/c number? #f)
                            (or/c number? #f)
                            (or/c 'datum 'open 'close 'continue)
  in : input-port?
procedure
(racket-lexer*/status in offset mode)
 -> (or/c string? eof-object?)
    (or/c symbol?
          (and/c (hash/c symbol? any/c) immutable?))
    (or/c symbol? #f)
    (or/c number? #f)
    (or/c number? #f)
    exact-nonnegative-integer?
    any/c
    (or/c 'datum 'open 'close 'continue)
  in : input-port?
  offset : exact-nonnegative-integer?
  mode : any/c
procedure
(racket-nobar-lexer/status in)
 -> (or/c string? eof-object?)
    symbol?
    (or/c symbol? #f)
    (or/c number? #f)
    (or/c number? #f)
    (or/c 'datum 'open 'close 'continue)
  in : input-port?
procedure
(racket-nobar-lexer*/status in offset mode)
 -> (or/c string? eof-object?)
    (or/c symbol?
          (and/c (hash/c symbol? any/c) immutable?))
    (or/c symbol? #f)
    (or/c number? #f)
    (or/c number? #f)
    exact-nonnegative-integer?
    any/c
    (or/c 'datum 'open 'close 'continue)
  in : input-port?
  offset : exact-nonnegative-integer?
  mode : any/c
procedure
(default-lexer in) -> (or/c string? eof-object?)
                      symbol?
                      (or/c symbol? #f)
                      (or/c number? #f)
                      (or/c number? #f)
  in : input-port?
procedure
(module-lexer in offset mode)
 -> (or/c string? eof-object?)
    symbol?
    (or/c symbol? #f)
    (or/c number? #f)
    (or/c number? #f)
    exact-nonnegative-integer?
    (or/c #f
          (-> input-port? any)
          (cons/c (-> input-port? exact-nonnegative-integer?
                      any/c
                      any)
                  any/c)
          (struct/c dont-stop
                    ((cons/c (-> input-port?
                                 exact-nonnegative-integer?
                                 any/c
                                 any)
                             any/c))))
  in : input-port?
  offset : exact-nonnegative-integer?
  mode : (or/c #f
               (-> input-port? exact-nonnegative-integer?any)
               (cons/c (-> input-port?
                           exact-nonnegative-integer?
                           any/c
                           any)
                       any/c))
procedure
(module-lexer* in offset mode)
 -> (or/c string? eof-object?)
    (or/c symbol?
          (and/c (hash/c symbol? any/c) immutable?))
    (or/c symbol? #f)
    (or/c number? #f)
    (or/c number? #f)
    exact-nonnegative-integer?
    (or/c #f
          (-> input-port? any)
          (cons/c (-> input-port?
                      exact-nonnegative-integer?
                      any/c
                      any)
                  any/c)
          (struct/c dont-stop
                    ((cons/c (-> input-port?
                                 exact-nonnegative-integer?
                                 any/c
                                 any)
                             any/c))))
  in : input-port?
  offset : exact-nonnegative-integer?
  mode : (or/c #f
               (-> input-port? any)
               (cons/c (-> input-port?
                           exact-nonnegative-integer?
                           any/c
                           any)
                       any/c))
procedure
(scribble-lexer in offset mode)
 -> (or/c string? eof-object?)
    (or/c symbol?
          (and/c (hash/c symbol? any/c) immutable?))
    (or/c symbol? #f)
    (or/c number? #f)
    (or/c number? #f)
    exact-nonnegative-integer?
    any/c
  in : input-port?
  offset : exact-nonnegative-integer?
  mode : any/c
procedure
(scribble-inside-lexer in offset mode)
 -> (or/c string? eof-object?)
    (or/c symbol?
          (and/c (hash/c symbol? any/c) immutable?))
    (or/c symbol? #f)
    (or/c number? #f)
    (or/c number? #f)
    exact-nonnegative-integer?
    any/c
  in : input-port?
  offset : exact-nonnegative-integer?
  mode : any/c
procedure
(make-scribble-lexer [#:command-char at]) -> lexer/c
  at : (and/c char? (not/c (or/c #\] #\[))) = #\@
procedure
(make-scribble-inside-lexer [#:command-char at]) -> lexer/c
  at : (and/c char? (not/c (or/c #\] #\[))) = #\@
class
token-tree% : class?
  superclass: object%
constructor
(new token-tree% [len len] [data data])
 -> (is-a?/c token-tree%)
  len : (or/c exact-nonnegative-integer? fasle/c)
  data : any/c
method
(send a-token-tree get-root) -> (or/c node? #f)
method
(send a-token-tree search! key-position) -> void?
  key-position : natural-number/c
procedure
(node? v) -> boolean?
  v : any/c
procedure
(node-token-length n) -> natural-number/c
  n : node?
procedure
(node-token-data n) -> any/c
  n : node?
procedure
(node-left-subtree-length n) -> natural-number/c
  n : node?
procedure
(node-left n) -> (or/c node? #f)
  n : node?
procedure
(node-right n) -> (or/c node? #f)
  n : node?
procedure
(insert-first! tree1 tree2) -> void?
  tree1 : (is-a?/c token-tree%)
  tree2 : (is-a?/c token-tree%)
procedure
(insert-last! tree1 tree2) -> void?
  tree1 : (is-a?/c token-tree%)
  tree2 : (is-a?/c token-tree%)
procedure
(insert-last-spec! tree n v) -> void?
  tree : (is-a?/c token-tree%)
  n : natural-number/c
  v : any/c
interface
color-textoid<%> : interface?
method
(send a-color-textoid get-text [start end]) -> string?
  start : exact-nonnegative-integer? = 0
  end : (or/c exact-nonnegative-integer? 'eof) = 'eof
method
(send a-color-textoid get-character start) -> char?
  start : exact-nonnegative-integer?
method
(send a-color-textoid last-position)
 -> exact-nonnegative-integer?
method
(send a-color-textoid position-paragraph  start     
                                         [at-eol?]) 
 -> exact-nonnegative-integer?
  start : exact-nonnegative-integer?
  at-eol? : any/c = #f
method
(send a-color-textoid paragraph-start-position  paragraph  
                                               [visible?]) 
 -> exact-nonnegative-integer?
  paragraph : exact-nonnegative-integer?
  visible? : any/c = #t
method
(send a-color-textoid paragraph-end-position  paragraph  
                                             [visible?]) 
 -> exact-nonnegative-integer?
  paragraph : exact-nonnegative-integer?
  visible? : any/c = #t
method
(send a-color-textoid skip-whitespace position   
                                      direction  
                                      comments?) 
 -> exact-nonnegative-integer?
  position : exact-nonnegative-integer?
  direction : (or/c 'forward 'backward)
  comments? : boolean?
method
(send a-color-textoid backward-match position 
                                     cutoff)  
 -> (or/c exact-nonnegative-integer? #f)
  position : exact-nonnegative-integer?
  cutoff : exact-nonnegative-integer?
method
(send a-color-textoid backward-containing-sexp position 
                                               cutoff)  
 -> (or/c exact-nonnegative-integer? #f)
  position : exact-nonnegative-integer?
  cutoff : exact-nonnegative-integer?
method
(send a-color-textoid forward-match position 
                                    cutoff)  
 -> (or/c exact-nonnegative-integer? #f)
  position : exact-nonnegative-integer?
  cutoff : exact-nonnegative-integer?
method
(send a-color-textoid classify-position position)
 -> (or/c symbol? #f)
  position : exact-nonnegative-integer?
method
(send a-color-textoid classify-position* position)
 -> (or/c (and/c (hash/c symbol? any/c) immutable?) #f)
  position : exact-nonnegative-integer?
method
(send a-color-textoid get-token-range position)
 -> (or/c #f exact-nonnegative-integer?)
    (or/c #f exact-nonnegative-integer?)
  position : exact-nonnegative-integer?
method
(send a-color-textoid get-backward-navigation-limit start)
 -> exact-integer?
  start : exact-integer?
method
(send a-color-textoid get-regions)
 -> (listof (list/c exact-nonnegative-integer? (or/c exact-nonnegative-integer? 'end)))
procedure
(racket-forward-sexp text pos)
 -> (or/c #f exact-nonnegative-integer?)
  text : (is-a?/c color-textoid<%>)
  pos : exact-nonnegative-integer?
procedure
(racket-backward-sexp text pos)
 -> (or/c #f exact-nonnegative-integer?)
  text : (is-a?/c color-textoid<%>)
  pos : exact-nonnegative-integer?
procedure
(racket-up-sexp text pos) -> (or/c #f exact-nonnegative-integer?)
  text : (is-a?/c color-textoid<%>)
  pos : exact-nonnegative-integer?
procedure
(racket-down-sexp text pos)
 -> (or/c #f exact-nonnegative-integer?)
  text : (is-a?/c color-textoid<%>)
  pos : exact-nonnegative-integer?
procedure
(racket-stick-to-next-sexp? text pos) -> boolean?
  text : (is-a?/c color-textoid<%>)
  pos : exact-nonnegative-integer?
procedure
(racket-amount-to-indent  text                               
                          pos                                
                         [#:head-sexp-type head-sexp-type]   
                          #:graphical-width graphical-width) 
 -> (or/c #f exact-nonnegative-integer?)
  text : (is-a?/c color-textoid<%>)
  pos : exact-nonnegative-integer?
  head-sexp-type : (string?
                    . -> .
                    (or/c #f 'lambda 'define 'begin 'for/fold 'other))
                 = (racket-tabify-table->head-sexp-type
                    racket-tabify-default-table)
  graphical-width : (or/c #f (-> (is-a?/c color-textoid<%>)
                                 exact-nonnegative-integer?
                                 exact-nonnegative-integer?
                                 (or/c #f exact-nonnegative-integer?)))
procedure
(racket-tabify-table->head-sexp-type spec)
 -> (string? . -> . (or/c #f 'lambda 'define 'begin 'for/fold 'other))
  spec : (list/c (hash/c symbol? (or/c 'lambda 'define 'begin 'for/fold))
                 (or/c #f regexp?)
                 (or/c #f regexp?)
                 (or/c #f regexp?)
                 (or/c #f regexp?))
value
racket-tabify-default-table
 : (list/c (hash/c symbol? (or/c 'lambda 'define 'begin 'for/fold))
           (or/c #f regexp?)
           (or/c #f regexp?)
           (or/c #f regexp?)
           (or/c #f regexp?))
