[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/rust-mode d3a7025 377/486: Merge pull request #292 from mo
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/rust-mode d3a7025 377/486: Merge pull request #292 from mookid/imenu-impl |
Date: |
Sat, 7 Aug 2021 09:25:56 -0400 (EDT) |
branch: elpa/rust-mode
commit d3a70256fe560bcc463ed42e4259e9fce0fdfee3
Merge: 12cb169 b445737
Author: Felix S Klock II <pnkfelix@pnkfx.org>
Commit: GitHub <noreply@github.com>
Merge pull request #292 from mookid/imenu-impl
imenu: handle lifetimes in impl blocks.
---
rust-mode-tests.el | 14 ++++++++++++++
rust-mode.el | 6 +++++-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/rust-mode-tests.el b/rust-mode-tests.el
index 64d65c4..9d87960 100644
--- a/rust-mode-tests.el
+++ b/rust-mode-tests.el
@@ -3061,6 +3061,20 @@ extern \"rust-intrinsic\" fn five() {
"four"
"five"))))
+(ert-deftest rust-test-imenu-impl-with-lifetime ()
+ (test-imenu
+ "
+impl<'a> One<'a> {
+ fn one() {}
+}
+
+impl Two<'a> {
+ fn two() {}
+}
+"
+ '(("Impl" "One" "Two")
+ ("Fn" "one" "two"))))
+
(when (executable-find rust-cargo-bin)
(ert-deftest rust-test-project-located ()
(lexical-let* ((test-dir (expand-file-name "test-project"
default-directory))
diff --git a/rust-mode.el b/rust-mode.el
index 8af6610..a8af671 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -39,6 +39,8 @@
(defconst rust-re-vis "pub")
(defconst rust-re-unsafe "unsafe")
(defconst rust-re-extern "extern")
+(defconst rust-re-generic
+ (concat "<[[:space:]]*'" rust-re-ident "[[:space:]]*>"))
(defconst rust-re-union
(rx-to-string
`(seq
@@ -561,7 +563,9 @@ buffer."
(defun rust-re-grab (inner) (concat "\\(" inner "\\)"))
(defun rust-re-shy (inner) (concat "\\(?:" inner "\\)"))
(defun rust-re-item-def (itype)
- (concat (rust-re-word itype) "[[:space:]]+" (rust-re-grab rust-re-ident)))
+ (concat (rust-re-word itype)
+ (rust-re-shy rust-re-generic) "?"
+ "[[:space:]]+" (rust-re-grab rust-re-ident)))
(defun rust-re-item-def-imenu (itype)
(concat "^[[:space:]]*"
(rust-re-shy (concat (rust-re-word rust-re-vis) "[[:space:]]+")) "?"
- [nongnu] elpa/rust-mode ef152ad 459/486: Minor fixes (#388), (continued)
- [nongnu] elpa/rust-mode ef152ad 459/486: Minor fixes (#388), ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 0797e7b 017/486: add Url, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 5375e54 454/486: Test byte compilation of test code., ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 33d178d 030/486: Make 'foo use font-lock-builtin-face, like module names, and make capitalized identifiers optionally use font-lock-type-face, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 9e2221c 034/486: Fix typo, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 8f926be 031/486: Emacs: Update emacs mode to be more similar to the vim mode., ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode cfb4408 354/486: Merge pull request #258 from sebastiencs/master, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode b861aa9 358/486: Fixed indent when ? operator is used in chained method calls, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 31b8453 361/486: update to include line number and column information, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 3254297 366/486: Bump version, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode d3a7025 377/486: Merge pull request #292 from mookid/imenu-impl,
ELPA Syncer <=
- [nongnu] elpa/rust-mode dd231ed 383/486: Avoid signaling "Beginning of buffer" in rust-lookng-back-macro, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode b7237b0 405/486: Add rust-format-diff-buffer, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 10ba29e 406/486: Silence byte-compiler, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode c8217a3 425/486: Fix rust-insert-dbg for emacs-version < 25. (#339), ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 0e25008 043/486: rust-mode: Default rust-indent-offset to 4, not default-tab-width, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 679501e 056/486: Cover all cases for padding in paragraph fills as intended, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode bee96e8 067/486: Fix emacs indentation of multi-line match patterns, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 9d8dff8 077/486: Use defvar for rust-top-item-beg-re instead, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode e2cd79b 084/486: auto merge of #14818 : tomjakubowski/rust/emacs-attributes-key-value, r=pnkfelix, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 9672625 066/486: Added more scripts to tidy check, ELPA Syncer, 2021/08/07