From 08b4499a0c440279257b38d49003ea5a6c848a45 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Wed, 24 Oct 2012 04:17:19 +0200 Subject: 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(-) (limited to 'elisp/geiser-racket.el') 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)) -- cgit v1.2.3