Browse Source
etc: Support indentation of whole files.
* etc/indent-package.el.in: Rename to...
* etc/indent-code.el.in: ... this. Add case for a single argument.
* doc/contributing.texi (Formatting Code): Adjust accordingly.
* configure.ac: Likewise.
wip-git-https
Ludovic Courtès
6 years ago
No known key found for this signature in database
GPG Key ID: 90B11993D9AEBB5
4 changed files with
24 additions and
10 deletions
-
.gitignore
-
configure.ac
-
doc/contributing.texi
-
etc/indent-code.el.in
|
|
@ -128,4 +128,4 @@ stamp-h[0-9] |
|
|
|
tmp |
|
|
|
/doc/os-config-lightweight-desktop.texi |
|
|
|
/nix/scripts/download |
|
|
|
/etc/indent-package.el |
|
|
|
/etc/indent-code.el |
|
|
|
|
|
@ -245,6 +245,6 @@ AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix]) |
|
|
|
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env]) |
|
|
|
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in], |
|
|
|
[chmod +x pre-inst-env]) |
|
|
|
AC_CONFIG_FILES([etc/indent-package.el], [chmod +x etc/indent-package.el]) |
|
|
|
AC_CONFIG_FILES([etc/indent-code.el], [chmod +x etc/indent-code.el]) |
|
|
|
|
|
|
|
AC_OUTPUT |
|
|
|
|
|
@ -256,12 +256,17 @@ If you do not use Emacs, please make sure to let your editor knows these |
|
|
|
rules. To automatically indent a package definition, you can also run: |
|
|
|
|
|
|
|
@example |
|
|
|
./etc/indent-package.el gnu/packages/@var{file}.scm @var{package} |
|
|
|
./etc/indent-code.el gnu/packages/@var{file}.scm @var{package} |
|
|
|
@end example |
|
|
|
|
|
|
|
@noindent |
|
|
|
This automatically indents the definition of @var{package} in |
|
|
|
@file{gnu/packages/@var{file}.scm} by running Emacs in batch mode. |
|
|
|
@file{gnu/packages/@var{file}.scm} by running Emacs in batch mode. To |
|
|
|
indent a whole file, omit the second argument: |
|
|
|
|
|
|
|
@example |
|
|
|
./etc/indent-code.el gnu/services/@var{file}.scm |
|
|
|
@end example |
|
|
|
|
|
|
|
We require all top-level procedures to carry a docstring. This |
|
|
|
requirement can be relaxed for simple private procedures in the |
|
|
@ -374,7 +379,7 @@ or a package update along with fixes to that package. |
|
|
|
|
|
|
|
@item |
|
|
|
Please follow our code formatting rules, possibly running the |
|
|
|
@command{etc/indent-package.el} script to do that automatically for you |
|
|
|
@command{etc/indent-code.el} script to do that automatically for you |
|
|
|
(@pxref{Formatting Code}). |
|
|
|
|
|
|
|
@end enumerate |
|
|
|
|
|
@ -1,7 +1,8 @@ |
|
|
|
#!@EMACS@ --script |
|
|
|
;;; indent-package.el --- Run Emacs to indent a package definition. |
|
|
|
;;; indent-code.el --- Run Emacs to indent a package definition. |
|
|
|
|
|
|
|
;; Copyright © 2017 Alex Kost <alezost@gmail.com> |
|
|
|
;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> |
|
|
|
|
|
|
|
;; This file is part of GNU Guix. |
|
|
|
|
|
|
@ -20,8 +21,8 @@ |
|
|
|
|
|
|
|
;;; Commentary: |
|
|
|
|
|
|
|
;; This scripts indents the given package definition in the specified file |
|
|
|
;; using Emacs. |
|
|
|
;; This scripts indents the given file or package definition in the specified |
|
|
|
;; file using Emacs. |
|
|
|
|
|
|
|
;;; Code: |
|
|
|
|
|
|
@ -35,6 +36,7 @@ |
|
|
|
|
|
|
|
(pcase command-line-args-left |
|
|
|
(`(,file-name ,package-name) |
|
|
|
;; Indent the definition of PACKAGE-NAME in FILE-NAME. |
|
|
|
(find-file file-name) |
|
|
|
(goto-char (point-min)) |
|
|
|
(if (re-search-forward (concat "^(define\\(-public\\) +" |
|
|
@ -47,7 +49,14 @@ |
|
|
|
(message "Done!")) |
|
|
|
(error "Package '%s' not found in '%s'" |
|
|
|
package-name file-name))) |
|
|
|
(`(,file-name) |
|
|
|
;; Indent all of FILE-NAME. |
|
|
|
(find-file file-name) |
|
|
|
(let ((indent-tabs-mode nil)) |
|
|
|
(indent-region (point-min) (point-max)) |
|
|
|
(save-buffer) |
|
|
|
(message "Done!"))) |
|
|
|
(x |
|
|
|
(error "Usage: indent-package.el FILE PACKAGE"))) |
|
|
|
(error "Usage: indent-code.el FILE [PACKAGE]"))) |
|
|
|
|
|
|
|
;;; indent-package.el ends here |
|
|
|
;;; indent-code.el ends here |