diff options
author | Diogo F. S. Ramos <dfsr@riseup.net> | 2014-02-24 17:46:50 -0300 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2014-02-25 00:42:45 +0100 |
commit | 5fddde9ef9dc53fd3cc8aacda4f0ed5a9c3a2e52 (patch) | |
tree | 745f34f81908045d24a21c75f607d8ca2ed1dd60 | |
parent | c00e7678d97beb0107740e408263931b88449886 (diff) | |
download | geiser-chez-5fddde9ef9dc53fd3cc8aacda4f0ed5a9c3a2e52.tar.gz geiser-chez-5fddde9ef9dc53fd3cc8aacda4f0ed5a9c3a2e52.tar.bz2 |
Font lock `define-syntax-rule' like `define' procedures
`define-syntax-rule' is similar enough to procedure definitions that
it should be highlight as a slightly different version of one.
The faces were chosen to keep the same scheme used by `define-macro'.
`define-syntax-rule' was removed from Racket's extra keywords as there
is no need to special case it.
-rw-r--r-- | elisp/geiser-racket.el | 3 | ||||
-rw-r--r-- | elisp/geiser-syntax.el | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el index e466ce3..4c1b127 100644 --- a/elisp/geiser-racket.el +++ b/elisp/geiser-racket.el @@ -61,8 +61,7 @@ This executable is used by `run-gracket', and, if :group 'geiser-racket) (geiser-custom--defcustom geiser-racket-extra-keywords - '("define-syntax-rule" "provide" "require" - "unless" "when" "with-handlers") + '("provide" "require" "unless" "when" "with-handlers") "Extra keywords highlighted in Racket buffers." :type '(repeat string) :group 'geiser-racket) diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el index 7a33770..8b427f6 100644 --- a/elisp/geiser-syntax.el +++ b/elisp/geiser-syntax.el @@ -52,8 +52,12 @@ ;;; Extra syntax keywords (defconst geiser-syntax--keywords - '(("\\[\\(else\\)\\>" . 1) - ("(\\(parameterize\\)\\>" . 1))) + `(("\\[\\(else\\)\\>" . 1) + ("(\\(parameterize\\)\\>" . 1) + (,(rx "(" (group "define-syntax-rule") eow (* space) + (? "(") (? (group (1+ word)))) + (1 font-lock-keyword-face) + (2 font-lock-variable-name-face)))) (font-lock-add-keywords 'scheme-mode geiser-syntax--keywords) |