branch: elpa/geiser-racket
commit 2097d2b093cdf2af0ea1638f825b3dd7b577ce59
Author: Jose Antonio Ortega Ruiz <[email protected]>
Commit: Jose Antonio Ortega Ruiz <[email protected]>
Little clean-ups to the indentation rules
Splitting better the specially indented forms between our two
implementations, so that users of a single one don't get weird
indentations for froms without a special meaning in their scheme.
Ideally, we should make these indentation rules buffer-local, so that
when a user is in a, say, Guile buffer, module+ has no special
indentation (as is the case now if that user also has activated
support for Racket).
---
elisp/geiser-racket.el | 77 ++++++++++++++++++++++++++++++++++----------------
1 file changed, 53 insertions(+), 24 deletions(-)
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index fe4b578..a5b2f37 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -253,6 +253,7 @@ using start-geiser, a procedure in the geiser/server
module."
;;; Keywords and syntax
+
(defun geiser-racket--keywords ()
(append '(("^#lang\\>" . 0)
("\\[\\(else\\)\\>" . 1))
@@ -261,30 +262,12 @@ using start-geiser, a procedure in the geiser/server
module."
. 1)))))
(geiser-syntax--scheme-indent
- (splicing-let 1)
- (splicing-letrec 1)
- (splicing-let-values 1)
- (splicing-letrec-values 1)
- (splicing-let-syntax 1)
- (splicing-letrec-syntax 1)
- (splicing-let-syntaxes 1)
- (splicing-letrec-syntaxes 1)
- (splicing-letrec-syntaxes+values 1)
- (splicing-local 1)
+ (begin0 1)
+ (case-lambda: 0)
+ (class* defun)
+ (compound-unit/sig 0)
+ (define: defun)
(for 1)
- (for/and 1)
- (for/first 1)
- (for/fold 2)
- (for/hash 1)
- (for/hasheq 1)
- (for/hasheqv 1)
- (for/last 1)
- (for/list 1)
- (for/lists 2)
- (for/or 1)
- (for/product 1)
- (for/sum 1)
- (for/vector 1)
(for* 1)
(for*/and 1)
(for*/first 1)
@@ -299,7 +282,53 @@ using start-geiser, a procedure in the geiser/server
module."
(for*/product 1)
(for*/sum 1)
(for*/vector 1)
- (module+ defun))
+ (for/and 1)
+ (for/first 1)
+ (for/fold 2)
+ (for/hash 1)
+ (for/hasheq 1)
+ (for/hasheqv 1)
+ (for/last 1)
+ (for/list 1)
+ (for/lists 2)
+ (for/or 1)
+ (for/product 1)
+ (for/sum 1)
+ (for/vector 1)
+ (instantiate 2)
+ (interface 1)
+ (lambda/kw 1)
+ (lambda: 1)
+ (let*-values: 1)
+ (let+ 1)
+ (let-values: 1)
+ (let/cc: 1)
+ (let: 1)
+ (letrec-values: 1)
+ (letrec: 1)
+ (mixin 2)
+ (module defun)
+ (module+ defun)
+ (parameterize-break 1)
+ (quasisyntax/loc 1)
+ (send* 1)
+ (splicing-let 1)
+ (splicing-let-syntax 1)
+ (splicing-let-syntaxes 1)
+ (splicing-let-values 1)
+ (splicing-letrec 1)
+ (splicing-letrec-syntax 1)
+ (splicing-letrec-syntaxes 1)
+ (splicing-letrec-syntaxes+values 1)
+ (splicing-letrec-values 1)
+ (splicing-local 1)
+ (syntax-id-rules defun)
+ (syntax/loc 1)
+ (type-case defun)
+ (unit defun)
+ (unit/sig 2)
+ (with-handlers 1)
+ (with-handlers: 1))