dev-stylish
Matthew Butterick 6 years ago
parent 16a924c92f
commit 99e08724f4

@ -1,19 +1,20 @@
#lang racket/base #lang racket/base
(require racket/syntax (require racket/syntax
racket/match
sugar/define sugar/define
sugar/coerce sugar/coerce
"../setup.rkt" "../setup.rkt"
"file-utils.rkt") "file-utils.rkt")
(define+provide/contract (get-directory-require-files source-arg) (define+provide/contract (get-directory-require-files source-arg)
(pathish? . -> . (or/c #f (λ (xs) (and (list? xs) (andmap complete-path? xs))))) (pathish? . -> . (or/c #false (λ (xs) (and (list? xs) (andmap complete-path? xs)))))
(define source-path (->path source-arg)) ;; only one file, but we'll leave it in plural form
(define require-filenames (list default-directory-require)) (match (for*/list ([rf (in-list (list default-directory-require))]
(define possible-requires (for*/list ([rf (in-list require-filenames)] [path (in-value (find-upward-from (->path source-arg) rf))]
[p (in-value (find-upward-from source-path rf))] #:when path)
#:when p) path)
p)) [(? pair? possible-requires) possible-requires]
(and (pair? possible-requires) possible-requires)) [_ #false]))
(define+provide/contract (require+provide-directory-require-files here-arg #:provide [provide? #t]) (define+provide/contract (require+provide-directory-require-files here-arg #:provide [provide? #t])

@ -1 +1 @@
1540858388 1540858391

Loading…
Cancel
Save