lang/scheme: general refactor

To optimize it and conform to new elips conventions introduced with
straight.el integration.
This commit is contained in:
Henrik Lissner 2019-09-13 13:56:23 -04:00
parent 8ad8b5d8ad
commit 016f6c1b8b
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,21 +1,24 @@
;;; lang/scheme/config.el -*- lexical-binding: t; -*- ;;; lang/scheme/config.el -*- lexical-binding: t; -*-
;;;###package scheme
(add-hook 'scheme-mode-hook #'rainbow-delimiters-mode) (add-hook 'scheme-mode-hook #'rainbow-delimiters-mode)
(def-package! geiser
:mode ("\\.scm\\'" . scheme-mode) (use-package! geiser
:mode ("\\.ss\\'" . scheme-mode) :defer t
:commands (geiser)
:init :init
(setq geiser-active-implementations '(guile chicken mit chibi chez)) (setq geiser-active-implementations '(guile chicken mit chibi chez))
(unless (featurep! :lang racket)
(push 'racket geiser-active-implementations))
(after! scheme ; built-in
(set-repl-handler! 'scheme-mode '+scheme/repl) (set-repl-handler! 'scheme-mode '+scheme/repl)
(set-eval-handler! 'scheme-mode #'geiser-eval-region) (set-eval-handler! 'scheme-mode #'geiser-eval-region)
(set-lookup-handlers! 'scheme-mode (set-lookup-handlers! 'scheme-mode
:definition #'geiser-edit-symbol-at-point :definition #'geiser-edit-symbol-at-point
:documentation #'geiser-doc-symbol-at-point) :documentation #'geiser-doc-symbol-at-point))
:config :config
(map! (:localleader (map! :localleader
(:map scheme-mode-map :map scheme-mode-map
"'" #'geiser-mode-switch-to-repl "'" #'geiser-mode-switch-to-repl
"s" #'geiser-set-scheme "s" #'geiser-set-scheme
@ -36,4 +39,4 @@
"q" #'geiser-repl-exit "q" #'geiser-repl-exit
"r" #'geiser-restart-repl "r" #'geiser-restart-repl
"R" #'geiser-reload "R" #'geiser-reload
"c" #'geiser-repl-clear-buffer))))) "c" #'geiser-repl-clear-buffer)))