emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/geiser-racket fd14450 062/191: Support for implementation-


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-racket fd14450 062/191: Support for implementation-specific font lock keywords
Date: Sun, 1 Aug 2021 18:32:00 -0400 (EDT)

branch: elpa/geiser-racket
commit fd144507cc836ecfb17f72b9e5e8c4772985d68d
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    Support for implementation-specific font lock keywords
    
    Spinning up from correct fontification of [else in this brave Racket
    world.
    
    I'm keeping the list of extra keywords lean and mean, but making it
    customizable in both Racket and Guile.
---
 elisp/geiser-racket.el | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index b348732..ac2e1f6 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -56,6 +56,11 @@ This executable is used by `run-gracket', and, if
   :type 'boolean
   :group 'geiser-racket)
 
+(geiser-custom--defcustom geiser-racket-extra-keywords
+    '("define-syntax-rule" "unless" "when" "with-handlers")
+  "Extra keywords highlighted in Racket buffers."
+  :type '(repeat string)
+  :group 'geiser-racket)
 
 
 ;;; REPL support:
@@ -223,6 +228,13 @@ This function uses `geiser-racket-init-file' if it exists."
       (geiser-racket--explicit-module)))
 
 
+;;; Keywords
+(defun geiser-racket--keywords ()
+  (when geiser-racket-extra-keywords
+    `((,(format "[[(]%s\\>" (regexp-opt geiser-racket-extra-keywords 1))
+       . 1))))
+
+
 ;;; Remote REPLs
 
 (defun connect-to-racket ()
@@ -251,6 +263,7 @@ using start-geiser, a procedure in the geiser/server 
module."
   (display-error geiser-racket--display-error)
   (display-help geiser-racket--external-help)
   (check-buffer geiser-racket--guess)
+  (keywords geiser-racket--keywords)
   (binding-forms geiser-racket--binding-forms)
   (binding-forms* geiser-racket--binding-forms*))
 



reply via email to

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