aboutsummaryrefslogtreecommitdiff
path: root/module/hnh/module-introspection/all-modules.scm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--module/hnh/module-introspection/all-modules.scm (renamed from scripts/all-modules.scm)17
1 files changed, 14 insertions, 3 deletions
diff --git a/scripts/all-modules.scm b/module/hnh/module-introspection/all-modules.scm
index b83644e5..1bf39e1e 100644
--- a/scripts/all-modules.scm
+++ b/module/hnh/module-introspection/all-modules.scm
@@ -1,13 +1,16 @@
-(define-module (all-modules)
+(define-module (hnh module-introspection all-modules)
:use-module (ice-9 regex)
:use-module (srfi srfi-1)
:use-module (ice-9 ftw)
:use-module (ice-9 match)
:use-module (hnh util path)
- :use-module (module-introspection)
+ :use-module (hnh module-introspection)
+ :use-module ((hnh module-introspection 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 '())
@@ -42,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))))