From a78c2b81e9f652811149e5edb4d35d09b644b7cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 7 Sep 2023 15:33:33 +0200 Subject: Create a true all-files-under-directory procedure. --- module/hnh/module-introspection/all-modules.scm | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'module/hnh/module-introspection/all-modules.scm') diff --git a/module/hnh/module-introspection/all-modules.scm b/module/hnh/module-introspection/all-modules.scm index 1bf39e1e..89ba5dcc 100644 --- a/module/hnh/module-introspection/all-modules.scm +++ b/module/hnh/module-introspection/all-modules.scm @@ -7,6 +7,7 @@ :use-module (hnh module-introspection) :use-module ((hnh module-introspection static-util) :select (get-forms)) :export (all-files-and-modules-under-directory + all-files-under-directory all-modules-under-directory fs-find-base fs-find module-file-mapping @@ -20,22 +21,24 @@ ;; (define (fs-find proc dir) ;; (filter proc (fs-find-base dir))) -(define (all-files-and-modules-under-directory dir) - (define re (make-regexp "\\.scm$")) +(define* (all-files-under-directory dir extension) + (define extension-rx ((@ (texinfo string-utils) escape-special-chars) + extension "[](){}+*?.^$" #\\)) + (define re (make-regexp (string-append extension-rx "$"))) - (define files - (map car - (filter (match-lambda ((filename _ 'regular) - (and (regexp-exec re filename) - (not (file-hidden? filename)))) - (_ #f)) - (fs-find dir)))) + (map car + (filter (match-lambda ((filename _ 'regular) + (and (regexp-exec re filename) + (not (file-hidden? filename)))) + (_ #f)) + (fs-find dir)))) +(define (all-files-and-modules-under-directory dir) (map (lambda (file) (list file (call-with-input-file file (compose find-module-declaration get-forms)))) - files)) + (all-files-under-directory dir ".scm"))) (define (all-modules-under-directory dir) "Returns two values, all scm files in dir, and all top -- cgit v1.2.3 From 0fac96af120a47ed686c26745af50288086e22d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 12 Sep 2023 23:51:26 +0200 Subject: Even more documentation. --- module/hnh/module-introspection/all-modules.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/hnh/module-introspection/all-modules.scm') diff --git a/module/hnh/module-introspection/all-modules.scm b/module/hnh/module-introspection/all-modules.scm index 89ba5dcc..4b224d2f 100644 --- a/module/hnh/module-introspection/all-modules.scm +++ b/module/hnh/module-introspection/all-modules.scm @@ -9,7 +9,7 @@ :export (all-files-and-modules-under-directory all-files-under-directory all-modules-under-directory - fs-find-base fs-find + fs-find module-file-mapping )) -- cgit v1.2.3