(require (lib "common.ss" "Ian")) ;(require (lib "string.ss" "Ian")) ;(require (lib "list.ss" "Ian")) (define indent "") ;; ls-R : disk-entry --> ?? ;; (define/opt (ls-R a-de [lvls +inf.0] [pref ""]) (cond [(link-exists? a-de) (list (string-append a-de " [link]"))] [(file-exists? a-de) (list (string-append pref a-de))] [(directory-exists? a-de) (cons (string-append a-de "/:") (if (zero? lvls) empty (map/append (lambda (f) (ls-R f (sub1 lvls) (string-append indent pref))) (map (lambda (f) (build-path a-de f)) (directory-list a-de)))))] [else (list (string-append pref "??huh??:" a-de))])) (define CR (make-string 1 #\newline)) '(printf "~a" (apply string-append (insert-between-each CR (ls-R (current-directory) 2)))) (printf "~a" CR) ;; rename-file-or-directory: old new false ;; with-output-overwrite-file: f thunk over? verbo? ;(with-output-overwrite?-file " (read-string +inf.0)