From 5d86684ddfe7ed27b37fa4b29c602b45756cc5be Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 16 Oct 2015 23:38:38 +0300 Subject: [PATCH] emacs: devel: Highlight Guix keywords. * emacs/guix-devel.el (guix-devel-keywords): New constant. (guix-devel-font-lock-keywords): Use it. --- emacs/guix-devel.el | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/emacs/guix-devel.el b/emacs/guix-devel.el index c8bfbb0a8a..f3ad4b9255 100644 --- a/emacs/guix-devel.el +++ b/emacs/guix-devel.el @@ -178,9 +178,52 @@ to find 'modify-phases' keywords." (ignore-errors (forward-sexp)) (save-excursion (up-list) (point))))) +(defconst guix-devel-keywords + '("call-with-compressed-output-port" + "call-with-container" + "call-with-decompressed-port" + "call-with-derivation-narinfo" + "call-with-derivation-substitute" + "call-with-error-handling" + "call-with-temporary-directory" + "call-with-temporary-output-file" + "define-enumerate-type" + "define-gexp-compiler" + "define-lift" + "define-monad" + "define-operation" + "define-record-type*" + "emacs-substitute-sexps" + "emacs-substitute-variables" + "mbegin" + "mlet" + "mlet*" + "munless" + "mwhen" + "run-with-state" + "run-with-store" + "signature-case" + "substitute*" + "substitute-keyword-arguments" + "test-assertm" + "use-package-modules" + "use-service-modules" + "use-system-modules" + "with-atomic-file-output" + "with-atomic-file-replacement" + "with-derivation-narinfo" + "with-derivation-substitute" + "with-directory-excursion" + "with-error-handling" + "with-monad" + "with-mutex" + "with-store")) + (defvar guix-devel-font-lock-keywords `((,(rx (or "#~" "#$" "#$@" "#+" "#+@")) . 'guix-devel-gexp-symbol) + (,(guix-guile-keyword-regexp (regexp-opt guix-devel-keywords)) + (1 'font-lock-keyword-face)) (,(guix-guile-keyword-regexp "modify-phases") (1 'font-lock-keyword-face) (guix-devel-modify-phases-font-lock-matcher