Scheme

This file holds settings for the Scheme programming language. Currently set up for Guile Scheme development.

(use-package scheme
  :config
  <<do.scheme/conf>>
  <<do.scheme/hooks>>)

General Settings

(setq scheme-program-name "guile")

Hooks

;; scheme-mode
(add-hook 'scheme-mode-hook #'paredit-mode)
(add-hook 'scheme-mode-hook #'turn-on-geiser-mode)
;; inferior scheme
(add-hook 'inferior-scheme-mode-hook #'no-trailing-whitespace)
(add-hook 'inferior-scheme-mode-hook '(lambda () (setq-local ml-interactive? t)))

Geiser

(use-package geiser
  :ensure t
  :config
  <<do.scheme.geiser/conf>>
  <<do.scheme.geiser/hooks>>)

Configuration

(setq geiser-repl-use-other-window nil)
(setq geiser-active-implementations '(guile))

Hooks

(add-hook 'geiser-repl-mode-hook #'no-trailing-whitespace)
(add-hook 'geiser-repl-mode-hook #'paredit-mode)
(add-hook 'geiser-repl-mode-hook '(lambda () (setq-local ml-interactive? t)))