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

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

[nongnu] elpa/geiser-guile 467aded 240/284: Highlight `define-once'


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-guile 467aded 240/284: Highlight `define-once'
Date: Sun, 1 Aug 2021 18:29:52 -0400 (EDT)

branch: elpa/geiser-guile
commit 467aded542e8428b90549727dafbb4d6bcb07cd4
Author: Diogo F. S. Ramos <dfsr@riseup.net>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    Highlight `define-once'
    
    Guile's `define-once' allows defining a variable only once, but its
    syntax is different from `define', so its highlight is different.
---
 elisp/geiser-guile.el | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index bc96973..5bfff4d 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -248,9 +248,13 @@ This function uses `geiser-guile-init-file' if it exists."
 ;;; Keywords and syntax
 
 (defun geiser-guile--keywords ()
-  (when geiser-guile-extra-keywords
-    `((,(format "[[(]%s\\>" (regexp-opt geiser-guile-extra-keywords 1))
-       . 1))))
+  (append
+   (when geiser-guile-extra-keywords
+     `((,(format "[[(]%s\\>" (regexp-opt geiser-guile-extra-keywords 1))
+         . 1)))
+   `((,(rx "(" (group "define-once") eow (* space) (? (group (+ word))))
+       (1 font-lock-keyword-face)
+       (2 font-lock-variable-name-face nil t)))))
 
 (geiser-syntax--scheme-indent
  (c-declare 0)



reply via email to

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