aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-09-18 23:10:37 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-09-18 23:10:51 +0200
commitf7c68c2e13611372154592bb43d9b3f84e455a29 (patch)
tree1a15b33684083979ffd0a995615d60aa7c5fb120
parentExtend user-additions salar to handle multiple locations. (diff)
downloadcalp-f7c68c2e13611372154592bb43d9b3f84e455a29.tar.gz
calp-f7c68c2e13611372154592bb43d9b3f84e455a29.tar.xz
Add procedure module-file-mappings.
-rw-r--r--module/hnh/util/path.scm1
-rw-r--r--scripts/all-modules.scm12
2 files changed, 12 insertions, 1 deletions
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))))