at-exp: extend reader for repl too
This commit is contained in:
parent
0c5479a1a6
commit
015986fb4f
10
pkgs/racket-pkgs/at-exp-lib/at-exp/lang/language-info.rkt
Normal file
10
pkgs/racket-pkgs/at-exp-lib/at-exp/lang/language-info.rkt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#lang racket/base
|
||||||
|
|
||||||
|
(provide get-language-info)
|
||||||
|
|
||||||
|
(define (get-language-info data)
|
||||||
|
(lambda (key default)
|
||||||
|
(case key
|
||||||
|
[(configure-runtime)
|
||||||
|
'(#[at-exp/lang/runtime-config configure #f])]
|
||||||
|
[else default])))
|
|
@ -26,7 +26,12 @@
|
||||||
;; fall back to /lang/reader:
|
;; fall back to /lang/reader:
|
||||||
(string->symbol (string-append str "/lang/reader"))))))
|
(string->symbol (string-append str "/lang/reader"))))))
|
||||||
wrap-reader
|
wrap-reader
|
||||||
wrap-reader
|
(lambda (orig-read-syntax)
|
||||||
|
(define read-syntax (wrap-reader orig-read-syntax))
|
||||||
|
(lambda args
|
||||||
|
(syntax-property (apply read-syntax args)
|
||||||
|
'module-language
|
||||||
|
'#(at-exp/lang/language-info get-language-info #f))))
|
||||||
(lambda (proc)
|
(lambda (proc)
|
||||||
(lambda (key defval)
|
(lambda (key defval)
|
||||||
(define (fallback) (if proc (proc key defval) defval))
|
(define (fallback) (if proc (proc key defval) defval))
|
||||||
|
|
12
pkgs/racket-pkgs/at-exp-lib/at-exp/lang/runtime-config.rkt
Normal file
12
pkgs/racket-pkgs/at-exp-lib/at-exp/lang/runtime-config.rkt
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#lang racket/base
|
||||||
|
|
||||||
|
(provide configure)
|
||||||
|
|
||||||
|
(require (only-in scribble/reader make-at-readtable))
|
||||||
|
|
||||||
|
(define (configure data)
|
||||||
|
(define old-read (current-read-interaction))
|
||||||
|
(define (new-read src in)
|
||||||
|
(parameterize ([current-readtable (make-at-readtable #:readtable (current-readtable))])
|
||||||
|
(old-read src in)))
|
||||||
|
(current-read-interaction new-read))
|
Loading…
Reference in New Issue
Block a user