From 1b18c99d3c33c1a3d1c6cfc2796cab7fdd1e0cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Fri, 7 Jul 2023 14:33:35 +0200 Subject: [PATCH] Duck util-dir module. --- doc/d-utils.md | 13 +++++++++++++ src/Makefile | 6 +++--- src/gendoc.scm | 1 + src/util-dir.scm | 9 +++++++-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/doc/d-utils.md b/doc/d-utils.md index 2aeea13..c9b0d45 100644 --- a/doc/d-utils.md +++ b/doc/d-utils.md @@ -596,3 +596,16 @@ Reimplementation of old list-based symbol dictionary using new BST backend. (import util-bst-lset) Reimplementation of old lset using new BST backend. + +## util-dir [module] + + (import util-dir) + +Directory handling which didn't fit elsewhere. + +### ensure-directory [procedure] + + (ensure-directory dir) + +Makes sure given path exists and it is a directory. Throws an error +if it exists and it is not a directory. diff --git a/src/Makefile b/src/Makefile index f9ba713..5d86cce 100644 --- a/src/Makefile +++ b/src/Makefile @@ -65,14 +65,14 @@ GENDOC-SOURCES=gendoc.scm duck-extract.import.scm \ util-proc.import.scm util-format.import.scm \ util-tag.import.scm util-string.import.scm \ util-bst.import.scm util-bst-bdict.import.scm \ - util-bst-ldict.import.scm + util-bst-ldict.import.scm util-dir.import.scm GENDOC-OBJS=gendoc.o duck-extract.o util-time.o util-csv.o util-io.o \ progress.o testing.o util-proc.o util-git.o util-io.o \ util-stdout.o util-parser.o util-list.o util-proc.o \ util-format.o racket-kwargs.o util-bst-ldict.o util-tag.o \ duck.o util-string.o util-bst.o util-bst-bdict.o \ - util-bst-ldict.o + util-bst-ldict.o util-dir.o .PHONY: imports imports: $(HACKERBASE-DEPS) @@ -480,7 +480,7 @@ EXPORT-WEB-STATIC-SOURCES=export-web-static.scm brmember.import.scm \ export-web-static.o: export-web-static.import.scm export-web-static.import.scm: $(EXPORT-WEB-STATIC-SOURCES) -UTIL-DIR-SOURCES=util-dir.scm +UTIL-DIR-SOURCES=util-dir.scm duck.import.scm util-dir.o: util-dir.import.scm util-dir.import.scm: $(UTIL-DIR-SOURCES) diff --git a/src/gendoc.scm b/src/gendoc.scm index 4ca7c93..31f8a0e 100644 --- a/src/gendoc.scm +++ b/src/gendoc.scm @@ -36,4 +36,5 @@ util-bst-bdict util-bst-ldict util-bst-lset + util-dir ) diff --git a/src/util-dir.scm b/src/util-dir.scm index c1716fe..9591804 100644 --- a/src/util-dir.scm +++ b/src/util-dir.scm @@ -25,8 +25,11 @@ (declare (unit util-dir)) -(module +(import duck) + +(module* util-dir + #:doc ("Directory handling which didn't fit elsewhere.") ( ensure-directory ) @@ -36,7 +39,9 @@ (chicken file) (chicken file posix)) - (define (ensure-directory dir) + (define/doc (ensure-directory dir) + ("Makes sure given path exists and it is a directory. Throws an error +if it exists and it is not a directory.") (when (and (file-exists? dir) (regular-file? dir)) (error 'gen-web-static "Directory is a file:" dir))