branch: elpa/d-mode
commit fda6318075d2ee32b59ae5338cbc24c04f253094
Author: Vladimir Panteleev <[email protected]>
Commit: Vladimir Panteleev <[email protected]>
Fix imenu for structs/classes with protection specifiers
---
d-mode.el | 9 ++++++---
tests/imenu.d | 8 +++++++-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/d-mode.el b/d-mode.el
index 9d49250..840b7a1 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -7,7 +7,7 @@
;; Maintainer: Russel Winder <[email protected]>
;; Vladimir Panteleev <[email protected]>
;; Created: March 2007
-;; Version: 201610111946
+;; Version: 201610111950
;; Keywords: D programming language emacs cc-mode
;;;; NB Version number is date and time yyyymmddhhMM UTC.
@@ -561,8 +561,8 @@ The expression is added to `compilation-error-regexp-alist'
and
,(rx
line-start
(zero-or-more (syntax whitespace))
- (zero-or-one
- (or "final" "abstract")
+ (zero-or-more
+ (or "final" "abstract" "private" "package" "protected" "public"
"export" "static")
(one-or-more (syntax whitespace)))
word-start
"class"
@@ -592,6 +592,9 @@ The expression is added to `compilation-error-regexp-alist'
and
,(rx
line-start
(zero-or-more (syntax whitespace))
+ (zero-or-more
+ (or "private" "package" "protected" "public" "export" "static")
+ (one-or-more (syntax whitespace)))
word-start
"struct"
(one-or-more (syntax whitespace))
diff --git a/tests/imenu.d b/tests/imenu.d
index a5adb59..3ab7dab 100644
--- a/tests/imenu.d
+++ b/tests/imenu.d
@@ -1,5 +1,5 @@
// #run: (d-test-get-imenu-lines)
-// #out: (4 6 11 14 17 19 22 25 33 34 37 40 43)
+// #out: (4 6 11 14 17 19 22 25 33 34 37 40 43 46 49)
void foo(int x) {}
@@ -42,3 +42,9 @@ enum Foo : int
string absolutePath(string path, lazy string base = getcwd())
{}
+
+private final class C
+{}
+
+public struct S
+{}