From f7c68c2e13611372154592bb43d9b3f84e455a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sun, 18 Sep 2022 23:10:37 +0200 Subject: Add procedure module-file-mappings. --- module/hnh/util/path.scm | 1 + scripts/all-modules.scm | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/module/hnh/util/path.scm b/module/hnh/util/path.scm index ed2d9f24..b0991073 100644 --- a/module/hnh/util/path.scm +++ b/module/hnh/util/path.scm @@ -16,6 +16,7 @@ (define path-absolute? absolute-file-name?) +;; TODO remove intermidiate period components (define (path-append . strings) (fold (lambda (s done) (string-append diff --git a/scripts/all-modules.scm b/scripts/all-modules.scm index 613f9db2..23bbb32d 100644 --- a/scripts/all-modules.scm +++ b/scripts/all-modules.scm @@ -8,7 +8,9 @@ :use-module ((static-util) :select (get-forms)) :export (all-files-and-modules-under-directory all-modules-under-directory - fs-find-base fs-find)) + fs-find-base fs-find + module-file-mapping + )) (define (fs-find dir) (define files '()) @@ -43,3 +45,11 @@ level modules in those files" (values (map car pairs) (filter identity (map cadr pairs)))) + +;; Returns an association list from module names the modules +;; containing filename +(define (module-file-mapping dir) + (filter + car + (map (lambda (pair) (cons (cadr pair) (car pair))) + (all-files-and-modules-under-directory dir)))) -- cgit v1.2.3