summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/style.scm3
-rw-r--r--tests/style.scm12
2 files changed, 14 insertions, 1 deletions
diff --git a/guix/scripts/style.scm b/guix/scripts/style.scm
index 8123570c38..ca3853af5e 100644
--- a/guix/scripts/style.scm
+++ b/guix/scripts/style.scm
@@ -303,7 +303,8 @@ FORMAT-COMMENT is 'canonicalize-comment'."
(newline port)
(display (make-string indent #\space) port))
(let ((column (if newline? indent column)))
- (print tail #f
+ (print tail
+ (keyword? item) ;keep #:key value next to one another
(comment? item)
(loop indent column
(or newline? delimited?)
diff --git a/tests/style.scm b/tests/style.scm
index 41f7e31cce..48d975df94 100644
--- a/tests/style.scm
+++ b/tests/style.scm
@@ -492,6 +492,18 @@ mnopqrstuvwxyz.\")"
'(#:phases %standard-phases
#:tests? #f)))")
+;; '#:key value' is kept on the same line.
+(test-pretty-print "\
+(package
+ (name \"keyword-value-same-line\")
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-before 'x 'y
+ (lambda* (#:key inputs #:allow-other-keys)
+ (foo bar baz))))
+ #:make-flags #~'(\"ANSWER=42\")
+ #:tests? #f)))")
+
(test-equal "pretty-print-with-comments, canonicalize-comment"
"\
(list abc