From 547092db4c843594ecf83e3e05dd16b0cf195c71 Mon Sep 17 00:00:00 2001 From: Kathy Gray Date: Mon, 3 Mar 2008 16:24:51 +0000 Subject: [PATCH] restore highlighting svn: r8856 --- collects/profj/parser.ss | 5 ++--- collects/profj/tool.ss | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/collects/profj/parser.ss b/collects/profj/parser.ss index 3f801f16f3..ec8c7187e8 100644 --- a/collects/profj/parser.ss +++ b/collects/profj/parser.ss @@ -14,7 +14,7 @@ (require (all-except parser-tools/lex input-port) syntax/readerr - (lib "force.ss" "lazy")) + ) (provide parse parse-interactions parse-expression parse-type parse-name lex-stream) ;function to lex in the entire port @@ -40,8 +40,7 @@ (if (new-parser?) (lambda () (printf "Syntax error detected~n") - (let ([result (!!! (parser lexed loc))]) - #;(printf "~a~n" result) + (let ([result (parser lexed loc)]) (if (list? result) (raise-read-error (cadr result) (car (car result)) diff --git a/collects/profj/tool.ss b/collects/profj/tool.ss index 2865bd7ec9..eac93d30f7 100644 --- a/collects/profj/tool.ss +++ b/collects/profj/tool.ss @@ -597,7 +597,7 @@ (let ((end? (eof-object? (peek-char-or-special port)))) (if end? eof - (datum->syntax #f `(parse-java-full-program ,(parse port (quote name) level) + (datum->syntax #f `(parse-java-full-program ,(parse port (get-defn-editor name) #;(quote name) level) ,name) #f))))))) (define/public (front-end/interaction port settings) (mred? #t) @@ -615,7 +615,21 @@ ,(parse-interactions port name level)) `(parse-java-interactions ,(parse-interactions port name level) ,name) #f))))))) - + + (define (get-defn-editor port-name) + (let* ([dr-frame (send (drscheme:rep:current-rep) get-top-level-window)] + [tabs (and dr-frame (send dr-frame get-tabs))] + [defs (if dr-frame + (map (lambda (t) (send t get-defs)) tabs) + null)] + [def (filter (lambda (d) + (and (is-a? d drscheme:unit:definitions-text<%>) + (send d port-name-matches? port-name))) + defs)]) + (and dr-frame + (= 1 (length def)) + (car def)))) + ;process-extras: (list struct) type-record -> (list syntax) (define/private (process-extras extras type-recs) (cond