GNU bug report logs -
#52974
[PATCH 0/5] Formatting package definitions with 'guix style'
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Mon, 3 Jan 2022 10:54:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello Guix!
This patch set extends ‘guix style’ so that it can format
package definitions following our conventions. It adds a
new ‘-S’ option to ‘guix style’, which allows you to select
a “styling rule”.
To obtain the same behavior as before, you now need to run
‘guix style -S inputs’ (this is an incompatibility); ‘guix
style’ alone is equivalent to ‘guix style -S format’, which
formats the given package definition(s).
The code of the pretty printer is not pretty, but it does a
rather good job, notably because it recognizes our special
forms and rules, unlike ‘pretty-print’. I’m sure we could
spend months tweaking it, but I think it’s reached the point
where we can recommend it.
This nicely replaces ‘etc/indent-code.el’ and will hopefully
make the lives of contributors easier.
Thoughts?
Eventually we should change importers to use this instead of
(ice-9 pretty-print). I also envision a rule to rewrite Rust
packages to look like regular packages, as discussed earlier
with Efraim, which will benefit from this work.
Ludo’.
Ludovic Courtès (5):
style: Improve pretty printer and add tests.
style: Allow special forms to be scoped.
style: Add support for "newline forms".
style: Add '--styling' option.
style: '-S format' canonicalizes comments.
doc/contributing.texi | 18 +-
doc/guix.texi | 60 +++++-
etc/indent-code.el | 120 ------------
guix/scripts/style.scm | 415 +++++++++++++++++++++++++++++++++++------
tests/style.scm | 162 +++++++++++++++-
5 files changed, 571 insertions(+), 204 deletions(-)
delete mode 100755 etc/indent-code.el
base-commit: 637dec9d45db4df2a3e6aa565fa2c5cf6bb77768
--
2.33.0
This bug report was last modified 3 years and 130 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.