diff --git a/beautiful-racket-lib/br/get-info.rkt b/beautiful-racket-lib/br/get-info.rkt new file mode 100644 index 0000000..d3310a2 --- /dev/null +++ b/beautiful-racket-lib/br/get-info.rkt @@ -0,0 +1,19 @@ +#lang racket +(provide (all-defined-out)) + +(require racket/class) +(define (indenter t pos) + (with-handlers ([exn:fail? (λ(exn) #f)]) ; this function won't work until gui-lib 1.26 + (send t compute-racket-amount-to-indent pos (λ(x) + (case x + [("with-pattern" "with-shared-id") 'lambda] + [("define-macro") 'define] + [else #f]))))) + +(define (br-get-info key default default-filter) + (case key + #;[(color-lexer) + (dynamic-require 'syntax-color/default-lexer 'default-lexer)] + [(drracket:indentation) indenter] + [else + (default-filter key default)])) \ No newline at end of file diff --git a/beautiful-racket-lib/br/main.rkt b/beautiful-racket-lib/br/main.rkt index 331e598..41e16fe 100644 --- a/beautiful-racket-lib/br/main.rkt +++ b/beautiful-racket-lib/br/main.rkt @@ -24,21 +24,5 @@ (module reader syntax/module-reader #:language 'br - #:info my-get-info - - (require racket/class) - (define (indenter t pos) - (with-handlers ([exn:fail? (λ(exn) #f)]) ; this function won't work until gui-lib 1.26 - (send t compute-racket-amount-to-indent pos (λ(x) - (case x - [("with-pattern" "with-shared-id") 'lambda] - [("define-macro") 'define] - [else #f]))))) - - (define (my-get-info key default default-filter) - (case key - #;[(color-lexer) - (dynamic-require 'syntax-color/default-lexer 'default-lexer)] - [(drracket:indentation) indenter] - [else - (default-filter key default)]))) \ No newline at end of file + #:info br-get-info + (require br/get-info)) \ No newline at end of file diff --git a/beautiful-racket-lib/br/quicklang.rkt b/beautiful-racket-lib/br/quicklang.rkt new file mode 100644 index 0000000..5bbb1c7 --- /dev/null +++ b/beautiful-racket-lib/br/quicklang.rkt @@ -0,0 +1,14 @@ +#lang br +(provide (except-out (all-from-out br) #%module-begin) + (rename-out [quicklang-mb #%module-begin])) + +(define-syntax-rule (quicklang-mb . lines) + (#%module-begin + (provide #%top #%app #%datum #%top-interaction) + . lines)) + + +(module reader syntax/module-reader + #:language 'br/quicklang + #:info br-get-info + (require br/get-info)) \ No newline at end of file