etc: indent-code.el: Add indentation info for non-Guix Scheme constructs.
* etc/indent-code.el.in (guix-syntax--scheme-indent): New macro. Use it.master
parent
7386a0481c
commit
830d4c1fcd
|
@ -34,6 +34,58 @@
|
||||||
(hack-dir-local-variables)
|
(hack-dir-local-variables)
|
||||||
(hack-local-variables-apply)))
|
(hack-local-variables-apply)))
|
||||||
|
|
||||||
|
;; Add indentation info for Scheme constructs that are not Guix-specific.
|
||||||
|
;; This is normally provided by Geiser but this file is for people who may not
|
||||||
|
;; be running Geiser, so we just copy it here (from 'geiser-syntax.el').
|
||||||
|
(defmacro guix-syntax--scheme-indent (&rest pairs)
|
||||||
|
`(progn ,@(mapcar (lambda (p)
|
||||||
|
`(put ',(car p) 'scheme-indent-function ',(cadr p)))
|
||||||
|
pairs)))
|
||||||
|
|
||||||
|
(guix-syntax--scheme-indent
|
||||||
|
(and-let* 1)
|
||||||
|
(case-lambda 0)
|
||||||
|
(catch defun)
|
||||||
|
(class defun)
|
||||||
|
(dynamic-wind 0)
|
||||||
|
(guard 1)
|
||||||
|
(let*-values 1)
|
||||||
|
(let-values 1)
|
||||||
|
(let/ec 1)
|
||||||
|
(letrec* 1)
|
||||||
|
(match 1)
|
||||||
|
(match-lambda 0)
|
||||||
|
(match-lambda* 0)
|
||||||
|
(match-let scheme-let-indent)
|
||||||
|
(match-let* 1)
|
||||||
|
(match-letrec 1)
|
||||||
|
(opt-lambda 1)
|
||||||
|
(parameterize 1)
|
||||||
|
(parameterize* 1)
|
||||||
|
(receive 2)
|
||||||
|
(require-extension 0)
|
||||||
|
(syntax-case 2)
|
||||||
|
(test-approximate 1)
|
||||||
|
(test-assert 1)
|
||||||
|
(test-eq 1)
|
||||||
|
(test-equal 1)
|
||||||
|
(test-eqv 1)
|
||||||
|
(test-group-with-cleanup 1)
|
||||||
|
(test-runner-on-bad-count! 1)
|
||||||
|
(test-runner-on-bad-end-name! 1)
|
||||||
|
(test-runner-on-final! 1)
|
||||||
|
(test-runner-on-group-begin! 1)
|
||||||
|
(test-runner-on-group-end! 1)
|
||||||
|
(test-runner-on-test-begin! 1)
|
||||||
|
(test-runner-on-test-end! 1)
|
||||||
|
(test-with-runner 1)
|
||||||
|
(unless 1)
|
||||||
|
(when 1)
|
||||||
|
(while 1)
|
||||||
|
(with-exception-handler 1)
|
||||||
|
(with-syntax 1))
|
||||||
|
|
||||||
|
|
||||||
(pcase command-line-args-left
|
(pcase command-line-args-left
|
||||||
(`(,file-name ,package-name)
|
(`(,file-name ,package-name)
|
||||||
;; Indent the definition of PACKAGE-NAME in FILE-NAME.
|
;; Indent the definition of PACKAGE-NAME in FILE-NAME.
|
||||||
|
|
Reference in New Issue