[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/go-mode a5164ac 055/495: Fix indentation for code after mu
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/go-mode a5164ac 055/495: Fix indentation for code after multi-line function signature |
Date: |
Sat, 7 Aug 2021 09:04:42 -0400 (EDT) |
branch: elpa/go-mode
commit a5164ac8bd7b7a2b3b7c11831b9c381768fe6653
Author: Dominik Honnef <dominikh@fork-bomb.org>
Commit: Dominik Honnef <dominikh@fork-bomb.org>
Fix indentation for code after multi-line function signature
Closes gh-15
---
go-mode.el | 12 ++++++++++--
indentation_tests/gh-15.go | 7 +++++++
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/go-mode.el b/go-mode.el
index 4a6cdb5..14410e6 100644
--- a/go-mode.el
+++ b/go-mode.el
@@ -149,6 +149,12 @@ built-ins, functions, and some types.")
(go--backward-irrelevant t)
(looking-back go-dangling-operators-regexp)))
+(defun go-previous-line-has-opening-parenthesis-p ()
+ (save-excursion
+ (beginning-of-line)
+ (go--backward-irrelevant t)
+ (looking-back "(")))
+
(defun go-indentation-at-point (point)
(save-excursion
(let (start-nesting line-begin (outindent 0))
@@ -163,7 +169,7 @@ built-ins, functions, and some types.")
(>= (go-paren-level) start-nesting))
(skip-chars-backward "^[]{}()")
(backward-char))
- (if (go-previous-line-has-dangling-op-p)
+ (if (or (go-previous-line-has-dangling-op-p)
(go-previous-line-has-opening-parenthesis-p))
(- (current-indentation) tab-width)
(current-indentation)))
(go--backward-irrelevant t)
@@ -185,7 +191,9 @@ built-ins, functions, and some types.")
(go--backward-irrelevant)
(setq line-begin (line-beginning-position)))))
(if (< (go-paren-level) start-nesting)
- (+ (current-indentation) tab-width (- outindent))
+ (if (go-previous-line-has-opening-parenthesis-p)
+ (current-indentation)
+ (+ (current-indentation) tab-width (- outindent)))
(- (current-indentation) outindent)))))))))
(defun go-mode-indent-line ()
diff --git a/indentation_tests/gh-15.go b/indentation_tests/gh-15.go
new file mode 100644
index 0000000..4494ec6
--- /dev/null
+++ b/indentation_tests/gh-15.go
@@ -0,0 +1,7 @@
+package gh15
+
+func somewhatLongFunctionName(
+ arg1 package1.RatherLongTypeName, arg2 package2.AnotherLongTypeName) {
+ return
+}
+
- [nongnu] elpa/go-mode 4372f5d 026/495: teach go-import-add how to uncomment imports, (continued)
- [nongnu] elpa/go-mode 4372f5d 026/495: teach go-import-add how to uncomment imports, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 22427ec 028/495: update documentation, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode cf14ed3 033/495: comment unused function go--common-prefix, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 8e413db 035/495: require diff-mode during compilation, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 572c754 042/495: For continuation lines, do not assume the indentation of a multiline raw string, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 087f58f 043/495: don't expect a line end after labels or cases, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 54a102e 046/495: do not move cursor to beginning of line after indentation, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 1128e71 052/495: do not try to turn off flymake if flymake isn't loaded, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 903768b 053/495: tweak godoc to behave more like help in emacs, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode e78baea 054/495: do not leave point at beginning of line when (not) indenting a comment, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode a5164ac 055/495: Fix indentation for code after multi-line function signature,
ELPA Syncer <=
- [nongnu] elpa/go-mode 72cf126 056/495: fix indentation for multi-line if expressions, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode cfc3d50 058/495: add more test cases, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 63929d2 085/495: get rid of go--flatten, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 850986e 022/495: Do not loop forever in go-beginning-of-defun if point is in comment and there's no function definition before point, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode b91c53e 025/495: save buffer before trying to remove unused imports, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 4371669 029/495: Merge branch 'feature/remove_unused_imports', ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode cd13093 034/495: use inhibit-read-only instead of toggle-read-only, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode b6dfdd4 037/495: Closes gh-5, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 9dbdf22 041/495: Do not skip over strings when checking for dangling operator, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 95c9519 049/495: when searching for anchor for indentation, do not limit search to one line, ELPA Syncer, 2021/08/07