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

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

[nongnu] elpa/d-mode df1edde 182/346: Fix imenu with extern declarations


From: ELPA Syncer
Subject: [nongnu] elpa/d-mode df1edde 182/346: Fix imenu with extern declarations
Date: Sun, 29 Aug 2021 11:00:26 -0400 (EDT)

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

    Fix imenu with extern declarations
---
 d-mode.el     | 17 +++++++++++++++--
 tests/imenu.d |  5 ++++-
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/d-mode.el b/d-mode.el
index 38ae8f0..2312f71 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -7,7 +7,7 @@
 ;; Maintainer:  Russel Winder <russel@winder.org.uk>
 ;;              Vladimir Panteleev <vladimir@thecybershadow.net>
 ;; Created:  March 2007
-;; Version:  201908262253
+;; Version:  201908262309
 ;; Keywords:  D programming language emacs cc-mode
 ;; Package-Requires: ((emacs "24.3"))
 
@@ -493,7 +493,20 @@ Each list item should be a regexp matching a single 
identifier."
      (one-or-more (any "a-zA-Z0-9_"))
      (zero-or-more space)
      ")"
-     (zero-or-more space))))
+     (zero-or-more space))
+
+    ;; Extern declarations
+    (zero-or-one
+     "extern"
+     (zero-or-more space)
+     "("
+     (zero-or-more space)
+     (one-or-more (not (any "()")))
+     (zero-or-more space)
+     ")"
+     (zero-or-more space))
+
+    ))
 
 (defconst d-imenu-method-name-pattern
   (rx
diff --git a/tests/imenu.d b/tests/imenu.d
index b61d0f3..0dddfcd 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)
+// #out: (4 6 11 14 17 19 22 25 33 34 37 40 43 46 49 52 54 56 67 75 78)
 
 void foo(int x) {}
 
@@ -73,3 +73,6 @@ Entry getLog()
 
 // Conditional declarations
 version(CoreDdoc) enum ClockType {}
+
+// Extern declarations
+extern (D) void peekSlice() {}



reply via email to

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