emacs-diffs
[Top][All Lists]
Advanced

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

emacs-29 d97a383996: csharp-ts-mode: fontify compiler directives (bug#61


From: Theodor Thornhill
Subject: emacs-29 d97a383996: csharp-ts-mode: fontify compiler directives (bug#61512)
Date: Tue, 14 Feb 2023 14:47:11 -0500 (EST)

branch: emacs-29
commit d97a38399678269e01e32e5b3da4d3d91144c433
Author: Jostein Kjønigsen <jostein@kjonigsen.net>
Commit: Theodor Thornhill <theo@thornhill.no>

    csharp-ts-mode: fontify compiler directives (bug#61512)
    
    lisp/progmodes/csharp-mode.el: Add tree-sitter-queries for known C#
    compiler-directives.
---
 lisp/progmodes/csharp-mode.el | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/csharp-mode.el b/lisp/progmodes/csharp-mode.el
index 852e893dc2..b6b842d7fd 100644
--- a/lisp/progmodes/csharp-mode.el
+++ b/lisp/progmodes/csharp-mode.el
@@ -862,7 +862,30 @@ compilation and evaluation time conflicts."
    :language 'c-sharp
    :feature 'escape-sequence
    :override t
-   '((escape_sequence) @font-lock-escape-face)))
+   '((escape_sequence) @font-lock-escape-face)
+
+   :language 'c-sharp
+   :feature 'directives
+   :override t
+   '((if_directive
+      "if" @font-lock-preprocessor-face
+      (identifier) @font-lock-variable-name-face)
+     (elif_directive
+      "elif" @font-lock-preprocessor-face
+      (identifier) @font-lock-variable-name-face)
+     (else_directive) @font-lock-preprocessor-face
+     (endif_directive) @font-lock-preprocessor-face
+     (define_directive
+      "define" @font-lock-preprocessor-face
+      (identifier) @font-lock-variable-name-face)
+     (nullable_directive) @font-lock-preprocessor-face
+     (pragma_directive) @font-lock-preprocessor-face
+     (region_directive) @font-lock-preprocessor-face
+     (endregion_directive) @font-lock-preprocessor-face
+     (region_directive
+      (preproc_message) @font-lock-variable-name-face)
+     (endregion_directive
+      (preproc_message) @font-lock-variable-name-face))))
 
 ;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.cs\\'" . csharp-mode))
@@ -925,7 +948,7 @@ Key bindings:
   (setq-local treesit-font-lock-settings csharp-ts-mode--font-lock-settings)
   (setq-local treesit-font-lock-feature-list
               '(( comment definition)
-                ( keyword string type)
+                ( keyword string type directives)
                 ( constant escape-sequence expression literal property)
                 ( function bracket delimiter error)))
 



reply via email to

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