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

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

[nongnu] elpa/geiser-guile 0d3b1f8 205/284: Support for implementation-s


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-guile 0d3b1f8 205/284: Support for implementation-specific font lock keywords
Date: Sun, 1 Aug 2021 18:29:45 -0400 (EDT)

branch: elpa/geiser-guile
commit 0d3b1f8c0dcbb3a585a39bb60cc8ca6bd61d3df9
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-guile.el | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index a53395d..865c7fc 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -87,6 +87,11 @@ effect on new REPLs. For existing ones, use the command
                  (repeat :tag "Custom" symbol))
   :group 'geiser-guile)
 
+(geiser-custom--defcustom geiser-guile-extra-keywords nil
+  "Extra keywords highlighted in Guile scheme buffers."
+  :type '(repeat string)
+  :group 'geiser-guile)
+
 
 ;;; REPL support:
 
@@ -207,6 +212,13 @@ This function uses `geiser-guile-init-file' if it exists."
     (re-search-forward geiser-guile--guess-re nil t)))
 
 
+;;; Keywords
+(defun geiser-guile--keywords ()
+  (when geiser-guile-extra-keywords
+    `((,(format "[[(]%s\\>" (regexp-opt geiser-guile-extra-keywords 1))
+       . 1))))
+
+
 ;;; Compilation shell regexps
 
 (defconst geiser-guile--path-rx "^In \\([^:\n ]+\\):\n")
@@ -284,7 +296,8 @@ it spawn a server thread."
   (find-symbol-begin geiser-guile--symbol-begin)
   (display-error geiser-guile--display-error)
   (display-help)
-  (check-buffer geiser-guile--guess))
+  (check-buffer geiser-guile--guess)
+  (keywords geiser-guile--keywords))
 
 (geiser-impl--add-to-alist 'regexp "\\.scm$" 'guile nil)
 



reply via email to

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