summaryrefslogtreecommitdiff
path: root/elisp
diff options
context:
space:
mode:
Diffstat (limited to 'elisp')
-rw-r--r--elisp/geiser-mode.el9
-rw-r--r--elisp/geiser.el4
2 files changed, 12 insertions, 1 deletions
diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el
index 719176d..8f8b7fe 100644
--- a/elisp/geiser-mode.el
+++ b/elisp/geiser-mode.el
@@ -34,6 +34,12 @@
"Mode enabling Geiser abilities in Scheme buffers &co.."
:group 'geiser)
+(geiser-custom--defcustom geiser-mode-auto-p t
+ "Whether `geiser-mode' should be active by default in all
+scheme buffers."
+ :group 'geiser-mode
+ :type 'boolean)
+
(geiser-custom--defcustom geiser-mode-autodoc-p t
"Whether `geiser-autodoc-mode' gets enabled by default in Scheme buffers."
:group 'geiser-mode
@@ -250,6 +256,9 @@ interacting with the Geiser REPL is at your disposal.
(interactive)
(geiser-mode -1))
+(defun geiser-mode--maybe-activate ()
+ (when geiser-mode-auto-p (turn-on-geiser-mode)))
+
;;; Keys:
diff --git a/elisp/geiser.el b/elisp/geiser.el
index d40b6a8..d293423 100644
--- a/elisp/geiser.el
+++ b/elisp/geiser.el
@@ -67,6 +67,8 @@
(autoload 'turn-off-geiser-mode "geiser-mode"
"Disable Geiser's mode (useful in Scheme buffers)." t)
+(autoload 'geiser-mode--maybe-activate "geiser-mode")
+
(mapc (lambda (group)
(custom-add-load group (symbol-name group))
(custom-add-load 'geiser (symbol-name group)))
@@ -85,7 +87,7 @@
;;; Setup:
(eval-after-load "scheme"
- '(add-hook 'scheme-mode-hook 'turn-on-geiser-mode))
+ '(add-hook 'scheme-mode-hook 'geiser-mode--maybe-activate))
(add-to-list 'auto-mode-alist '("\\.rkt\\'" . scheme-mode))