summaryrefslogtreecommitdiff
path: root/elisp/geiser-syntax.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-syntax.el')
-rw-r--r--elisp/geiser-syntax.el16
1 files changed, 16 insertions, 0 deletions
diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el
index f134ea4..40f2def 100644
--- a/elisp/geiser-syntax.el
+++ b/elisp/geiser-syntax.el
@@ -85,6 +85,22 @@
(with-syntax 1))
+;;; Extra syntax keywords
+(defconst geiser-syntax--keywords
+ '(("\\[\\(else\\)\\>" . 1)
+ ("(\\(parameterize\\)\\>" . 1)))
+
+(font-lock-add-keywords 'scheme-mode geiser-syntax--keywords)
+
+(geiser-impl--define-caller geiser-syntax--impl-kws keywords ()
+ "A variable (or thunk returning a value) giving additional,
+implementation-specific entries for font-lock-keywords.")
+
+(defun geiser-syntax--add-kws ()
+ (let ((kw (geiser-syntax--impl-kws geiser-impl--implementation)))
+ (when kw (font-lock-add-keywords nil kw))))
+
+
;;; A simple scheme reader
(defvar geiser-syntax--read/buffer-limit nil)