guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Geiser vs. guile-mode?


From: sirgazil
Subject: Re: Geiser vs. guile-mode?
Date: Thu, 20 Feb 2020 09:24:16 -0500
User-agent: Zoho Mail

 ---- On Wed, 19 Feb 2020 09:16:34 -0500 Ricardo Wurmus <address@hidden> wrote 
----
 > 
 > sirgazil <address@hidden> writes:
 > 
 > > I also find some fundamental things missing when programming in Guile 
 > > Scheme (with Emacs+Geiser):
 > >
 > > 1. On-the-fly syntax checking (see flycheck)
 > 
 > This is available by default in “Guile Studio”[1].  It works by compiling
 > the buffer:
 > 
 > --8<---------------cut here---------------start------------->8---
 > (require 'flycheck)
 > (flycheck-define-checker guile
 >                          "A Guile syntax checker with `guild compile'."
 >                          :command ("guild" "compile" "--to=cps"
 >                                    "--warn=unused-variable"
 >                                    "--warn=unused-toplevel"
 >                                    "--warn=unbound-variable"
 >                                    "--warn=macro-use-before-definition"
 >                                    "--warn=arity-mismatch"
 >                                    "--warn=duplicate-case-datum"
 >                                    "--warn=bad-case-datum"
 >                                    "--warn=format"
 >                                    source)
 >                          :predicate
 >                          (lambda ()
 >                            (and (boundp 'geiser-impl--implementation)
 >                                 (eq geiser-impl--implementation 'guile)))
 >                          :verify
 >                          (lambda (checker)
 >                            (let ((geiser-impl (bound-and-true-p 
 > geiser-impl--implementation)))
 >                              (list
 >                               (flycheck-verification-result-new
 >                                :label "Geiser Implementation"
 >                                :message (cond
 >                                          ((eq geiser-impl 'guile) "Guile")
 >                                          (geiser-impl (format "Other: %s" 
 > geiser-impl))
 >                                          (t "Geiser not active"))
 >                                :face (cond
 >                                       ((or (eq geiser-impl 'guile)) 'success)
 >                                       (t '(bold error)))))))
 >                          :error-patterns
 >                          ((warning
 >                            line-start (file-name) ":" line ":" column ": 
 > warning:" (message) line-end)
 >                           (error
 >                            line-start (file-name) ":" line ":" column ":" 
 > (message) line-end))
 >                          :modes (scheme-mode geiser-mode))
 > (add-to-list 'flycheck-checkers 'guile)
 > (global-flycheck-mode 1)
 > --8<---------------cut here---------------end--------------->8---

Thanks, Ricardo :)

Any reason why this checker is not integrated into Flycheck? Currently, the 
only supported Scheme in Flycheck is Chikken...



reply via email to

[Prev in Thread] Current Thread [Next in Thread]