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

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

[nongnu] elpa/d-mode 8771a86 162/346: Convert d-imenu-generic-expression


From: ELPA Syncer
Subject: [nongnu] elpa/d-mode 8771a86 162/346: Convert d-imenu-generic-expression to rx
Date: Sun, 29 Aug 2021 11:00:22 -0400 (EDT)

branch: elpa/d-mode
commit 8771a86787da162697b656debd8ee67114c8b611
Author: Vladimir Panteleev <git@thecybershadow.net>
Commit: Vladimir Panteleev <git@thecybershadow.net>

    Convert d-imenu-generic-expression to rx
---
 d-mode.el | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 62 insertions(+), 4 deletions(-)

diff --git a/d-mode.el b/d-mode.el
index 3f34c50..e35392e 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -557,10 +557,68 @@ The expression is added to 
`compilation-error-regexp-alist' and
            (not invis))))))
 
 (defvar d-imenu-generic-expression
-  `(("*Classes*" 
"^\\s-*\\(?:\\(?:final\\|abstract\\)\\s-+\\)?\\<class\\s-+\\([a-zA-Z0-9_]+\\)" 
1)
-    ("*Interfaces*" "^\\s-*\\<interface\\s-+\\([a-zA-Z0-9_]+\\)" 1)
-    ("*Structs*" "^\\s-*\\<struct\\s-+\\([a-zA-Z0-9_]+\\)" 1)
-    ("*Templates*" 
"^\\s-*\\(?:mixin\\s-+\\)?\\<template\\s-+\\([a-zA-Z0-9_]+\\)" 1)
+  `(("*Classes*"
+     ,(rx
+       line-start
+       (zero-or-more (syntax whitespace))
+       (zero-or-one
+       (or "final" "abstract")
+       (one-or-more (syntax whitespace)))
+       word-start
+       "class"
+       (one-or-more (syntax whitespace))
+       (submatch
+       (one-or-more
+        (any ?_
+             (?0 . ?9)
+             (?A . ?Z)
+             (?a . ?z)))))
+     1)
+    ("*Interfaces*"
+     ,(rx
+       line-start
+       (zero-or-more (syntax whitespace))
+       word-start
+       "interface"
+       (one-or-more (syntax whitespace))
+       (submatch
+       (one-or-more
+        (any ?_
+             (?0 . ?9)
+             (?A . ?Z)
+             (?a . ?z)))))
+     1)
+    ("*Structs*"
+     ,(rx
+       line-start
+       (zero-or-more (syntax whitespace))
+       word-start
+       "struct"
+       (one-or-more (syntax whitespace))
+       (submatch
+       (one-or-more
+        (any ?_
+             (?0 . ?9)
+             (?A . ?Z)
+             (?a . ?z)))))
+     1)
+    ("*Templates*"
+     ,(rx
+       line-start
+       (zero-or-more (syntax whitespace))
+       (zero-or-one
+       "mixin"
+       (one-or-more (syntax whitespace)))
+       word-start
+       "template"
+       (one-or-more (syntax whitespace))
+       (submatch
+       (one-or-more
+        (any ?_
+             (?0 . ?9)
+             (?A . ?Z)
+             (?a . ?z)))))
+     1)
     (nil d-imenu-method-index-function 2)))
 
 ;;----------------------------------------------------------------------------



reply via email to

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