diff options
Diffstat (limited to 'guix')
-rw-r--r-- | guix/scripts/import.scm | 39 |
1 files changed, 3 insertions, 36 deletions
diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index fa79f3211e..62aa7bdbc5 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com> -;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2019, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> @@ -25,6 +25,7 @@ (define-module (guix scripts import) #:use-module (guix ui) #:use-module (guix scripts) + #:use-module (guix scripts style) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) @@ -32,43 +33,11 @@ #:use-module (srfi srfi-37) #:use-module (ice-9 format) #:use-module (ice-9 match) - #:use-module (ice-9 pretty-print) #:export (%standard-import-options guix-import)) ;;; -;;; Helper. -;;; - -(define (newline-rewriting-port output) - "Return an output port that rewrites strings containing the \\n escape -to an actual newline. This works around the behavior of `pretty-print' -and `write', which output these as \\n instead of actual newlines, -whereas we want the `description' field to contain actual newlines -rather than \\n." - (define (write-string str) - (let loop ((chars (string->list str))) - (match chars - (() - #t) - ((#\\ #\n rest ...) - (newline output) - (loop rest)) - ((chr rest ...) - (write-char chr output) - (loop rest))))) - - (make-soft-port (vector (cut write-char <>) - write-string - (lambda _ #t) ; flush - #f - (lambda _ #t) ; close - #f) - "w")) - - -;;; ;;; Command line options. ;;; @@ -119,9 +88,7 @@ Run IMPORTER with ARGS.\n")) ((importer args ...) (if (member importer importers) (let ((print (lambda (expr) - (pretty-print expr (newline-rewriting-port - (current-output-port)) - #:max-expr-width 80)))) + (pretty-print-with-comments (current-output-port) expr)))) (match (apply (resolve-importer importer) args) ((and expr (or ('package _ ...) ('let _ ...) |