emacs-diffs
[Top][All Lists]
Advanced

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

master 2fb6f252bfe: Improve support for preprocessor macros in 'c/c++-ts


From: Eli Zaretskii
Subject: master 2fb6f252bfe: Improve support for preprocessor macros in 'c/c++-ts-mode'
Date: Sat, 23 Mar 2024 05:12:07 -0400 (EDT)

branch: master
commit 2fb6f252bfe2cd06a49975bc97a794fb70392538
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Improve support for preprocessor macros in 'c/c++-ts-mode'
    
    * lisp/progmodes/c-ts-mode.el (c-ts-mode--defun-name)
    (c-ts-base-mode): Support preprocessor macros as defuns.  This
    fixes both navigation by defuns and add-log when cpp macros are at
    point.
---
 lisp/progmodes/c-ts-mode.el | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index a2e7f6fba2e..8383979a373 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -911,7 +911,8 @@ Return nil if NODE is not a defun node or doesn't have a 
name."
        t))
      ((or "struct_specifier" "enum_specifier"
           "union_specifier" "class_specifier"
-          "namespace_definition")
+          "namespace_definition"
+          "preproc_def" "preproc_function_def")
       (treesit-node-child-by-field-name node "name"))
      ;; DEFUNs in Emacs sources.
      ("expression_statement"
@@ -1205,7 +1206,9 @@ BEG and END are described in `treesit-range-rules'."
                                    "enum_specifier"
                                    "union_specifier"
                                    "class_specifier"
-                                   "namespace_definition")
+                                   "namespace_definition"
+                                   "preproc_def"
+                                   "preproc_function_def")
                                  (and c-ts-mode-emacs-sources-support
                                       '(;; DEFUN.
                                         "expression_statement"



reply via email to

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