[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/d-mode 3f34028 185/346: Fix imenu with AtAttributes
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/d-mode 3f34028 185/346: Fix imenu with AtAttributes |
Date: |
Sun, 29 Aug 2021 11:00:27 -0400 (EDT) |
branch: elpa/d-mode
commit 3f3402897640e589fd26bbd09cfed0dcccde6a96
Author: Vladimir Panteleev <git@thecybershadow.net>
Commit: Vladimir Panteleev <git@thecybershadow.net>
Fix imenu with AtAttributes
---
d-mode.el | 84 ++++++++++++++++++++++++++++++++---------------------------
tests/imenu.d | 5 +++-
2 files changed, 50 insertions(+), 39 deletions(-)
diff --git a/d-mode.el b/d-mode.el
index 9c2af8e..96ea1b9 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: 201908262322
+;; Version: 201908262327
;; Keywords: D programming language emacs cc-mode
;; Package-Requires: ((emacs "24.3"))
@@ -492,40 +492,53 @@ Each list item should be a regexp matching a single
identifier."
(zero-or-more space))
(zero-or-more
- word-start
(or
- ;; StorageClass
- "deprecated"
- "static"
- "extern"
- "abstract"
- "final"
- "override"
- "synchronized"
- "scope"
- "nothrow"
- "pure"
- "ref"
+ word-start
+ (or
+ ;; StorageClass
+ "deprecated"
+ "static"
+ "extern"
+ "abstract"
+ "final"
+ "override"
+ "synchronized"
+ "scope"
+ "nothrow"
+ "pure"
+ "ref"
+ (seq
+ (or
+ "extern"
+ "deprecated"
+ "package"
+ )
+ (zero-or-more space)
+ "("
+ (zero-or-more space)
+ (one-or-more (not (any "()")))
+ (zero-or-more space)
+ ")")
+
+ ;; VisibilityAttribute
+ "private"
+ "package"
+ "protected"
+ "public"
+ "export"
+ )
+
+ ;; AtAttribute
(seq
- (or
- "extern"
- "deprecated"
- "package"
- )
- (zero-or-more space)
- "("
- (zero-or-more space)
- (one-or-more (not (any "()")))
- (zero-or-more space)
- ")")
-
- ;; VisibilityAttribute
- "private"
- "package"
- "protected"
- "public"
- "export"
- )
+ "@"
+ (one-or-more (any "a-zA-Z0-9_"))
+ (zero-or-one
+ (zero-or-more space)
+ "("
+ (zero-or-more space)
+ (one-or-more (not (any "()")))
+ (zero-or-more space)
+ ")")))
(zero-or-more space))
))
@@ -538,11 +551,6 @@ Each list item should be a regexp matching a single
identifier."
(eval d--imenu-rx-def-start)
- ;; Qualifiers
- (zero-or-more
- (one-or-more (any "a-z_@()C+"))
- (one-or-more space))
-
;; Type
(group
(one-or-more (any "a-zA-Z0-9_.*![]()")))
diff --git a/tests/imenu.d b/tests/imenu.d
index 9dcfae1..1aac8fa 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)
+// #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)
void foo(int x) {}
@@ -82,3 +82,6 @@ public alias foo=bar;
// alias template
public alias Regex(Char) = std.regex.internal.ir.Regex!(Char);
+
+// AtAttribute
+@trusted public struct RegexMatch(R, alias Engine = ThompsonMatcher) {}
- [nongnu] elpa/d-mode 03cd06c 130/346: tests: Add imenu test for 72d2022b606c1ce72bc3e09ecd0679fa057d9496, (continued)
- [nongnu] elpa/d-mode 03cd06c 130/346: tests: Add imenu test for 72d2022b606c1ce72bc3e09ecd0679fa057d9496, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 3e5a5d5 131/346: tests: Add test case for pull request #35, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode be57907 132/346: tests: Make do-one-test never throw, always return nil/t, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 441b866 134/346: tests: Actually test indentation for issue #39, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode baf1669 138/346: tests: Add tests for issue #26., ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode e81e5f7 147/346: Register our syntax-propertize-function before calling c-common-init, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 739a31e 160/346: Fix imenu for functions with line comments before the body, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode e64d5fc 169/346: .travis.yml: Update with emacs-travis compatibility updates, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode b5d936d 178/346: Fix imenu hang with unterminated function declaration, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode df1edde 182/346: Fix imenu with extern declarations, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 3f34028 185/346: Fix imenu with AtAttributes,
ELPA Syncer <=
- [nongnu] elpa/d-mode b7dc06e 186/346: Fix imenu with function non-template arg list on own line, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 1ec5880 188/346: Fix another bug related to `-delimited strings, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 781a94d 068/346: Add doc-comment style that recognizes doxygen and D doc-comments., ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 2ef7c5c 077/346: Add d-mode testing infrastructure., ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode e35790c 137/346: tests: Disable #39 test for Emacs <24.4 too, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 4f67ef2 143/346: Add self as maintainer, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 2de6f73 145/346: Fix indentation on Emacs 26, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 1407db2 163/346: Add enums to imenu, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode ace2970 164/346: Fix imenu for functions with parameters defaulting to function calls, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 8d0ed04 172/346: README: Use syntax highlighting in code blocks, ELPA Syncer, 2021/08/29