diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-07-04 23:29:55 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-07-04 23:38:38 +0200 |
commit | 8d9291bd2c36810be50ea340cefa481a42c60a2b (patch) | |
tree | bb3a9ba4e5cf4ec1de4a54a2e986c078ae1a940d /tests | |
parent | 3348e485b7229e062e563945ed7e6ac216f25125 (diff) | |
download | guix-8d9291bd2c36810be50ea340cefa481a42c60a2b.tar.gz guix-8d9291bd2c36810be50ea340cefa481a42c60a2b.zip |
style: For 'let' and similar forms, emit one binding per line.
Previously, 'let' bindings could be rendered like this:
(let ((x 1) (y 2)
(z 3))
...)
With this change, each bindings goes in its own line.
Partly fixes <https://issues.guix.gnu.org/56297>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* guix/scripts/style.scm (pretty-print-with-comments)[list-of-lists?]:
New procedure.
Use it.
* tests/style.scm: Add tests with 'let' and 'substitute-keyword-arguments'.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/style.scm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/style.scm b/tests/style.scm index 48d975df94..55bad2b3ba 100644 --- a/tests/style.scm +++ b/tests/style.scm @@ -504,6 +504,25 @@ mnopqrstuvwxyz.\")" #:make-flags #~'(\"ANSWER=42\") #:tests? #f)))") +(test-pretty-print "\ +(let ((x 1) + (y 2) + (z (let* ((a 3) + (b 4)) + (+ a b)))) + (list x y z))") + +(test-pretty-print "\ +(substitute-keyword-arguments (package-arguments x) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'build 'do-things + (lambda _ + #t)))) + ((#:configure-flags flags) + `(cons \"--without-any-problem\" + ,flags)))") + (test-equal "pretty-print-with-comments, canonicalize-comment" "\ (list abc |