[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/rust-mode 01ac5d8 272/486: Merge pull request #177 from mr
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/rust-mode 01ac5d8 272/486: Merge pull request #177 from mrBliss/handle-comments-method-chains |
Date: |
Sat, 7 Aug 2021 09:25:34 -0400 (EDT) |
branch: elpa/rust-mode
commit 01ac5d8197658c21412acde16df7c39325f03e4d
Merge: 1587839 fba7714
Author: Niko Matsakis <niko@alum.mit.edu>
Commit: GitHub <noreply@github.com>
Merge pull request #177 from mrBliss/handle-comments-method-chains
Handle comments when indenting method chains
---
rust-mode-tests.el | 24 ++++++++++++++++++++++++
rust-mode.el | 11 +++++++++++
2 files changed, 35 insertions(+)
diff --git a/rust-mode-tests.el b/rust-mode-tests.el
index 35a1cbd..2585237 100644
--- a/rust-mode-tests.el
+++ b/rust-mode-tests.el
@@ -1599,6 +1599,19 @@ fn main() {
"
)))
+(ert-deftest indent-method-chains-look-over-comment ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ thing.a.do_it
+ // A comment
+ .aligned
+ // Another comment
+ .more_alignment();
+}
+"
+ )))
+
(ert-deftest indent-method-chains-comment ()
(let ((rust-indent-method-chain t)) (test-indent
"
@@ -1627,6 +1640,17 @@ fn main() { // comment here should not push next line out
"
)))
+(ert-deftest indent-method-chains-after-comment2 ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ // Lorem ipsum lorem ipsum lorem ipsum lorem.ipsum
+ foo.bar()
+}
+"
+ )))
+
+
(ert-deftest test-for-issue-36-syntax-corrupted-state ()
"This is a test for a issue #36, which involved emacs's
internal state getting corrupted when actions were done in a
diff --git a/rust-mode.el b/rust-mode.el
index 2c97433..3f6e279 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -301,6 +301,17 @@ buffer."
(when (looking-at (concat "\s*\." rust-re-ident))
(forward-line -1)
(end-of-line)
+ ;; Keep going up (looking for a line that could contain a method chain)
+ ;; while we're in a comment or on a blank line. Stop when the paren
+ ;; level changes.
+ (let ((level (rust-paren-level)))
+ (while (and (or (rust-in-str-or-cmnt)
+ ;; Only whitespace (or nothing) from the beginning to
+ ;; the end of the line.
+ (looking-back "^\s*" (point-at-bol)))
+ (= (rust-paren-level) level))
+ (forward-line -1)
+ (end-of-line)))
(let
;; skip-dot-identifier is used to position the point at the
- [nongnu] elpa/rust-mode 9812232 236/486: Document how to install on Debian, (continued)
- [nongnu] elpa/rust-mode 9812232 236/486: Document how to install on Debian, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode bfe24d2 237/486: Merge pull request #132 from tomjakubowski/move-module, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 1c37249 238/486: Merge pull request #136 from Stebalien/indent-brace, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode bd44088 239/486: Merge pull request #138 from kraai/upstream, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 18fad39 242/486: Merge pull request #142 from tromey/remove-emacs-23-support, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode eafb7a0 248/486: Properly fix #151, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode b23efef 249/486: Merge pull request #153 from mrBliss/fix-151, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 4fce178 251/486: Merge pull request #154 from nikomatsakis/new-errors, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode e6eceea 253/486: Add macro_rules names to imenu, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 5cfb919 265/486: Merge pull request #165 from nikomatsakis/new-errors, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 01ac5d8 272/486: Merge pull request #177 from mrBliss/handle-comments-method-chains,
ELPA Syncer <=
- [nongnu] elpa/rust-mode c091852 283/486: Merge pull request #180 from MicahChalmer/melpa-stable-readme, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 8039d12 286/486: Merge pull request #191 from Wooble/readme_link, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 0de149a 287/486: Merge pull request #190 from mrBliss/imenu-extern, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode ee7043b 289/486: Use syntax-propertize-function, not font-lock-syntactic-keywords, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode d7458c2 290/486: set open-paren-in-column-0-is-defun-start to nil, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 4d651ab 295/486: Merge pull request #197 from tromey/syntax-propertize, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 85befb9 296/486: Merge pull request #201 from tromey/question-indentation, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 5469d9b 297/486: fix rust indentation bug, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 367a89c 299/486: Allow formatting with long lines, ELPA Syncer, 2021/08/07
- [nongnu] elpa/rust-mode 610fe1f 305/486: Address review comments, ELPA Syncer, 2021/08/07