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

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

[nongnu] elpa/nasm-mode 23cb9de 20/67: Add imenu support for macro defin


From: ELPA Syncer
Subject: [nongnu] elpa/nasm-mode 23cb9de 20/67: Add imenu support for macro definitions.
Date: Sun, 29 Aug 2021 11:23:45 -0400 (EDT)

branch: elpa/nasm-mode
commit 23cb9de0e66479ca5a88397a4ebba3b2eef1cfc2
Author: Christopher Wellons <wellons@nullprogram.com>
Commit: Christopher Wellons <wellons@nullprogram.com>

    Add imenu support for macro definitions.
---
 nasm-mode.el | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/nasm-mode.el b/nasm-mode.el
index 80a4964..a58cdf8 100644
--- a/nasm-mode.el
+++ b/nasm-mode.el
@@ -407,6 +407,12 @@
   "\\<$?[-+0-9][-+_0-9A-Fa-fHhXxDdTtQqOoBbYyeE.]*\\>"
   "Regexp for `nasm-mode' for matching numeric constants.")
 
+(defconst nasm-imenu-generic-expression
+  `((nil ,(concat "^\\s-*" nasm-label-regexp) 1)
+    (nil ,(concat (regexp-opt '("%define" "%macro") 'words)
+                  "\\s-+\\([a-zA-Z0-9_$#@~.?]+\\)") 2))
+  "Expressions for `imenu-generic-expression'.")
+
 (defconst nasm-font-lock-keywords
   `(("\\<\\.[a-zA-Z0-9_$#@~.?]+\\>" . font-lock-type-face)
     (,(regexp-opt nasm-registers 'words) . font-lock-variable-name-face)
@@ -422,6 +428,8 @@
   (let ((table (make-syntax-table)))
     (prog1 table
       (modify-syntax-entry ?_  "w" table)
+      (modify-syntax-entry ?#  "w" table)
+      (modify-syntax-entry ?@  "w" table)
       (modify-syntax-entry ?\. "w" table)
       (modify-syntax-entry ?\? "w" table)
       (modify-syntax-entry ?#  "w" table)
@@ -474,8 +482,8 @@
   (setf font-lock-defaults '(nasm-font-lock-keywords nil :case-fold)
         indent-line-function #'nasm-indent-line
         comment-start ";"
-        imenu-generic-expression
-        `((nil ,(concat "^\\s-*" nasm-label-regexp) 1))))
+        imenu-generic-expression nasm-imenu-generic-expression))
+
 
 (provide 'nasm-mode)
 



reply via email to

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