branch: elpa/d-mode
commit 300708d266f80f2d10419ff1e218d51eb3d90699
Author: Vladimir Panteleev <[email protected]>
Commit: Vladimir Panteleev <[email protected]>
Fix imenu for template members
---
d-mode.el | 5 +++--
tests/imenu.d | 7 ++++++-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/d-mode.el b/d-mode.el
index d36c024..f237547 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: 201909121912
+;; Version: 201911071726
;; Keywords: D programming language emacs cc-mode
;; Package-Requires: ((emacs "25.1"))
@@ -987,7 +987,8 @@ Currently handles `-delimited string literals."
(setq s (cons -1 (cdr s))))
((and (equal match ",")
(eq (car s) -1))) ; at "," in "class foo : bar, ..."
- ((member match '(";" "," ")"))
+ ;; D: Ignore ")", which can be part of parameter lists
+ ((member match '(";" ","))
(when (and s (cdr s) (<= (car s) 0))
(setq s (cdr s))))
((c-keyword-member kwd-sym 'c-flat-decl-block-kwds)
diff --git a/tests/imenu.d b/tests/imenu.d
index 5b4dd0b..690aad8 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 46 49 52 54 56 67 75 78 81 84
87 89 93 94)
+// #out: (4 6 11 14 17 19 22 25 33 34 37 40 43 46 49 52 54 56 67 75 78 81 84
87 89 93 94 96 98)
void foo(int x) {}
@@ -92,3 +92,8 @@ string relativePath(CaseSensitive cs =
CaseSensitive.osDefault)
inout(ubyte) bytes(){}
immutable(ubyte) bytes(){}
+
+mixin template MT()
+{
+ void fun() {}
+}