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
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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 154 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.